×

在 OpenShift Container Platform 4.17 版本中,您可以使用安装程序配置的基础架构在 VMware vSphere 实例上安装集群。

对多个 vCenter 的支持仅为技术预览功能。技术预览功能不受 Red Hat 生产服务级别协议 (SLA) 的支持,并且可能功能不完整。Red Hat 不建议在生产环境中使用它们。这些功能提供对即将推出的产品功能的早期访问,使客户能够在开发过程中测试功能并提供反馈。

有关 Red Hat 技术预览功能的支持范围的更多信息,请参阅 技术预览功能支持范围

先决条件

OpenShift Container Platform 的互联网访问

在 OpenShift Container Platform 4.17 中,您需要访问互联网才能安装集群。

您必须具有互联网访问权限才能

  • 访问 OpenShift 集群管理器 以下载安装程序并执行订阅管理。如果集群具有互联网访问权限并且您没有禁用遥测,则该服务会自动授权您的集群。

  • 访问 Quay.io 以获取安装集群所需的软件包。

  • 获取执行集群更新所需的软件包。

如果您的集群无法直接访问互联网,您可以对您配置的某些类型的基础架构执行受限网络安装。在此过程中,您将下载所需的内容并使用它来填充包含安装包的镜像注册表。对于某些安装类型,您安装集群的环境将不需要互联网访问。在更新集群之前,请更新镜像注册表的内容。

部署集群

您可以在兼容的云平台上安装 OpenShift Container Platform。

您只能在初始安装期间运行安装程序的 `create cluster` 命令一次。

先决条件
  • 您拥有 OpenShift Container Platform 安装程序和集群的拉取密钥。

  • 您已验证主机上的云提供商帐户是否具有部署集群的正确权限。权限不正确的帐户会导致安装过程失败,并显示一条错误消息,其中显示缺少的权限。

  • 可选:在创建集群之前,配置外部负载均衡器以代替默认负载均衡器。

    您不需要为安装程序指定 API 和 Ingress 静态地址。如果您选择此配置,则必须采取其他措施来定义接受来自每个引用的 vSphere 子网的 IP 地址的网络目标。请参阅“配置用户管理的负载均衡器”部分。

步骤
  1. 更改到包含安装程序的目录并初始化集群部署

    $ ./openshift-install create cluster --dir <installation_directory> \ (1)
        --log-level=info (2)
    
    1 对于 `<installation_directory>`,指定存储安装程序创建的文件的目录名称。
    2 要查看不同的安装细节,请指定 `warn`、`debug` 或 `error` 来代替 `info`。

    指定目录时

    • 验证该目录是否具有 `execute` 权限。此权限是在安装目录下运行 Terraform 二进制文件所必需的。

    • 使用空目录。某些安装资源(例如引导 X.509 证书)具有较短的到期间隔,因此您不得重用安装目录。如果您想重用来自另一个集群安装的单个文件,您可以将它们复制到您的目录中。但是,安装资源的文件名在不同版本之间可能会发生变化。从早期 OpenShift Container Platform 版本复制安装文件时请谨慎。

  2. 在提示符处提供值

    1. 可选:选择要用于访问集群机器的 SSH 密钥。

      对于要在其上执行安装调试或灾难恢复的生产 OpenShift Container Platform 集群,请指定您的 `ssh-agent` 进程使用的 SSH 密钥。

    2. 选择 **vsphere** 作为目标平台。

    3. 指定 vCenter 实例的名称。

    4. 指定具有创建集群所需权限的 vCenter 帐户的用户名和密码。

      安装程序将连接到您的 vCenter 实例。

      某些与Active Directory (AD)集成的VMware vCenter Single Sign-On (SSO)环境可能主要需要您使用传统登录方法,这需要使用<domain>\结构。

      为确保vCenter帐户权限检查正确完成,请考虑使用用户主体名称 (UPN) 登录方法,例如<username>@<fully_qualified_domainname>

    5. 选择您要连接的vCenter实例中的数据中心。

    6. 选择要使用的默认vCenter数据存储。

      数据存储和集群名称不能超过60个字符;因此,请确保组合字符串长度不超过60个字符的限制。

    7. 选择要在其中安装OpenShift Container Platform集群的vCenter集群。安装程序使用vSphere集群的根资源池作为默认资源池。

    8. 选择vCenter实例中包含您已配置的虚拟IP地址和DNS记录的网络。

    9. 输入您为控制平面API访问配置的虚拟IP地址。

    10. 输入您为集群入口配置的虚拟IP地址。

    11. 输入基础域名。此基础域名必须与您在已配置的DNS记录中使用的域名相同。

    12. 输入集群的描述性名称。集群名称必须与您在已配置的DNS记录中使用的名称相同。

      数据存储和集群名称不能超过60个字符;因此,请确保组合字符串长度不超过60个字符的限制。

    13. 粘贴来自Red Hat OpenShift Cluster Manager的pull secret

