クラスターの作成後に Ingress サブドメインが存在しないのはなぜですか?
仮想プライベートクラウド クラシック・インフラストラクチャー
クラスターを作成し、ibmcloud ks cluster get --cluster <cluster> を実行してその状況を確認します。 クラスターの State は normal であるのに、Ingress サブドメインと Ingress シークレットがありません。
クラスターが normal 状態であっても、Ingress サブドメインとシークレットはまだ進行中である可能性があります。 Ingressのサブドメインおよびシークレットの作成には、15分以上かかる場合があります。
クラシック・クラスター
- ワーカー・ノードが完全にデプロイされて VLAN 上に準備されると、それらの VLAN のポータブル・パブリック・サブネットとポータブル・プライベート・サブネットが注文されます。
- ポータブル・サブネットの注文が正常に処理されると、
ibm-cloud-provider-vlan-ip-config構成マップが更新され、ポータブル・パブリック IP アドレスとポータブル・プライベート IP アドレスが反映されます。 ibm-cloud-provider-vlan-ip-config構成マップが更新されると、ゾーンあたり 1 つのパブリック ALB の作成がトリガーされます。- ALB を公開するロード・バランサー・サービスが作成され、IP アドレスを割り当てられます。
- ロードバランサーのIPアドレスは、 IBM ( NS1 )でIngressサブドメインを登録する際に使用されます。 IBM NS1 登録手続き中に遅延が生じる可能性があります。
VPC クラスター
- VPC クラスターを作成すると、VPC のクラスター外部にパブリック VPC ロード・バランサー 1 つとプライベート VPC ロード・バランサー 1 つが自動的に作成されます。
- ゾーンあたり 1 つのパブリック ALB の作成がトリガーされます。
- ALB を公開するロード・バランサー・サービスが作成され、ホスト名を割り当てられます。
- ロードバランサーのホスト名は、 IBM NS1 で Ingress サブドメインを登録する際に使用されます。 IBM NS1 登録手続き中に遅延が生じる可能性があります。
同じ名前または似た名前のクラスターを削除してからクラスターを作成する場合は、 代わりに、同じ名前または似た名前のクラスターを作成した後に Ingress サブドメインが存在しないのはなぜですか? を参照してください。
通常は、クラスターの準備ができてから 15 分後に Ingress サブドメインとシークレットが作成されます。
クラスターが normal 状態になってから 15 分以上経っても Ingress サブドメインとシークレットが存在しない場合は、以下の手順に従って作成プロセスの進行状況を確認してください。
-
ワーカー・ノードの State が
normalであり、Status がReadyであることを確認します。 クラスターを作成してからワーカー・ノードの準備ができるまで最大 20 分かかる可能性があります。ibmcloud ks worker ls -c CLUSTER_NAME_OR_ID出力例
ID Public IP Private IP Flavor State Status Zone Version kube-blrs3b1d0p0p2f7haq0g-mycluster-default-000001f7 169.xx.xxx.xxx 10.xxx.xx.xxx u3c.2x4.encrypted deployed Ready dal10 1.36 -
ALB を作成するための前提条件手順が完了していることを確認します。
- クラシック・クラスター:
ibm-cloud-provider-vlan-ip-config構成マップの詳細を取得します。
kubectl describe cm ibm-cloud-provider-vlan-ip-config -n kube-system ``` * 構成マップに IP アドレスが示されている場合は、次の手順に進んでください。 * 「**」のような警告メッセージが **Events`ErrorSubnetLimitReached: There are already the maximum number of subnets permitted in this VLAN` セクションに示されている場合は、[VLAN キャパシティーのトラブルシューティングに関するトピック](/docs/containers?topic=containers-cs_subnet_limit)を参照してください。 IP アドレスが設定された構成マップの出力例: ```sh {: screen} NAME: ibm-cloud-provider-vlan-ip-config Namespace: kube-system Labels: <none> Annotations: <none> Data ==== reserved_public_vlan_id: ---- vlanipmap.json: ---- { "vlans": [ { "id": "2234947", "subnets": [ { "id": "2215454", "ips": [ "10.XXX.XXX.XXX", "10.XXX.XXX.XXX", "10.XXX.XXX.XXX", "10.XXX.XXX.XXX", "10.XXX.XXX.XXX" ], "is_public": false, "is_byoip": false, "cidr": "10.XXX.XXX.X/29" } ], "zone": "dal10", "region": "us-south" }, { "id": "2234945", "subnets": [ { "id": "2219170", "ips": [ "169.XX.XXX.XX", "169.XX.XXX.XX", "169.XX.XXX.XX", "169.XX.XXX.XX", "169.XX.XXX.XX" ], "is_public": true, "is_byoip": false, "cidr": "169.XX.XXX.X/29" } ], "zone": "dal10", "region": "us-south" } ], "vlan_errors": [], "reserved_ips": [] } cluster_id: ---- bmnj1b1d09lpvv3oof0g reserved_private_ip: ---- reserved_private_vlan_id: ---- reserved_public_ip: ---- Events: <none>- VPC クラスター: ALB の VPC ロード・バランサーが存在することを確認します。 出力で、
kube-<cluster_ID>で始まる VPC ロード・バランサーの名前を探します。infrastructure-serviceプラグインをインストールしていない場合は、ibmcloud plugin install infrastructure-serviceを実行してインストールします。
ibmcloud is load-balancers ``` VPC ロード・バランサーがリストされても、DNS エントリーがまだ登録中である可能性があります。 VPC ロード・バランサーが作成されると、ホスト名がパブリック DNS を介して登録されます。 場合によっては、クライアントが使用している特定の DNS にこの DNS エントリーが複製されるまでに数分かかることがあります。 {: note} - クラシック・クラスター:
-
クラスターに ALB が存在するかどうか、その ALB に IP アドレス (クラシック・クラスター) またはホスト名 (VPC クラスター) が割り当てられているかどうかを確認します。
ibmcloud ks ingress alb ls -c <cluster_name_or_ID>出力例
ALB ID Enabled Status Type ALB IP Zone Build ALB VLAN ID NLB Version private-crbmnj1b1d09lpvv3oof0g-alb1 false disabled private - dal10 ingress:1.1.2_2507_iks 2234947 2.0 public-crbmnj1b1d09lpvv3oof0g-alb1 true enabled public 169.XX.XXX.XX dal10 ingress:1.1.2_2507_iks 2234945 2.0- パブリック ALB がリストされて IP アドレス (クラシック・クラスター) またはホスト名 (VPC クラスター) を割り当てられている場合は、次の手順に進んでください。
- パブリック ALB がリストされているものの IP アドレス (クラシック・クラスター) またはホスト名 (VPC クラスター) を割り当てられていない場合は、ALB を無効にしてから再度有効にしてみてください。
- クラシック・クラスター:
ibmcloud ks ingress alb disable --alb <ALB_ID> -c <cluster_name_or_ID>ibmcloud ks ingress alb enable classic --alb <ALB_ID> -c <cluster_name_or_ID> - VPC クラスター:
ibmcloud ks ingress alb disable --alb <ALB_ID> -c <cluster_name_or_ID>ibmcloud ks ingress alb enable vpc-gen2 --alb <ALB_ID> -c <cluster_name_or_ID>
- クラシック・クラスター:
- 数分経っても ALB が作成されない場合は、支援を得る方法を参照してください。
-
ALB を公開する
LoadBalancerサービスが存在し、パブリック ALB と同じ IP アドレス (クラシック・クラスター) またはホスト名 (VPC クラスター) を割り当てられているかどうかを確認します。LoadBalancerサービスがリストされて IP アドレス (クラシック・クラスター) またはホスト名 (VPC クラスター) を割り当てられている場合は、次の手順に進んでください。- 数分経っても
LoadBalancerサービスが作成されない場合は、支援を得る方法を参照してください。
kubectl get svc -n kube-system | grep LoadBalancer出力例
public-crbmnj1b1d09lpvv3oof0g-alb1 LoadBalancer 172.21.XXX.XXX 169.XX.XXX.XX 80:30723/TCP,443:31241/TCP 1d -
もう一度、Ingress サブドメインとシークレットが作成されているかどうかを確認します。 これらが使用可能ではなくても、ステップ 1 から 4 のすべてのコンポーネントが存在することを確認した場合は、ヘルプを表示する方法を確認してください。
ibmcloud ks cluster get -c <cluster_name_or_ID>