VPC環境で利用できます。
Ncloud Kubernetes Serviceの利用中に次のような問題が発生することがあります。問題ごとの原因と解決方法を確認し、適切に対処してください。
Podの作成時に ImagePullBackOffステータスが発生
Podの作成時に ImagePullBackOffステータスが発生します。
原因
imagePullBackOffステータスは、Podが使用するイメージを取得できなかった場合に発生します。詳細な原因を把握する必要があります。
解決方法
- イメージ名やタグが正しくない場合、イメージを取得できません。イメージ名やタグをご確認ください。
- プライベートレジストリからイメージを取得時、認証を実行できない場合はイメージを取得できません。正しい
imagePullSecretsを使用しているかご確認ください。Container Registryサービスを使用する場合は、Container Registry情報の確認と管理を参照して、imagePullSecretsを作成してください。 - DockerHubイメージダウンロードポリシーにより阻止された場合、イメージを正常に利用できません。有料サブスクリプションモデルを使用するか、プライベートレジストリをご利用ください。
- Private Subnetを使用する Kubernetes Clusterの場合、イメージを使用するためにアウトバウンドトラフィックが有効になっている必要があります。アウトバウンドトラフィックを有効にする方法は、次の通りです。
- NAT Gateway (Old)
- NAVERクラウドプラットフォームコンソールの VPC環境で、
> Services > Networking > VPC > **NAT Gateway(Old)**メニューを順にクリックします。 - NAT Gatewayを作成します。
- NAVERクラウドプラットフォームコンソールの VPC環境で、
> Services > Networking > VPC > Route Tableメニューを順にクリックします。 - インターネット通信が必要な Private Subnetの Route Tableを選択し、 [Routes設定] ボタンをクリックします。
- 外部通信のためのルーティングルールを追加します。
- Destination: 目的地のパブリック IPアドレスを CIDR形式で入力(例えば、インターネット全体が通信対象である場合は0.0.0.0/0と入力)
- Target Type: 目的地と通信するために以下の Hopタイプを選択(NAT Gateway)
- Target Name: 作成した NAT Gateway名を選択
- [作成] ボタンをクリックします。
- NAVERクラウドプラットフォームコンソールの VPC環境で、
- NAT Gateway (New)
- NAVERクラウドプラットフォームコンソールの VPC環境で、
> Services > Networking > VPC > **NAT Gateway(New)**メニューを順にクリックします。 - パブリック NAT Gatewayを作成します。
- NAVERクラウドプラットフォームコンソールの VPC環境で、
> Services > Networking > VPC > Route Tableメニューを順にクリックします。 - NAT Gatewayを介して通信するネットワークパスを設定します。
- NAVERクラウドプラットフォームコンソールの VPC環境で、
- NAT Gateway (Old)
特定の Podで DNSの照会が断続的に失敗したり、タスクが遅延する
特定の Podで DNSの照会が断続的に失敗したり、タスク時間が長くなったりします。
原因
当該 Podで使用するイメージに問題がある場合に発生します。
解決方法
DNS照会に失敗したりクエリ処理に問題がある場合、当該 Podが使用するイメージをご確認ください。
- Alpine Linuxベースのコンテナイメージ
- dnsConfigを適用して解決
spec: ... dnsConfig: options: - name: single-request-reopen - BusyBoxベースのコンテナイメージ
- busybox 1.28ベースのイメージを使用することで解決
上記のようなイメージを使用する場合、DNSクエリ処理時に問題が発生する可能性があります。イメージ内部の問題である場合、NAVERクラウドプラットフォームでは解決できないため、他のコンテナイメージを使用するか、DNS設定を変更してください。
リソース削除の遅延
クラスタ内部のリソースが削除されなかったり長い時間がかかります。
原因
主に削除しようとするリソースに finalizerが設定されている場合、またはリソース間の依存関係によって発生します。
解決方法
リソースの削除が遅延する場合は、リソース設定を確認して変更する必要があります。 以下のコマンドを実行します。
$ kubectl edit [resource-type] [resource-name]
- リソースの finalizerを確認し、必要に応じて削除します。
- リソースに ownerReferences設定がある場合, 削除の順序を調整して依存関係の問題を解決します。
参考
本ガイドで必要な情報が見つからない場合やさらに必要な情報がある場合は、いつでも以下のフィードバックアイコンをクリックして、ご意見をお寄せください。いただいたご意見を参照して、より有益な情報を提供できるよう努力してまいります。