验证

集群部署成功完成后

  • 终端将显示访问集群的说明,包括指向Web控制台的链接以及kubeadmin用户的凭据。

  • 凭据信息也会输出到<installation_directory>/.openshift_install.log

请勿删除安装程序或安装程序创建的文件。两者都是删除集群所必需的。

示例输出
...
INFO Install complete!
INFO To access the cluster as the system:admin user when using 'oc', run 'export KUBECONFIG=/home/myuser/install_dir/auth/kubeconfig'
INFO Access the OpenShift web-console here: https://console-openshift-console.apps.mycluster.example.com
INFO Login to the console with user: "kubeadmin", and password: "password"
INFO Time elapsed: 36m22s
  • 安装程序生成的Ignition配置文件包含在24小时后过期的证书,届时将自动续订。如果在续订证书之前关闭集群,并在24小时后重新启动集群,则集群会自动恢复过期的证书。例外情况是,您必须手动批准挂起的node-bootstrapper证书签名请求 (CSR) 以恢复kubelet证书。有关更多信息,请参阅有关“从过期的控制平面证书中恢复”的文档。

  • 建议您在生成 Ignition 配置文件后 12 小时内使用它们,因为在集群安装后 16 到 22 小时,24 小时证书会轮换。通过在 12 小时内使用 Ignition 配置文件,您可以在安装期间证书更新运行时避免安装失败。

使用 CLI 登录集群

您可以通过导出集群kubeconfig文件以默认系统用户的身份登录到您的集群。kubeconfig文件包含有关集群的信息,CLI 使用这些信息将客户端连接到正确的集群和API服务器。该文件特定于一个集群,并在OpenShift Container Platform安装期间创建。

先决条件
  • 您已部署OpenShift Container Platform集群。

  • 您已安装oc CLI。

步骤
  1. 导出kubeadmin凭据

    $ export KUBECONFIG=<installation_directory>/auth/kubeconfig (1)
    1 对于<installation_directory>,请指定您存储安装文件的目录的路径。
  2. 验证您可以使用导出的配置成功运行oc命令

    $ oc whoami
    示例输出
    system:admin

创建注册表存储

安装集群后,您必须为注册表操作符创建存储。

安装期间移除镜像注册表

在不提供可共享对象存储的平台上,OpenShift Image Registry Operator 将自身引导为Removed。这允许openshift-installer完成这些平台类型的安装。

安装后,您必须编辑 Image Registry Operator 配置以将managementStateRemoved切换到Managed。完成后,您必须配置存储。

镜像注册表存储配置

对于不提供默认存储的平台,Image Registry Operator 最初不可用。安装后,您必须配置注册表以使用存储,以便提供注册表操作符。

显示了配置持久卷的说明,这是生产集群所必需的。在适用情况下,将显示说明,说明如何将空目录配置为存储位置,这仅适用于非生产集群。

提供了其他说明,说明如何在升级期间使用Recreate滚动策略允许镜像注册表使用块存储类型。

为 VMware vSphere 配置注册表存储

作为集群管理员,安装后,您必须配置注册表以使用存储。

先决条件
  • 集群管理员权限。

  • VMware vSphere 上的集群。

  • 为您的集群提供的持久性存储,例如 Red Hat OpenShift Data Foundation。

    当您只有一个副本时,OpenShift Container Platform 支持镜像注册表存储的ReadWriteOnce访问。ReadWriteOnce访问还要求注册表使用Recreate滚动策略。要部署支持高可用性的具有两个或多个副本的镜像注册表,需要ReadWriteMany访问。

  • 必须具有“100Gi”容量。

