デフォルトの containerd 設定がワークロードに不十分な場合、ノードプールの containerd パラメーターをカスタマイズできます。たとえば、特定のイメージレジストリに対して複数のレジストリミラーを設定したり、イメージレジストリの証明書検証をスキップするようにシステムを設定したりできます。
制限事項
この機能は、コンテナランタイムとして containerd 1.6.20 以降を使用するノードプールでのみ利用できます。それより前のバージョンを使用している場合は、アップグレードする必要があります。
注意事項
カスタム containerd 設定は、ノードにバッチで適用されます。これらの変更は既存のノードに即座に反映され、新しいノードにも自動的に適用されます。
コマンドラインから カスタマイズ可能な containerd パラメーター を変更しないでください。Container Service for Kubernetes (ACK) はこれらの変更をブロックします。このような変更を元に戻す必要があります。
カスタム containerd 設定を適用する際、システムは非標準の構文を自動的に修正します。
カスタマイズ可能な containerd パラメーター
カスタムコンテナランタイム設定
パラメーター | 注 | タイプ | 値 |
| 同時にダウンロードできるイメージレイヤーの最大数。この値を増やすと、複数レイヤーのイメージのプルが高速化されますが、ネットワークと I/O の負荷も増加します。 | Int |
|
|
| Bool | デフォルト値:true |
| コンテナー化されたプロセスがコアダンプする際に生成できるコアダンプファイルの最大サイズ (バイト単位)。 主な値:
| Int |
|
| コンテナー内で開くことができるファイルディスクリプタの最大数。 | Int |
|
| コンテナー内のプロセスがロックできるメモリの最大量 (バイト単位)。 | Int |
|
[コンテナーイメージリポジトリのミラーサイト設定 (Registry Mirrors)]
説明 | 推奨事項 |
イメージレジストリに対してレジストリミラーを設定することで、コンテナランタイムが代替レジストリからイメージをプルして、イメージプルを高速化できます。 各レジストリミラーは、 この変更では、コンテナーを再起動する必要はありません。 |
|
[証明書認証がスキップされたコンテナイメージリポジトリ (Insecure Registries)]
説明 | 推奨事項 |
イメージをプルする際、指定したイメージレジストリに対してコンテナランタイムが証明書検証をスキップできるようにします。この設定は、自己署名証明書を使用するレジストリからイメージをプルするテスト環境を対象としています。 この変更では、コンテナーを再起動する必要はありません。 |
|
操作手順
containerd 設定の変更は既存のコンテナーに影響しません。クラスターの安定性を確保するため、この操作はピーク時間外に実行することを推奨します。
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
[ノードプール] ページで目的のノードプールを見つけ、そのアクション 列で
> Containerd 設定 を選択します。注意事項を読み、画面の指示に従ってパラメーターの追加、ターゲットノードの指定、バッチポリシーの設定を行い、送信 をクリックします。
以下の設定例をご参照ください。
カスタムコンテナランタイム設定を削除すると、自動的にデフォルト値に戻ります。
送信後、設定はノードにバッチで適用されるため、時間がかかります。[イベントレコード] エリアで進行状況を監視し、更新の一時停止、再開、キャンセルなどの管理を行うことができます。ノードの更新が失敗した場合は、問題をトラブルシューティングし、続行 をクリックして再試行してください。
更新を一時停止すると、すでに更新されたノードで変更を検証できます。一時停止中は、現在更新中のノードは完了しますが、新しい更新はタスクを再開するまで延期されます。設定タスクはできるだけ早く完了することを推奨します。一時停止されたタスクは 7 日後に自動的にキャンセルされ、関連するすべてのレコードとログが削除されます。
設定例
docker.io のミラー | 非セキュアなプライベートレジストリ | HTTP プライベートレジストリ |
[レジストリミラー] セクションで、[イメージレジストリ] に | [非セキュアなレジストリ] セクションで、[イメージレジストリ] フィールドに、 | [レジストリミラー] セクションで、[イメージレジストリ] にプライベートレジストリアドレス (例: |
よくある質問
カスタム containerd 設定は実行中のサービスに影響しますか?
いいえ。 変更は実行中の Pod には影響せず、更新後に作成された Pod にのみ適用されます。この操作はピーク時間外に実行することを推奨します。
新しい設定を既存の Pod に適用するには、手動で再作成する必要があります。
エラー: not match XXX または must be between XXX
このエラーは通常、次の理由で発生します。
XXX の範囲内である必要があります: 入力した値は無効です。値の形式が正しく、許容範囲内であることをご確認ください。not match XXX:サポートされていない変更方法が使用されています。 ACK は、コマンドラインから設定ファイルを直接変更することをブロックします。ファイル内のパラメーターを元の値に戻してください。
関連トピック
ノードプールでサポートされている自動 O&M 機能の詳細については、「自動 O&M 機能」をご参照ください。
ノード、Pod、containerd、または kubelet でエラーや異常が発生した場合は、ノードの問題のトラブルシューティング、Pod の問題のトラブルシューティング、およびノードとノードプールの FAQをご参照ください。