すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:Alibaba Cloud Linux 2 (EOL) の使用

最終更新日:Nov 04, 2024

Container Service for Kubernetes (ACK) では、Alibaba Cloud Linux 2オペレーティングシステムを実行するノードを作成できます。 これらのノードは、Alibaba Cloud Linux 2の高性能カーネルを活用して、さまざまなシナリオに最適化されたソリューションを提供します。 このトピックでは、ACKクラスターでAlibaba Cloud Linux 2を使用する利点と、さまざまなシナリオの要件を満たすためにACKによって提供されるAlibaba Cloud Linux 2の最適化について説明します。

重要

Alibaba Cloud Linux 2は、2024年3月31日00:00:00に廃止されました。 クラスターまたはノードプールを作成するときは、オペレーティングシステムとしてAlibaba Cloud Linux 3またはContainerOSを選択することを推奨します。 Alibaba Cloud Linux 2のEOL (EOL) の詳細については、「 [製品の変更] Alibaba Cloud Linux 2およびCentOS 7の廃止」をご参照ください。

背景情報

Alibaba Cloud Linux 2は、Alibaba Cloudによって開発された次世代独自のLinuxディストリビューションです。 このオペレーティングシステムは、クラウドアプリケーションに安全で安定した高性能のカスタマイズ環境を提供します。 Alibaba Cloud Linux 2は、クラウドインフラストラクチャ向けに最適化されており、より優れたランタイムエクスペリエンスを提供するように設計されています。 Alibaba Cloud Linux 2イメージは無料で使用でき、Alibaba Cloudはイメージの長期テクニカルサポート (LTS) を提供しています。

メリット

Alibaba Cloud Linux 2は、Alibaba Cloud IaaSプラットフォームを最大限に活用するために開発され、さまざまな最適化と機能と統合されています。

  • Alibaba Cloudで最速のブート時間を持つLinuxディストリビューション。

  • 高度な仕様の仮想マシンとベアメタルサーバー向けに深く最適化されています。 これは、大規模なインスタンスを含むマルチタスクシナリオに最適です。

  • Alibaba Cloud CLIやcloud-initなどの一般的に使用される管理ソフトウェアがプリインストールされています。 これにより、クラウドリソース管理のコストが削減されます。

  • 攻撃対象とシステムリソースの占有を最小限に抑える合理化されたカーネル。

  • Alibaba Cloudでマルチチャネル技術サポートを提供する最適化された技術サポートシステム。

  • Common vulnerabilities and Exposures (CVE) に基づいて、最も早い機会に脆弱性の修正を提供します。

  • カーネルのライブパッチをサポートします。 これにより、脆弱性の修正時にサービスの継続性が保証されます。

Alibaba Cloud Linux 2は、Alibaba Cloud Linux 2を実行するインスタンスに次のパフォーマンスメリットをもたらします。

  • CentOS 7と比較して、ECSインスタンスのシステムブート時間を大幅に短縮し、システムオーバーロードが検出されたときにコンピューティングリソースをスケールアウトし、システムブート時間を29% 短縮します。

  • ECSインスタンスのマルチタスク最適化を提供し、大規模インスタンスのパフォーマンスを16% で向上させます。

  • 11% によるシステムスケジューリングの効率を向上させます。

  • Linuxネットワークスタックを最適化し、CentOS 7と比較して7.8% のネットワークパフォーマンスを向上させます。

  • 頻繁なインターネットアクセスが必要なシナリオでは、帯域幅の安定性が向上します。 Alibaba Cloud Linux 2では、コンテナーの輻輳制御アルゴリズムをBottleneck BandwidthおよびRound-trip Propagation Time (BBR) 輻輳制御アルゴリズムに変更できます。 すべてのAlibaba Cloud Linux 2イメージにはBBRコンパイルが付属しています。

  • TLSプロトコルに基づいて暗号化を最適化します。

  • ディスク遅延を削減するために、予算フェアキュー (BFQ) I/Oスケジューラをサポートします。

さまざまなシナリオでのACKの最適化

