大規模なコンテナクラスターでは、イメージプルの速度はイメージレジストリの帯域幅によって制限されることがよくあります。このトピックでは、Container Registry Enterprise Edition インスタンスで P2P モジュールを有効にする方法について説明します。次に、バージョン 1.33 以降を実行する ACK クラスターのノードプールに ack-p2pagent アドオンをインストールします。ノード間の P2P 配布によりイメージプルが高速化され、アプリケーションのデプロイ時間が短縮されます。
背景情報
大規模なコンテナクラスターでイメージを一括でプルする場合、イメージレジストリのネットワーク帯域幅がパフォーマンスのボトルネックとなり、イメージプルが遅くなります。P2P 加速では、コンピュートノードの帯域幅を使用してノード間でイメージを配布します。これによりイメージレジストリの負荷が軽減され、イメージプルが大幅に高速化され、アプリケーションのデプロイ時間が短縮されます。
テスト結果によると、1,000 ノードのクラスターで 1 GB のイメージをプルする場合、P2P 加速は (帯域幅 10 Gbps の場合を例として) 標準のイメージプルと比べてイメージプル時間を 95% 以上短縮し、デフォルトで P2P 加速による コンテナイメージのオンデマンドロード をサポートします。
適用範囲
クラスターが ACK マネージドクラスターまたは ACK 専用クラスター であり、クラスターのバージョンが 1.33 以降であること。
クラスターのノード上の containerd バージョンが 2.1.4 以降であること。
ACR Enterprise Edition instances は、Advanced Edition のみがサポートされます。
ステップ 1:P2P モジュールの有効化と P2P アクセス IP アドレスの取得
Container Registry console にログインします。
上部メニューで、目的のリージョンを選択します。
左側メニューで、インスタンス を選択します。
インスタンス ページで、対象の Enterprise Edition インスタンスをクリックします。
概要 ページで、インスタンス ID を控えます。コンポーネントの設定 セクションで、P2P アクセラレーション トグルをオンにします。表示されるダイアログボックスで、OK をクリックします。
警告P2P 加速をオフにする前に、P2P 機能の使用を停止し、インストール先のすべてのクラスターから P2P アドオンをアンインストールしてください。P2P 加速を再度有効にするには、P2P アドオンを再インストールする必要があります。
P2P 加速を有効にした後、左側メニューで アクセス制御 を選択し、VPC リストから P2P アクセス IP アドレスを取得します。
説明ACK クラスターの VPC が Container Registry Enterprise Edition インスタンスに設定されていることを確認してください。また、P2P アクセス IP アドレスが ACK クラスターが存在する VPC に対応していることを確認してください。
ステップ 2:ACK ノードプールへの ack-p2pagent アドオンのインストール
Container Service for Kubernetes console にログインします。
上部メニューで、目的のリージョンを選択します。
左側メニューで、クラスターリスト を選択します。
クラスターリスト ページで、対象クラスターの名前をクリックします。
左側メニューで、 を選択し、対象のノードプール名をクリックします。
説明既存のノードプールにインストールする前に、新しいノードプールで ack-p2pagent アドオンを検証してください。
ノードコンポーネント を選択し、ノードコンポーネントのインストール をクリックします。ack-p2pagent を選択し、p2pRoot フィールドにステップ 1 で取得した P2P アクセス IP アドレスを入力します。次の表では、ack-p2pagent アドオンの一部パラメーターについて説明します。
P2P Agent モニタリングダッシュボードにアクセスするには、
[Prometheus モニタリングメトリクスを有効化]も選択し、画面の指示に従ってインストールを完了してください。filecache パラメーター
デフォルト値 (ディスクモード)
デフォルト値 (メモリモード)
説明
blocksize
256
256
OSS データソースに対する各リクエストのシャードサイズ。
capacity
4294967296
0
ディスクキャッシュサイズ。
optionBlockSize
67108864
8589934592
メモリキャッシュサイズ:
ディスクモードでは、このパラメーターは P2P の 2 階層キャッシュ (メモリ + ディスク) におけるメモリバッファーサイズを定義します。
メモリモードでは、この値がメモリバッファーサイズです。
memoryCacheCapacityGB
1
8
ディスクモードではこのパラメーターは使用されません。設定は無視されるため、デフォルト値のままにしてください。
メモリモードでは、この値は
optionBlockSizeの GB 換算値です。
aio
0
0
libaio を有効にするかどうかを指定します。このパラメーターはディスクモードでのみ有効で、メモリモードでは無効です。
ESSD AutoPL ディスクまたは ESSD PL3 ディスクを使用する場合、このパラメーターを有効にするとパフォーマンスが向上します。
ESSD PL0 ディスクまたは ESSD PL1 ディスクを使用する場合、aio のフラッシュ時間が長いため、P2P ネットワーク全体で多数のタイムアウトエラーが発生します。
(オプション) ステップ 3:P2P Agent モニタリングダッシュボードへのアクセス
課金
クラスターのモニタリングデータを Alibaba Cloud Prometheus と統合すると、関連するアドオンがモニタリングメトリクスを Alibaba Cloud Prometheus に自動的に送信します。これらのメトリクスは カスタムメトリクス として扱われます。カスタムメトリクスには追加料金が発生します。
想定外の課金を避けるため、この機能を有効にする前に Managed Service for Prometheus の 課金概要 を確認し、カスタムメトリクスの料金を把握してください。料金は、クラスター規模やアプリケーション数などの要因によって異なります。resource usage statistics 機能を使用して、リソース使用量をモニタリングおよび管理できます。
手順
Container Service for Kubernetes console にログインします。
上部メニューで、目的のリージョンを選択します。
左側メニューで、クラスターリスト を選択します。
クラスターリスト ページで、対象クラスターの名前をクリックします。
左側メニューで、 を選択し、ページが初期化されるまで待ちます。
ページ右上で、採集配置 をクリックします。アクセス管理 ページで、[Access Center] をクリックします。
アクセスセンターの検索ボックスで [P2P Agent Monitoring] を検索します。検索結果の [P2P Agent Monitoring] カードをクリックします。
[P2P Agent Monitoring] パネルで、ドロップダウンリストからモニタリングするクラスターを選択し、OK をクリックして [P2P Agent Monitoring] を有効にします。
ページに戻ります。その他 タブをクリックし、[P2P-Legacy Dashboard] および [P2P-NG Dashboard] タブを見つけて、[P2P Agent Monitoring] ダッシュボードを表示します。