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

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

クラスターを作成し、ibmcloud oc 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 構成マップが更新されると、Ingress コントローラーの作成がトリガーされます。
  4. Ingress コントローラーを公開するロード・バランサー・サービスが作成され、IP アドレスが割り当てられます。
  5. ロードバランサーのIPアドレスは、 IBM ( NS1 )でIngressサブドメインを登録する際に使用されます。 IBM NS1 登録手続き中に遅延が生じる可能性があります。

VPC クラスター:

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

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

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

  1. クラスターにログインします。 サブドメインが使用できないため、Red Hat OpenShift コンソールを開くことができません。 その代わりに、CLI を通じて --admin オプションを使用してクラスタコンテキストを設定することができます。

    ibmcloud oc cluster config -c CLUSTER_NAME_OR_ID --admin
    
  2. ワーカー・ノードの Statenormal であり、StatusReady であることを確認します。 クラスターを作成してからワーカー・ノードの準備ができるまで最大 20 分かかる可能性があります。

    ibmcloud oc 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.35
    
  3. Ingress コントローラーを作成するための前提条件ステップが完了していることを確認します。

    • クラシック・クラスター: ibm-cloud-provider-vlan-ip-config 構成マップの詳細を取得します。
    oc describe cm ibm-cloud-provider-vlan-ip-config -n kube-system
    

    IP アドレスが設定された構成マップの出力例:

    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 クラスター :Ingress コントローラー用の VPC ロードバランサーが存在することを確認してください。 出力で、kube-<cluster_ID>で始まる VPC ロード・バランサーの名前を探します。 infrastructure-service プラグインをインストールしていない場合は、ibmcloud plugin install infrastructure-service を実行してインストールします。
    ibmcloud is load-balancers
    

    VPC ロード・バランサーがリストされても、DNS エントリーがまだ登録中である可能性があります。 VPC ロード・バランサーが作成されると、ホスト名がパブリック DNS を介して登録されます。 場合によっては、クライアントが使用している特定の DNS にこの DNS エントリーが複製されるまでに数分かかることがあります。

  4. Ingress コントローラーが正常に作成されたことを確認します。

    1. クラスターの Ingress コントローラー・デプロイメントが存在するかどうかを確認します。
        oc get deployment -n openshift-ingress
        ```
        出力例
        ```sh {: screen}
        NAME             READY   UP-TO-DATE   AVAILABLE   AGE
        router-default   2/2     2            2           26m
        ```
    2. Ingress コントローラーのロード・バランサー・サービスが存在し、パブリック外部 IP アドレス (クラシック・クラスター) またはホスト名 (VPC クラスター) が割り当てられているかどうかを確認します。
        * `router-default` という名前のサービスがリストされ、IP アドレス (クラシック・クラスター) またはホスト名 (VPC クラスター) が割り当てられている場合は、次のステップに進みます。
        * 数分経っても `router-default` サービスが作成されない場合は、[支援を得る方法](/docs/openshift?topic=openshift-get-help)を参照してください。
    
    ```sh {: pre}
        oc get svc -n openshift-ingress
        ```
        出力例
        ```sh {: screen}
        NAME                      TYPE           CLUSTER-IP      EXTERNAL-IP    PORT(S)                      AGE
        router-default            LoadBalancer   172.21.47.119   169.XX.XX.XX   80:31182/TCP,443:31154/TCP   27m
        router-internal-default   ClusterIP      172.21.51.30    <none>         80/TCP,443/TCP,1936/TCP      26m
        ```
    
  5. もう一度、Ingress サブドメインとシークレットが作成されているかどうかを確認します。 使用可能ではないが、ステップ 1 から 3 のすべてのコンポーネントが存在することを確認した場合は、サポートを得るためにさまざまな方法を検討してください

    ibmcloud oc cluster get -c CLUSTER_NAME_OR_ID