Alibaba Cloudは、コンテナ化されたワークロードがサービスを中断することなく、より多くのコンテナタスクをサポートできるようにするカーネル最適化を提供します。 ACKは、さまざまなシナリオでコンテナ化されたワークロードの速度と安定性を向上させる他の最適化を提供します。 これらの最適化は、Alibaba Cloud Linux 2およびこのオペレーティングシステムのカーネルによって提供される最適化に基づいています。

  • IP仮想サーバー (IPVS)

    • シナリオ1: IPVSモードは、64を超えるvCPUと多数の仮想IPアドレスを持つ高仕様インスタンスで有効になっています。

      問題点: IPVSモードでは、推定タイマは、各接続の伝送速度を周期的に計算する。 多数の接続が確立されると、この動作はCPUを長時間占有する可能性がある。 これは、パケット受信を遅延させ、200ミリ秒のピング時間をもたらす。

      解決策: ノードへのIPVS推定タイマーをスケジュールし、sysctlコマンドを追加してIPVS推定タイマーを無効にします。

      効果: 推定タイマーによって引き起こされるレイテンシはもはや存在しません。

    • シナリオ2: ローリング更新の実行

      問題: ローリング更新中、5タプルが変更されず、新しいTCP SYNパケットが元のIPVS 5タプルの接続レコードと一致する場合、IPVSはSYNパケットをドロップします。 しかしながら、SYNパケットは、新しい宛先アドレスに送信される必要がある。 これにより、SYNパケットの再送信と1秒の待ち時間が発生します。

      解決策: 新しいconntrackエントリが存在する場合は、conntrackテーブルのTIME_WAIT状態にある接続を解放し、接続を新しい接続に置き換えます。

      効果: ネットワークトラフィックはほとんど遅延なしで実際のサーバーに切り替えることができます。

  • CoreDNS

    シナリオ1: 多数のDNSクエリが完全なconntrackテーブルになる

    問題: アプリケーションが静的アドレスまたはポートを照会するためにDNS要求を送信すると、conntrackエントリがストリームモードに変わります。 DNSクエリはUDPプロトコルを使用します。 UDPはステートレスで高速であり、接続を確立するために事前の通信を必要としません。 これにより、不要になった多数のUDP conntrackエントリが作成されます。 これらのUDP接続トラック・エントリが適時に削除されない場合、接続トラック・テーブルは一杯になる可能性がある。 これはNAT性能を低下させる。

    解決策:

    • UDP接続が2秒以上続く場合、Conntrackエントリはストリームモードに設定されます。 これは、conntrackエントリの急激な増加を回避する。

    • UDP conntrackの有効期間を180秒から120秒に短縮します。 これにより、conntrackエントリに対するUDP要求の影響が軽減されます。

    効果: テスト環境では、UDP conntrackエントリの数が50% 減少します。

  • コンテナネットワーキング

    TerwayネットワークプラグインはIPVLANドライバをサポートしています。これにより、従来のブリッジインターフェイスやポリシーベースのルーティング (PBR) と比較して、ショートパケット通信のネットワークパフォーマンスが40% に向上します。 デフォルトでは、BBR輻輳制御アルゴリズムはAlibaba Cloud Linux 2でコンパイルされます。 頻繁なインターネットアクセスが必要なシナリオでは、コンテナの輻輳制御アルゴリズムをBBRに変更して、インターネットアクセスの帯域幅の安定性を向上させることができます。 これにより、コンテナがインターネットと通信するとき、またはACKがインターネットから画像をプルするときの効率が大幅に向上します。

  • コンテナセキュリティ

    Alibaba Cloudは、Kata ContainersおよびClear Linuxコミュニティとのパートナーシップを確立しています。 ECSベアメタルインスタンスにKata Containersソリューションをデプロイできます。 ACKは、runVコンテナのブート時間を短縮するための最適化も提供します。 これにより、Kata Containersソリューションが期待どおりに機能します。 ACKは、サンドボックスコンテナーを実行するクラスターも提供します。 このタイプのクラスターは、通常のクラスターと同様のユーザーエクスペリエンスを提供します。 アプリケーションを軽量サンドボックス環境にデプロイして、複数のテナントのワークロードを分離できます。 サンドボックスコンテナーを使用して、信頼できないアプリケーションを分離することもできます。 Sandboxed-Containerはセキュリティを向上させ、アプリケーションのパフォーマンスにほとんど影響を与えません。

  • AutoScaler

    Alibaba Cloud Linux 2は、ECSインスタンスのシステムブート時間を短縮します。 平均システムブート時間は、CentOS 7と比較して60% 短縮されます。 システムが過負荷になると、自動スケーリング機能によりECSインスタンスをスケールアウトして、より多くのACKクラスターを作成できます。 その後、ACKはアプリケーションインスタンスをスケジュールして開始します。 Alibaba Cloud Linux 2では、予期しないトラフィックの急増に対処するためのコンピューティングリソースの迅速なスケールアウトも提供しています。

  • リソースの監視と制御

    Alibaba Cloud Linux 2のカーネルは、コンテナーのきめ細かいリソース可視化および制御機能を提供します。 機能には、PSI圧力メトリック、cgroupごとのkswapd、およびメモリ優先度が含まれます。 Alibaba Cloud Linux 2を実行するACKクラスターでは、CGroupコントローラーを使用して、機能の採用、きめ細かなリソース設定の実装、BufferIO Control、TCP、CPUSet、Mem、NUMAなどのツールに加えたオンザフライの調整を実行できます。 これは、リソース利用における段階的な改善を提供し、アプリケーション間の干渉を最小化する。

  • AIとデータアクセラレーション

    Alibaba Cloud Linux 2では、大規模インスタンスが高性能コンピューティングタスクをはるかに高速に処理できます。 このオペレーティングシステムは、ストリーミングの読み取りと書き込みを最適化して、大きなモデルファイルの読み取りと書き込みの効率を向上させます。 これにより、AI支援の高性能コンピューティングが大幅に加速されます。 ステージング環境には、次のデータが記録されます。

    • テスト: Alluxioを使用して、64スレッドを超えるサイズが144 GBの1,152のOSSオブジェクトをロードします。 CentOSインスタンスは、この操作を完了するのに3分25秒かかります。 Alibaba Cloud Linux 2インスタンスは、この操作を完了するのに2分19.037秒しか必要としません。 これは、Alibaba Cloud Linux 2がCentOSよりも1.6倍高速であることを示しています。

    • テスト: バッチサイズが128のResNet50モデルをトレーニングし、データをAlluxioにキャッシュします。 NVIDIA V100 GPUを搭載したCentOSインスタンスは、5,212.00イメージ /秒の速度を実現できます。 対照的に、NVIDIA V100 GPUを搭載したAlibaba Cloud Linux 2インスタンスは、8,746.59イメージ /秒の速度を達成できます。 Alibaba Cloud Linux 2は、CentOSよりも1.7倍高速です。

  • リソースの可視性

    複数のコンテナーがホストサーバーに存在し、ホスト上のリソースに直接アクセスできます。 この結果、アプリケーションはリソースを求めて競合する。 Alibaba Cloud Linux 2は、リソースの可視性を向上させ、個々のコンテナのリソース使用状況に関する情報を提供するために、カーネルのcgroup機能の最適化を提供します。 top、cpuinfo、meminfoなどのコマンドからのリソース情報などのリソース情報は、リソースの監視と計画を合理化するために提供されます。

  • その他

    • Alibaba Cloud Linux 2は、Linuxカーネル4.19上に構築されています。 ACKは、Alibaba Cloud Linux 2をAlibaba Groupのコア機能とコンテナー化のベストプラクティスと統合します。

    • OverlayFSの性能損失は低減され、ストレージ内のコンテナ化によって引き起こされる損失は最小化される。

    • ほとんどのシナリオでは、sysctlsは名前空間です。 カーネル4.19では、ほとんどのsysctlはポッドで個別に構成できます。 これにより、アプリケーションごとに異なるTCPタイムアウト値を設定し、タイムアウト値を再送信できます。 CentOS 7ではこれらのパラメーターは変更できません。 Alibaba Cloud Linux 2では、これらのパラメーターをポッドに設定できます。

ノードオペレーティングシステムをAlibaba Cloud Linux 2に設定する

ACKコンソールでACKクラスターを作成するときは、オペレーティングシステムAlibaba Cloud Linux 2.1903に設定します。 これにより、Alibaba Cloud Linux 2をクラスター内のノードのオペレーティングシステムイメージとして使用できます。 詳細については、「ACK管理クラスターの作成」をご参照ください。

説明

Alibaba Cloud Linux 2を選択すると、ACKはAlibaba Cloud Linux 2のセキュリティパッチを自動的にチェックし、クラスターの作成時、クラスターの拡張時、またはクラスターへのノードの追加または削除によるクラスターのスケール時にパッチをインストールします。