添加 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. 配置 /etc/hosts 文件。

    1. 将集群中的所有其他节点的 IP 地址和主机名添加到新节点上的 /etc/hosts 文件中。
      • 重要事项:请确保按本地主机的 IP 地址列示主机名。 无法按回送地址 127.0.0.1 列示主机名。
      • /etc/hosts 文件中的主机名不得包含大写字母。
      • 如果您的集群包含单个节点,那么您必须列出其 IP 地址和主机名。
    2. 注释掉文件中以 127.0.1.1::1 localhost 开头的行。

      对于包含一个主节点、一个代理节点、两个工作程序节点和两个漏洞顾问程序 (VA) 节点的集群,/etc/hosts 文件包含与以下类似的代码:

      127.0.0.1       localhost
      # 127.0.1.1     <host_name>
      # The following lines are desirable for IPv6 capable hosts
      #::1     localhost ip6-localhost ip6-loopback
      ff02::1 ip6-allnodes
      ff02::2 ip6-allrouters
      <master_node_IP_address> <master_node_host_name>
      <worker_node_1_IP_address> <worker_node_1_host_name>
      <worker_node_2_IP_address> <worker_node_2_IP_host_name>
      <proxy_node_IP_address> <proxy_node_host_name>
      <va_node_1_IP_address> <va_node_1_host_name>
      <va_node_2_IP_address> <va_node_2_IP_host_name>
      
    3. 将新节点的 IP 地址和主机名添加到集群中所有旧节点上的 /etc/hosts 文件中。

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

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

  7. 如果您使用 SSH 在集群节点之间创建安全连接,请将 SSH 密钥添加到新的节点中。

    1. 从引导节点,将 SSH 公用密钥添加到该节点中。

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

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

    2. 登录到节点。
    3. 重新启动 SSH 服务:
      sudo systemctl restart sshd
      
  8. 如果在非引导节点上手动安装 Docker,请在新的节点上安装 Docker。 请参阅在 IBM Cloud Private 上安装 Docker

添加节点

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

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

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

    • 对于 Linux® x86_64节点,需要 ibm-cloud-private-x86_64-3.1.0.tar.gzibm-cp-app-mod-x86_64-3.1.0.tar.gz 文件。
    • 对于 Linux® on Power® (ppc64le)节点,需要 ibm-cloud-private-ppc64le-3.1.0.tar.gzibm-cp-app-mod-ppc64le-3.1.0.tar.gz 文件。
    • 对于 IBM® Z 工作程序节点,需要 ibm-cloud-private-s390x-3.1.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-ARCH:3.1.0-ee worker -l \
  ip_address_workernode1,ip_address_workernode2

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

添加管理节点

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

  docker run -e LICENSE=accept --net=host \
  -v "$(pwd)":/installer/cluster \
  ibmcom/icp-inception-ARCH:3.1.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-ARCH:3.1.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-ARCH:3.1.0-ee va -l \
  ip_address_vanode1,ip_address_vanode2

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

添加主机组

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

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

  2. 添加主机组。

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

      docker run -e LICENSE=accept --net=host \
      -v "$(pwd)":/installer/cluster \
      ibmcom/icp-inception-ARCH:3.1.0-ee hostgroup -l [hostgroup-name]
      

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

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

      docker run -e LICENSE=accept --net=host \
      -v "$(pwd)":/installer/cluster \
      ibmcom/icp-inception-ARCH:3.1.0-ee hostgroup -l \
      ip_address_hostgroupnode1,ip_address_hostgroupnode2
      

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