クラスターの作成後に Ingress サブドメインが存在しないのはなぜですか?

仮想プライベートクラウド クラシック・インフラストラクチャー

クラスターを作成し、ibmcloud ks cluster get --cluster <cluster> を実行してその状況を確認します。 クラスターの Statenormal であるのに、Ingress サブドメインIngress シークレットがありません。

クラスターが normal 状態であっても、Ingress サブドメインとシークレットはまだ進行中である可能性があります。 Ingressのサブドメインおよびシークレットの作成には、15分以上かかる場合があります。

クラシック・クラスター

  1. ワーカー・ノードが完全にデプロイされて VLAN 上に準備されると、それらの VLAN のポータブル・パブリック・サブネットとポータブル・プライベート・サブネットが注文されます。
  2. ポータブル・サブネットの注文が正常に処理されると、ibm-cloud-provider-vlan-ip-config 構成マップが更新され、ポータブル・パブリック IP アドレスとポータブル・プライベート IP アドレスが反映されます。
  3. ibm-cloud-provider-vlan-ip-config 構成マップが更新されると、ゾーンあたり 1 つのパブリック ALB の作成がトリガーされます。
  4. ALB を公開するロード・バランサー・サービスが作成され、IP アドレスを割り当てられます。
  5. ロードバランサーのIPアドレスは、 IBM ( NS1 )でIngressサブドメインを登録する際に使用されます。 IBM NS1 登録手続き中に遅延が生じる可能性があります。

VPC クラスター

  1. VPC クラスターを作成すると、VPC のクラスター外部にパブリック VPC ロード・バランサー 1 つとプライベート VPC ロード・バランサー 1 つが自動的に作成されます。
  2. ゾーンあたり 1 つのパブリック ALB の作成がトリガーされます。
  3. ALB を公開するロード・バランサー・サービスが作成され、ホスト名を割り当てられます。
  4. ロードバランサーのホスト名は、 IBM NS1 で Ingress サブドメインを登録する際に使用されます。 IBM NS1 登録手続き中に遅延が生じる可能性があります。

同じ名前または似た名前のクラスターを削除してからクラスターを作成する場合は、 代わりに、同じ名前または似た名前のクラスターを作成した後に Ingress サブドメインが存在しないのはなぜですか? を参照してください。

通常は、クラスターの準備ができてから 15 分後に Ingress サブドメインとシークレットが作成されます。

クラスターが normal 状態になってから 15 分以上経っても Ingress サブドメインとシークレットが存在しない場合は、以下の手順に従って作成プロセスの進行状況を確認してください。

  1. ワーカー・ノードの Statenormal であり、StatusReady であることを確認します。 クラスターを作成してからワーカー・ノードの準備ができるまで最大 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
    
  2. 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}
    
    
  3. クラスターに 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 が作成されない場合は、支援を得る方法を参照してください。
  4. 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
    
  5. もう一度、Ingress サブドメインとシークレットが作成されているかどうかを確認します。 これらが使用可能ではなくても、ステップ 1 から 4 のすべてのコンポーネントが存在することを確認した場合は、ヘルプを表示する方法を確認してください。

    ibmcloud ks cluster get -c <cluster_name_or_ID>