IBM Cloud Docs
クラスターにホストを割り当てることができないのはなぜですか?

クラスターにホストを割り当てることができないのはなぜですか?

クラスターなどの IBM Cloud Satellite リソースにホストを割り当てようとしても、割り当てが成功しません。

ホストを確認すると、正常性の状態が unresponsiveunknown、または reload-required の場合があります。

ブートストラッピング・プロセスでホストに問題が発生した可能性があります。 例えば、ホスト・マシンの基盤インフラストラクチャーが変更され、ネットワーク接続などの最小要件を満たさなくなっています。

ファイアウォールをセットアップするなどの変更によって、依存関係へのアクセスが妨げられている可能性があります。

具体的には、ブートストラッピング・プロセスは以下のアクセスに依存します。

  • ホスト・マシンにインストールされた RHEL Satellite サーバーおよび必須パッケージへのアクセス。
  • 必要なイメージをプルダウンするための IBM Cloud Container Registry エンドポイントへのアクセス。
  • ホストを割り当てる Satellite クラスターの Kubernetes マスターへのアクセス。 アクセスがブロックされる理由としては、ホストがクラスターのサービス・エンドポイントと通信できない、Webhook などのクラスター内の Kubernetes リソースが Kubernetes API サーバーとの通信をインターセプトしてブロックしていることが考えられます。

接続の問題についてホストをデバッグする

必要に応じて、ホストの接続の問題をデバッグできます。

そうしない場合は、ホストを削除し、オペレーティング・システムを再ロードしてから、ホストを再び接続してください。

  1. ホストが接続されているロケーション ID を取得し、そのロケーションの管理元の IBM Cloud マルチゾーン・メトロをメモします。 コンソールを使用する場合は、ロケーションをクリックしてから**「概要」**タブをクリックします。 CLI を使用する場合は、次のコマンドを実行します。
    ibmcloud sat location ls
    
  2. ホストが最小要件を満たしていることを確認します。また、ホスト名に小文字の英数字、-、または . のみが含まれることを確認します。
  3. 接続の問題がないかホストを確認します。
    1. SSH などでホスト・マシンにログインします。
    2. ホストのネットワーク設定を調べて、必要なポートとIP アドレスにホストがアクセスできることを確認します。これらがセキュリティー・グループまたはファイアウォールによってブロックされている可能性があります。
    3. 必要な IBM Cloud マルチゾーン・メトロ・エンドポイントへのアクセスを確認します。
    4. クラスターに割り当てられているホストの場合は、クラスター・マスターのエンドポイントの詳細を取得します。
      ibmcloud ks cluster get -c <cluster_name_or_ID> | grep "Master URL"
      
    5. クラスター・マスターへの接続を確認します。 この curl 要求が失敗した場合は、例えば、セキュリティー・グループ、ファイアウォール、またはプライベート・ネットワークによってブロックされているために、ホストがエンドポイントにアクセスできない可能性があります。
      curl -k <master_URL>
      
    6. クラスターの Web フックによって API サーバーへのアクセスがブロックされている可能性がある場合は、破損した Web フックによりクラスターを更新できないを参照してください。 多くの場合、Web フックはクラスターの追加機能 (Cloud Pak、Istio、コンテナー・イメージのセキュリティー適用など) のためのコンポーネントです。
  4. 接続の問題を解決したら、ホストの正常性を調べて詳しい情報を確認します。
  5. 問題が解決しない場合は、ホストを再割り当てします。
    1. Satellite のロケーションから ホストを削除します。
    2. 基盤インフラストラクチャー・プロバイダーの手順に従って、ホストのオペレーティング・システムを再ロードします。
    3. マシンにログインし、次のファイルがあるか確認することで、ホスト・マシンを再ロードしたことを検証します。
      file /etc/satelittemachineidgeneration/machineidgenerated
      
      このファイルが存在しない場合は、次のようなメッセージが表示されます。 ホストは再ロードされているので、次の手順に進むことができます。
      /etc/satelittemachineidgeneration/machineidgenerated: cannot open (No such file or directory)
      
      このファイルが存在する場合は、次のようなメッセージが表示されます。 ホスト・マシンのオペレーティング・システムを再ロードしてから、次の手順に進む必要があります。
      /etc/satelittemachineidgeneration/machineidgenerated: empty
      
    4. ホストが最小要件を満たしていることを確認します。
    5. Satellite ロケーションにホストを接続します。
    6. ホストがロケーションに接続されていて、unassigned であることを確認します。 コンソールを使用する場合は、ロケーションをクリックし、**「ホスト」**タブをクリックします。 CLI を使用する場合は、次のコマンドを実行します。
      ibmcloud sat host ls --location <location_name_or_ID>
      
    7. Satellite リソース (クラスターなど) に ホストを割り当てます
    8. ホストがクラスターに**割り当てられている (assigned) ことを確認します。 このプロセスは、完了するまで 1 時間かかることがあります。 コンソールを使用する場合は、ロケーションをクリックし、「ホスト」**タブをクリックします。 CLI を使用する場合は、次のコマンドを実行します。
      ibmcloud sat host ls --location <location_name_or_ID>
      

