クラスターの作成後に Ingress サブドメインが存在しないのはなぜですか?
仮想プライベート・クラウド クラシック・インフラストラクチャー
クラスターを作成し、ibmcloud oc 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
構成マップが更新されると、Ingress コントローラーの作成がトリガーされます。- Ingress コントローラーを公開するロード・バランサー・サービスが作成され、IP アドレスが割り当てられます。
- そのロード・バランサーの IP アドレスを使用して、Akamai で Ingress サブドメインが登録されます。 Akamai での登録処理で待ち時間が発生することがあります。
VPC クラスター:
- VPC クラスターを作成すると、VPC のクラスター外部にパブリック VPC ロード・バランサー 1 つとプライベート VPC ロード・バランサー 1 つが自動的に作成されます。
- ゾーンごとに 1 つのパブリック Ingress コントローラーが作成のためにトリガーされます。
- Ingress コントローラーを公開するロード・バランサー・サービスが作成され、ホスト名が割り当てられます。
- そのロード・バランサーのホスト名を使用して、Akamai で Ingress サブドメインが登録されます。 Akamai での登録処理で待ち時間が発生することがあります。
同じ名前または似た名前のクラスターを削除してからクラスターを作成する場合は、 代わりに、同じ名前または似た名前のクラスターを作成した後に Ingress サブドメインが存在しないを参照してください。
通常は、クラスターの準備ができてから 15 分後に Ingress サブドメインとシークレットが作成されます。 クラスターが normal
状態になってから 15 分以上経っても Ingress サブドメインとシークレットが存在しない場合は、以下の手順に従って作成プロセスの進行状況を確認してください。
-
クラスターにログインします。 サブドメインが使用できないため、Red Hat OpenShift コンソールを開くことができません。 代わりに、CLI から
--admin
オプションを使用してクラスタコンテキストを設定することができます。ibmcloud oc cluster config -c <cluster_name_or_ID> --admin
-
ワーカー・ノードの State が
normal
であり、Status がReady
であることを確認します。 クラスターを作成してからワーカー・ノードの準備ができるまで最大 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.32
-
Ingress コントローラーを作成するための前提条件ステップが完了していることを確認します。
- クラシック・クラスター:
ibm-cloud-provider-vlan-ip-config
構成マップの詳細を取得します。
oc 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 キャパシティーのトラブルシューティングに関するトピックを参照してください。
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 エントリーが複製されるまでに数分かかることがあります。
- クラシック・クラスター:
-
Ingress コントローラーが正常に作成されたことを確認します。
-
クラスターの Ingress コントローラー・デプロイメントが存在するかどうかを確認します。
- Ingress コントローラー・デプロイメントがリストされている場合は、次のステップに進みます。
- 数分経っても Ingress コントローラー・デプロイメントが作成されない場合は、サポートを得るためにさまざまな方法を検討してください。
oc get deployment -n openshift-ingress
出力例
NAME READY UP-TO-DATE AVAILABLE AGE router-default 2/2 2 2 26m
-
Ingress コントローラーのロード・バランサー・サービスが存在し、パブリック外部 IP アドレス (クラシック・クラスター) またはホスト名 (VPC クラスター) が割り当てられているかどうかを確認します。
router-default
という名前のサービスがリストされ、IP アドレス (クラシック・クラスター) またはホスト名 (VPC クラスター) が割り当てられている場合は、次のステップに進みます。- 数分経っても
router-default
サービスが作成されない場合は、支援を得る方法を参照してください。
oc get svc -n openshift-ingress
出力例
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
-
-
もう一度、Ingress サブドメインとシークレットが作成されているかどうかを確認します。 使用可能ではないが、ステップ 1 から 3 のすべてのコンポーネントが存在することを確認した場合は、サポートを得るためにさまざまな方法を検討してください。
ibmcloud oc cluster get -c <cluster_name_or_ID>