デフォルトの containerd 構成がビジネス要件を満たさない場合は、ノードプール内のノードの containerd 構成をカスタマイズできます。たとえば、特定のイメージリポジトリに対して複数のミラーリポジトリを構成したり、コンテナイメージをプルする際にコンテナーランタイムが証明書認証をスキップするように構成したりできます。
制限事項
ノードプールは、コンテナーランタイムとして containerd 1.6.20 以降を使用する必要があります。containerd のバージョンが 1.6.20 より前の場合は、ノードプールをアップグレードする必要があります。
注意事項
カスタム containerd 構成は、ノードにバッチで適用されます。変更は、ノードプール内の既存のノードですぐに有効になります。ノードプールに追加された新しいノードも、新しい構成を使用します。
コマンドラインを使用してカスタマイズ可能な containerd パラメーターを変更しないでください。ACK はこれらの操作をインターセプトし、有効になるのを防ぎます。コマンドラインからこれらのパラメーターを変更した場合は、元の値に戻す必要があります。
カスタム containerd 構成が有効になると、システムは自動的に構成をフォーマットし、不適切な構文を修正します。
カスタマイズ可能な containerd パラメーター
カスタムコンテナーランタイム構成
パラメーター | 説明 | タイプ | 値の説明 |
| 同時イメージレイヤーダウンロードの最大数。この値を増やすと、複数レイヤーのイメージのプルが高速化されますが、ネットワークおよび I/O 負荷も増加します。 | Int |
|
| イメージ内の | Bool | デフォルト値:true |
| コンテナー内のプロセスがコアダンプを作成するときに生成されるコアファイルの最大サイズ (バイト単位)。 キー値:
| Int |
|
| コンテナーが開くことができるファイル記述子の最大数。 | Int |
|
| コンテナー内のプロセスがロックできるメモリの最大量 (バイト単位)。 | Int |
|
レジストリミラー
説明 | 構成の提案 |
イメージリポジトリにミラーリポジトリを構成して、イメージのプルを高速化します。これにより、コンテナーランタイムは指定されたミラーリポジトリからイメージをプルできます。 この構成では、コンテナーの再起動は必要ありません。 |
|
信頼できないレジストリ
説明 | 構成の提案 |
指定されたイメージリポジトリからコンテナイメージをプルするときに、コンテナーランタイムが証明書認証をスキップできるようにします。これは通常、自己署名証明書を使用するリポジトリからイメージをプルするためにステージング環境で使用されます。 この構成では、コンテナーの再起動は必要ありません。 |
|
コンソールでのノードプールの containerd 構成のカスタマイズ
containerd 構成を変更しても、既存のコンテナーには影響しません。クラスターの安定性を確保するために、この操作はオフピーク時に実行することを推奨します。
ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
「ノードプール」ページで、対象のノードプールの [アクション] 列で
> [Containerd 設定] をクリックします。ページ上の注意事項を読みます。指示に従って、必要なパラメーターを追加し、ターゲットノードを指定し、バッチ構成ポリシーを設定します。その後、[送信] をクリックします。
詳細については、「構成例」をご参照ください。
カスタムコンテナーランタイム構成を削除すると、パラメーターは自動的にデフォルト値に復元されます。
構成を送信すると、変更はノードにバッチで適用されます。このプロセスには時間がかかります。イベントリストで進行状況を表示し、プロセスを管理できます。たとえば、タスクの一時停止、再開、またはキャンセルができます。ノードでタスクが失敗した場合は、ノードのトラブルシューティングを行い、[続行] をクリックして操作をリトライできます。
一時停止機能を使用して、アップグレードされたノードを検証できます。タスクを一時停止すると、更新中のノードは構成プロセスを完了します。まだ更新されていないノードは、タスクを再開するまで構成されません。カスタム構成タスクはできるだけ早く完了してください。一時停止されたタスクは 7 日後に自動的にキャンセルされ、関連するイベントとログはクリアされます。
構成例
docker.io のミラーリポジトリの構成 | 証明書認証をスキップするプライベートリポジトリの指定 | HTTP プライベートイメージリポジトリの構成 |
|
|
|
よくある質問
containerd パラメーターのカスタマイズはサービスに影響しますか?
変更は実行中の Pod には影響しません。新しい構成は、変更が適用された後に作成される Pod にのみ有効になります。この操作はオフピーク時に実行することを推奨します。
既存の Pod に新しい構成を適用するには、手動で再作成する必要があります。
containerd のパラメーターをカスタマイズする際に、not match XXX または must be between XXX というエラーが表示された場合はどうすればよいですか?
一般的な理由は次のとおりです:
must be between XXX:パラメーターの値またはフォーマットが無効です。たとえば、フォーマットが正しくないか、値が有効範囲外である可能性があります。not match XXX:このエラーは、コマンドラインから構成ファイルを変更したことを示します。ACK はこのような変更をインターセプトします。パラメーターを元の値に戻す必要があります。
関連ドキュメント
ノードプールの自動運用保守 (O&M) 機能の詳細については、「自動運用保守 (O&M) 機能」をご参照ください。
ノード、Pod、containerd、または kubelet でエラーが発生した場合や例外が報告された場合は、「ノード例外のトラブルシューティング」、「Pod 例外のトラブルシューティング」、および「ノードとノードプールに関するよくある質問」をご参照ください。


