Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

23.2.2. 选项 2:为 GCE 手动配置 OpenShift Container Platform

23.2.2.1. 为 GCE 手动配置 master 主机

在所有 master 主机上执行以下步骤。

流程

  1. 默认情况下,将 GCE 参数添加到 /etc/origin/master/master-config.yaml 中的 master 配置文件的 apiServerArgumentscontrollerArguments 部分:

    apiServerArguments:
      cloud-provider:
        - "gce"
      cloud-config:
        - "/etc/origin/cloudprovider/gce.conf"
    controllerArguments:
      cloud-provider:
        - "gce"
      cloud-config:
        - "/etc/origin/cloudprovider/gce.conf"
  2. 使用 Ansible 为 GCP 配置 OpenShift Container Platform 时,会自动创建 /etc/origin/cloudprovider/gce.conf 文件。由于您要手动为 GCP 配置 OpenShift Container Platform,所以您必须创建该文件并输入以下命令:

    [Global]
    project-id = <project-id> 1
    network-name = <network-name> 2
    node-tags = <node-tags> 3
    node-instance-prefix = <instance-prefix> 4
    multizone = true 5
    1
    提供运行现有实例的 GCP 项目 ID。
    2
    如果没有使用默认值,则提供网络名称。
    3
    为 GCP 节点提供标签。必须包含 ocp 作为后缀。例如,如果 node-instance-prefix 参数的值设置为 mycluster,则节点必须标记为 myclusterocp
    4
    提供唯一字符串来标识 OpenShift Container Platform 集群。
    5
    设置为 true 以在 GCP 上触发多 zone 部署。默认设置为 False

    集群安装过程默认配置单区支持。

    在不同区的 GCP 中部署 OpenShift Container Platform 有助于避免出现单一故障点,但可能会导致存储出现问题。这是因为 GCP 磁盘是在区中创建。如果 OpenShift Container Platform 节点主机在区域 "A" 中停机,并且 pod 应该移到 zone "B" 中,则持久性存储无法附加到这些 pod,因为磁盘现在位于不同的区中。如需更多信息,请参阅 Kubernetes 文档中的多个区限制

    重要

    要使用 GCP 运行负载均衡器服务,Compute Engine 虚拟机节点实例需要 ocp 后缀: < openshift_gcp_prefix>ocp。例如,如果 openshift_gcp_prefix 参数的值设置为 mycluster,则必须标记带有 myclusterocp 的节点。有关如何在 Compute Engine 虚拟机实例中添加网络标签的更多信息,请参阅添加和删除网络标签

  3. 重启 OpenShift Container Platform 主机服务:

    # master-restart api
    # master-restart controllers
    # systemctl restart atomic-openshift-node

要返回单区支持,将 multizone 值设置为 false,然后重新启动 master 和节点主机服务。