添加 IBM Cloud Private 集群节点

向 IBM® Cloud Private 集群添加工作程序节点、代理节点、管理节点、漏洞顾问程序节点和定制主机组节点。

准备安装新节点

完成新节点上的以下步骤:

  1. 确保所有缺省端口都已打开,但不在使用中。任何防火墙规则都不得阻止这些端口。在安装期间,安装程序也会确认这些端口已打开。有关 IBM Cloud Private 缺省端口的更多信息,请参阅缺省端口

    要手动检查某个端口是否已打开且可用,您可以运行以下两个命令中的一个,其中,port_numbers 表示要检查的一个或多个 TCP/UDP 端口:

    • 运行 ss 命令:

       ss -tnlp | awk '{print $4}'| egrep -w "<port_numbers>"
      

      如果该端口不在使用中,那么输出为空。如果该端口在使用中,那么会显示类似于以下示例的输出:

       # ss -tnlp | awk '{print $4}' | egrep -w "8001|8500|3306"
       :::8001
       :::3306
       :::8500
      
    • 或者,如果已安装网络实用程序,请运行 netstat 命令:

       netstat -tnlp | awk '{print $4}' | egrep -w "<port_numbers>"
      

      如果该端口在使用中,那么会显示类似于以下示例的输出:

       # netstat -tnlp | awk '{print $4}' | egrep -w "8001|8500|3306"
       :::8001
       :::3306
       :::8500
      

      必须以 | 字符分隔端口号。请参阅以下示例:

      netstat -tnlp | awk '{print $4}'| egrep -w 8101|8500|3306|
      
  2. 配置 DNS 实用程序以确保可解析集群中的新添加的节点的主机名和标准域名 (FQDN)。

  3. 请确保集群中的新节点和所有其他节点之间的网络连接。
  4. 将新节点上的时钟与其余集群节点进行同步。要同步您的时钟,您可以使用网络时间协议 (NTP)。有关设置 NTP 的更多信息,请参阅操作系统的用户文档。
  5. 在新的节点上,确认安装了受支持版本的 Python。支持 Python V2.6 到 V2.9.x 和 V3.5 或更高版本。

      python --version
    
  6. 确保在新的节点上安装了 SSH 客户机。

  7. 如果您使用 SSH 公用密钥认证在集群节点之间创建安全连接,请将 SSH 公用密钥添加到新的节点中。 从引导节点,通过运行以下命令将 SSH 公用密钥添加到该节点中:

       ssh-copy-id -i ~/.ssh/id_rsa.pub <user>@<node_ip_address>
    

    其中,<user> 是节点的用户名,并且 <node_ip_address> 是此节点的 IP 地址。

  8. 如果在非引导节点上手动安装 Docker,请在新的节点上安装 Docker。请参阅在 IBM Cloud Private 上安装 Docker

准备安装新 arch 节点

如果新节点是 arch 节点,请在新节点上完成以下步骤,然后再将该节点添加到集群。除前面用于准备新节点的步骤以外,还需要这些步骤。添加现有 arch 节点时,无需完成这些额外步骤。

例如,如果集群包含 amd64 arch 节点并要添加新的 ppc641e arch 节点,那么需要完成这些步骤以首先准备新 arch 节点。

  1. 将新 arch 节点的脱机软件包复制到 /<installation_directory>/cluster/images 目录。
  2. 运行以下命令来推送新 arch 节点映像以及构建多 arch 映像:
     docker run -e LICENSE=accept --net=host \
     -v "$(pwd)":/installer/cluster \
     ibmcom/icp-inception-$(uname -m | sed 's/x86_64/amd64/g'):3.2.0-ee multi-arch-image
    

添加节点

从用于安装集群的引导节点完成以下步骤。

  1. 切换到您的 IBM Cloud Private 安装目录中的 cluster 目录。

    cd /<installation_directory>/cluster
    
  2. 请确保 /<installation_directory>/cluster/images 目录中提供了新节点在其上运行的平台的安装程序。

    • 对于 Linux®节点,需要 ibm-cloud-private-x86_64-3.2.0.tar.gzibm-cp-app-mod-x86_64-3.2.0.tar.gz 文件。
    • 对于 Linux® on Power® (ppc64le)节点,需要 ibm-cloud-private-ppc64le-3.2.0.tar.gzibm-cp-app-mod-ppc64le-3.2.0.tar.gz 文件。
    • 对于 IBM® Z 工作程序节点,需要 ibm-cloud-private-s390x-3.2.0.tar.gz 文件。
  3. 添加新节点。

添加工作程序节点

注意:要向您的集群添加 IBM Z 节点,请将 Z 工作程序节点的 IP 地址添加到 /<installation_directory>/hosts 文件。

要添加工作程序节点,请根据要添加的工作节点,运行相应的命令:

添加管理节点

要添加管理节点,请运行以下命令:

  docker run -e LICENSE=accept --net=host \
  -v "$(pwd)":/installer/cluster \
  ibmcom/icp-inception-$(uname -m | sed 's/x86_64/amd64/g'):3.2.0-ee management -l \
  ip_address_managementnode1,ip_address_managementnode2

在此命令中,ip_address_managementnode1ip_address_managementnode2 是新的管理节点的 IP 地址。在运行该命令时,您指定的 IP 地址将添加到 hosts 文件中。

添加代理节点

此过程仅在代理 HA 环境中受支持。

要添加代理节点,请运行以下命令:

  docker run -e LICENSE=accept --net=host \
  -v "$(pwd)":/installer/cluster \
  ibmcom/icp-inception-$(uname -m | sed 's/x86_64/amd64/g'):3.2.0-ee proxy -l \
  ip_address_proxynode1,ip_address_proxynode2

在此命令中,ip_address_proxynode1ip_address_proxynode2 是新的代理节点的 IP 地址。在运行该命令时,您指定的 IP 地址将添加到 hosts 文件中。

添加漏洞顾问程序节点

要添加 VA 节点,请运行以下命令:

  docker run --rm -t -e LICENSE=accept --net=host -v \
  $(pwd):/installer/cluster ibmcom/icp-inception-$(uname -m | sed 's/x86_64/amd64/g'):3.2.0-ee va -l \
  ip_address_vanode1,ip_address_vanode2

在此命令中,ip_address_vanode1ip_address_vanode2 是新 VA 节点的 IP 地址。在运行该命令时,您指定的 IP 地址将添加到 hosts 文件中。

注:在您将节点添加到集群后,未在节点上启用漏洞顾问程序服务。有关更多信息,请参阅启用和禁用 IBM Cloud Private 管理服务

添加主机组

主机组节点是工作程序节点。

  1. 请确保在主机文件中定义主机组。请参阅在 hosts 文件中设置节点角色

  2. 添加主机组。

    • 要设置主机组,请运行以下命令:

      docker run -e LICENSE=accept --net=host \
      -v "$(pwd)":/installer/cluster \
      ibmcom/icp-inception-$(uname -m | sed 's/x86_64/amd64/g'):3.2.0-ee hostgroup -l [hostgroup-name]
      

      注意:如果想要使用单个命令安装多个主机组,请忽略 -l 选项。

    • 要将特定的主机添加到主机组中,请运行以下命令:

      docker run -e LICENSE=accept --net=host \
      -v "$(pwd)":/installer/cluster \
      ibmcom/icp-inception-$(uname -m | sed 's/x86_64/amd64/g'):3.2.0-ee hostgroup -l \
      ip_address_hostgroupnode1,ip_address_hostgroupnode2
      

      在此命令中,ip_address_hostgroupnode1ip_address_hostgroupnode2 是新的主机组节点的 IP 地址。