IBM Cloud Docs
为什么无法将主机分配给集群?

为什么无法将主机分配给集群?

您尝试将主机分配给 IBM Cloud Satellite 资源 (例如集群),但分配未成功。

检查主机时,运行状况状态可能为 unresponsiveunknownreload-required

在引导过程中,您的主机可能迂到了问题。 例如,主机的底层基础结构已更改,不再满足 最低要求,例如网络连接。

您可能已设置防火墙或其他阻止访问依赖关系的更改。

尤其是,引导过程取决于以下访问权。

  • 访问 RHEL Satellite 服务器以及主机上安装的必需软件包。
  • 访问 IBM Cloud Container Registry 端点以下拉所需映像。
  • 对要将主机分配到的 Satellite 集群的 Kubernetes 主节点的访问权。 由于主机无法与集群的服务端点通信,或者由于集群中的 Kubernetes 资源 (例如 Webhook 拦截并阻止与 Kubernetes API 服务器的通信),可能会阻止访问。

针对连接问题调试主机

如果需要,可以调试主机的连接问题。

否则,请除去主机,重新装入操作系统,然后将主机连接回。

  1. 获取连接主机的位置标识,并记录从中管理位置的 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. 如果您认为集群中可能存在阻止访问 API 服务器的 Webhook,请参阅 集群无法更新,因为 Webhook 损坏。 Webhook 通常是集群中其他功能的组件,例如 Cloud Paks,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. 检查主机是否已连接到您的位置并 未分配。 在控制台中,单击您的位置,然后单击 主机 选项卡。 在 CLI 中,运行以下命令。
      ibmcloud sat host ls --location <location_name_or_ID>
      
    7. 将主机 分配给 Satellite 资源,例如集群。
    8. 检查是否已将主机 分配 给集群。 此过程可能需要一个小时才能完成。 在控制台中,单击您的位置,然后单击 主机 选项卡。 在 CLI 中,运行以下命令。
      ibmcloud sat host ls --location <location_name_or_ID>
      

用于验证 IBM Cloud 多专区高速连接的端点

查看下表以帮助对 Satellite 主机引导过程所需的 IBM Cloud 端点的网络连接问题进行故障诊断。

从达拉斯管理位置时要测试的端点。
端点 用于检查端点的命令
公共区域端点 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
从华盛顿特区管理位置时要测试的端点。
端点 用于检查端点的命令
公共区域端点 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