接続を検証するエンドポイント (IBM Cloud マルチゾーン・メトロ別)

以下の表を確認して、IBM Cloud ホストのブートストラッピング・プロセスに必要な Satellite エンドポイントへのネットワーク接続の問題のトラブルシューティングに役立ててください。

ロケーションがダラスから管理されている場合にテストするエンドポイント。
エンドポイント エンドポイントを確認するコマンド
パブリック・リージョン・エンドポイント nslookup origin.us-south.containers.cloud.ibm.com
パブリック・リージョン・ブートストラップ・エンドポイント curl -v https://origin.us-south.containers.cloud.ibm.com/bootstrap/firstboot
プライベート・リージョン・ブートストラップ・エンドポイント curl -v https://private.us-south.containers.cloud.ibm.com/bootstrap/firstboot
IBM Cloud Container Registry リージョン curl -v https://us.icr.io
ロケーションがフランクフルトから管理されている場合にテストするエンドポイント。
エンドポイント エンドポイントを確認するコマンド
パブリック・リージョン・エンドポイント nslookup origin.eu-de.containers.cloud.ibm.com
パブリック・リージョン・ブートストラップ・エンドポイント curl -v https://origin.eu-de.containers.cloud.ibm.com/bootstrap/firstboot
プライベート・リージョン・ブートストラップ・エンドポイント curl -v https://private.eu-de.containers.cloud.ibm.com/bootstrap/firstboot
IBM Cloud Container Registry リージョン curl -v https://de.icr.io
ロケーションがサンパウロから管理されている場合にテストするエンドポイント。
エンドポイント エンドポイントを確認するコマンド
パブリック・リージョン・エンドポイント nslookup origin.br-sao.containers.cloud.ibm.com
パブリック・リージョン・ブートストラップ・エンドポイント curl -v https://origin.br-sao.containers.cloud.ibm.com/bootstrap/firstboot
プライベート・リージョン・ブートストラップ・エンドポイント curl -v https://private.br-sao.containers.cloud.ibm.com/bootstrap/firstboot
IBM Cloud Container Registry リージョン curl -v https://br-sao.icr.io
ロケーションがロンドンから管理されている場合にテストするエンドポイント。
エンドポイント エンドポイントを確認するコマンド
パブリック・リージョン・エンドポイント nslookup origin.eu-gb.containers.cloud.ibm.com
パブリック・リージョン・ブートストラップ・エンドポイント curl -v https://origin.eu-gb.containers.cloud.ibm.com/bootstrap/firstboot
プライベート・リージョン・ブートストラップ・エンドポイント curl -v https://private.eu-gb.containers.cloud.ibm.com/bootstrap/firstboot
IBM Cloud Container Registry リージョン curl -v https://uk.icr.io
ロケーションが東京から管理されている場合にテストするエンドポイント。
エンドポイント エンドポイントを確認するコマンド
パブリック・リージョン・エンドポイント nslookup origin.jp-tok.containers.cloud.ibm.com
パブリック・リージョン・ブートストラップ・エンドポイント curl -v https://origin.jp-tok.containers.cloud.ibm.com/bootstrap/firstboot
プライベート・リージョン・ブートストラップ・エンドポイント curl -v https://private.jp-tok.containers.cloud.ibm.com/bootstrap/firstboot
IBM Cloud Container Registry リージョン curl -v https://jp.icr.io
ロケーションがトロントから管理されているかどうかをテストするためのエンドポイント。
エンドポイント エンドポイントを確認するコマンド
パブリック・リージョン・エンドポイント nslookup origin.ca-tor.containers.cloud.ibm.com
パブリック・リージョン・ブートストラップ・エンドポイント curl -v https://origin.ca-tor.containers.cloud.ibm.com/bootstrap/firstboot
プライベート・リージョン・ブートストラップ・エンドポイント curl -v https://private.ca-tor.containers.cloud.ibm.com/bootstrap/firstboot
IBM Cloud Container Registry リージョン curl -v https://jp.icr.io
ロケーションがワシントン DC から管理されている場合にテストするエンドポイント。
エンドポイント エンドポイントを確認するコマンド
パブリック・リージョン・エンドポイント nslookup origin.us-east.containers.cloud.ibm.com
パブリック・リージョン・ブートストラップ・エンドポイント curl -v https://origin.us-east.containers.cloud.ibm.com/bootstrap/firstboot
プライベート・リージョン・ブートストラップ・エンドポイント curl -v https://private.us-east.containers.cloud.ibm.com/bootstrap/firstboot
IBM Cloud Container Registry リージョン curl -v https://us.icr.io