配置集群

在安装 IBM® Cloud Private 之前,必须先配置服务器节点集群。

对集群执行安装准备

在准备节点以安装 IBM Cloud Private 之前,必须先制定关于集群的决策。

  1. 复审系统需求。 有关软件和硬件需求的更多信息,请参阅系统需求
  2. 确定您的集群体系结构,并获取集群中所有节点的 IP 地址。 有关节点类型的更多信息,请参阅体系结构。 在安装过程中,可以指定每种节点类型的 IP 地址。 请记住,安装 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. 向各个节点上的 /etc/hosts 文件添加所有节点的 IP 地址和主机名。
      • 重要事项:请确保按本地主机的 IP 地址列示主机名。 无法按回送地址 127.0.0.1 列示主机名。
      • /etc/hosts 文件中的主机名不得包含大写字母。
      • 如果您的集群包含单个节点,那么您必须列出其 IP 地址和主机名。
    2. 注释掉文件中以 127.0.1.1::1 localhost 开头的行。

      包含一个主节点、一个代理节点和两个工作程序节点的集群的 /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>
      

注:正在运行 ICP 安装流程时,所有集群节点上的 /etc/hosts 文件都将自动更新为包含 clusterName.icp 条目。 此条目与 cluster_vip 相关联,但如果未设置 cluster_vip,那么此条目与 cluster_lb_address 相关联。 ICP 使用 /etc/hosts 文件中的 clustername.icp:8500/xx/xxx 来提取 ICP 注册表 Docker 映像。

  1. 对于 OpenStack 环境,如果由云初始服务管理 /etc/hosts,那么需要防止云初始服务修改 /etc/hosts 文件。 在 /etc/cloud/cloud.cfg 文件中,请确保 manage_etc_hosts 参数已设置为 false

       manage_etc_hosts: false
    
  2. 确保集群中所有节点之间的网络连接正常。 确保各个节点已连接至集群中的所有其他节点。

  3. 在集群中的每个节点上,确认安装了 Python 的受支持版本。 支持 Python 2(V2.6 或 V2.7)和 Python 3(V3.5 或更高版本)。

      python --version
    
  4. 同步集群的每个节点中的时钟。 要同步您的时钟,您可以使用网络时间协议 (NTP)。 有关设置 NTP 的更多信息,请参阅操作系统的用户文档。

  5. 确保在每个节点上安装了 SSH 客户端。
  6. 在集群中每个节点上安装 socatsocat 是用于两个位置之间双向数据流的网络实用工具。 对于 Helm,socat 用于为 Helm 客户机和 Tiller 设置端口转发。 有关安装 socat 的更多信息,请参阅 http://www.dest-unreach.org/socat/doc/README 在新选项卡中打开

后续操作

安装集群,请参阅安装 IBM Cloud Private