测试表明,将 RHEL 上的 NFS 服务器用作核心服务的存储后端存在问题。这包括 OpenShift Container Registry 和 Quay、用于监控存储的 Prometheus 以及用于日志存储的 Elasticsearch。因此,不建议使用 RHEL NFS 支持核心服务使用的 PV。

市场上的其他 NFS 实现可能没有这些问题。请联系各个 NFS 实现供应商,以获取有关针对这些 OpenShift Container Platform 核心组件可能完成的任何测试的更多信息。

步骤
  1. 要配置注册表以使用存储,请更改configs.imageregistry/cluster资源中的spec.storage.pvc

    使用共享存储时,请检查您的安全设置以防止外部访问。

  2. 验证您没有注册表 Pod

    $ oc get pod -n openshift-image-registry -l docker-registry=default
    示例输出
    No resourses found in openshift-image-registry namespace

    如果您的输出中确实有注册表 Pod,则无需继续此过程。

  3. 检查注册表配置

    $ oc edit configs.imageregistry.operator.openshift.io
    示例输出
    storage:
      pvc:
        claim: (1)
    1 留空claim字段可自动创建image-registry-storage持久卷声明 (PVC)。PVC 基于默认存储类生成。但是,请注意,默认存储类可能提供 ReadWriteOnce (RWO) 卷,例如 RADOS 块设备 (RBD),这在您复制到多个副本时可能会导致问题。
  4. 检查clusteroperator状态

    $ oc get clusteroperator image-registry
    示例输出
    NAME             VERSION                              AVAILABLE   PROGRESSING   DEGRADED   SINCE   MESSAGE
    image-registry   4.7                                  True        False         False      6h50m

为 VMware vSphere 配置块注册表存储

要允许镜像注册表在升级期间作为集群管理员使用 vSphere 虚拟机磁盘 (VMDK) 等块存储类型,您可以使用Recreate滚动策略。

块存储卷受支持,但不建议在生产集群中与镜像注册表一起使用。在块存储上配置注册表的安装不是高可用的,因为注册表不能拥有多个副本。

步骤
  1. 输入以下命令以将镜像注册表存储设置为块存储类型,修补注册表以便它使用Recreate滚动策略,并仅运行1个副本

    $ oc patch config.imageregistry.operator.openshift.io/cluster --type=merge -p '{"spec":{"rolloutStrategy":"Recreate","replicas":1}}'
  2. 为块存储设备预配 PV,并为该卷创建一个 PVC。请求的块卷使用 ReadWriteOnce (RWO) 访问模式。

    1. 创建一个包含以下内容的pvc.yaml文件,以定义 VMware vSphere PersistentVolumeClaim对象

      kind: PersistentVolumeClaim
      apiVersion: v1
      metadata:
        name: image-registry-storage (1)
        namespace: openshift-image-registry (2)
      spec:
        accessModes:
        - ReadWriteOnce (3)
        resources:
          requests:
            storage: 100Gi (4)
      1 表示PersistentVolumeClaim对象的唯一名称。
      2 PersistentVolumeClaim对象的命名空间,即openshift-image-registry
      3 持久卷声明的访问模式。使用ReadWriteOnce,单个节点可以以读写权限挂载卷。
      4 持久卷声明的大小。
    2. 输入以下命令从文件创建PersistentVolumeClaim对象

      $ oc create -f pvc.yaml -n openshift-image-registry
  3. 输入以下命令编辑注册表配置,使其引用正确的 PVC

    $ oc edit config.imageregistry.operator.openshift.io -o yaml
    示例输出
    storage:
      pvc:
        claim: (1)
    1 通过创建自定义 PVC,您可以将claim字段留空,以默认自动创建image-registry-storage PVC。

有关配置注册表存储以使其引用正确的 PVC 的说明,请参见 为 vSphere 配置注册表

OpenShift Container Platform 的遥测访问

在 OpenShift Container Platform 4.17 中,默认运行的遥测服务用于提供有关集群健康状况和更新成功的指标,需要互联网访问。如果您的集群已连接到互联网,则遥测会自动运行,并且您的集群已注册到 OpenShift 集群管理器

确认您的 OpenShift 集群管理器 库存正确后,无论是由遥测自动维护还是手动使用 OpenShift 集群管理器维护,使用订阅监控 以在帐户或多集群级别跟踪您的 OpenShift Container Platform 订阅。

其他资源

后续步骤