×

在安装 OpenShift Container Platform 集群之前,请确保您的 Nutanix 环境满足以下要求。

Nutanix 版本要求

您必须将 OpenShift Container Platform 集群安装到满足以下要求的 Nutanix 环境中。

表 1. Nutanix 虚拟环境的版本要求
组件 所需版本

Nutanix AOS

6.5.2.7 或更高版本

Prism Central

pc.2022.6 或更高版本

环境要求

在安装 OpenShift Container Platform 集群之前,请查看以下 Nutanix AOS 环境要求。

所需的帐户权限

安装程序需要访问具有必要权限的 Nutanix 帐户才能部署集群并维护其日常操作。您可以选择以下选项:

  • 您可以使用具有管理员权限的本地 Prism Central 用户帐户。使用本地帐户是授予具有所需权限的帐户访问权限的最快方法。

  • 如果贵组织的安全策略要求您使用更严格的权限集,请使用下表中列出的权限在 Prism Central 中创建自定义云原生角色。然后,您可以将该角色分配给作为 Prism Central 身份验证目录成员的用户帐户。

管理此用户帐户时,请考虑以下事项:

  • 将实体分配给角色时,请确保用户只能访问部署虚拟机所需的 Prism Element 和子网。

  • 确保用户是需要向其分配虚拟机的项目的成员。

有关更多信息,请参阅有关创建自定义云原生角色分配角色将用户添加到项目 的 Nutanix 文档。

创建自定义云原生角色所需的权限
Nutanix 对象 需要时 Nutanix API 中所需的权限 描述

类别

始终

创建类别映射
创建或更新名称类别
创建或更新值类别
删除类别映射
删除名称类别
删除值类别
查看类别映射
查看名称类别
查看值类别

创建、读取和删除分配给 OpenShift Container Platform 机器的类别。

镜像

始终

创建镜像
删除镜像
查看镜像

创建、读取和删除 OpenShift Container Platform 机器使用的操作系统镜像。

虚拟机

始终

创建虚拟机
删除虚拟机
查看虚拟机

创建、读取和删除 OpenShift Container Platform 机器。

集群

始终

查看集群

查看托管 OpenShift Container Platform 机器的 Prism Element 集群。

子网

始终

查看子网

查看托管 OpenShift Container Platform 机器的子网。

项目

如果您要将项目与计算机器、控制平面机器或所有机器关联。

查看项目

查看在 Prism Central 中定义的项目,并允许将项目分配给 OpenShift Container Platform 机器。

集群限制

不同集群之间的可用资源有所不同。Nutanix 环境中可能的集群数量主要受可用存储空间以及与集群创建的资源和部署集群所需的资源(例如 IP 地址和网络)相关的任何限制的限制。

集群资源

使用标准集群需要至少 800 GB 的存储空间。

部署使用安装程序预配基础设施的 OpenShift Container Platform 集群时,安装程序必须能够在您的 Nutanix 实例中创建多个资源。虽然这些资源使用 856 GB 的存储空间,但在安装过程中会销毁引导节点。

标准 OpenShift Container Platform 安装会创建以下资源

  • 1 个标签

  • 虚拟机

    • 1 个磁盘镜像

    • 1 个临时引导节点

    • 3 个控制平面节点

    • 3 个计算机器

网络要求

您必须对网络使用 AHV IP 地址管理 (IPAM) 或动态主机配置协议 (DHCP),并确保将其配置为为集群机器提供持久性 IP 地址。此外,在安装 OpenShift Container Platform 集群之前,请创建以下网络资源

  • IP 地址

  • DNS 记录

Nutanix Flow 虚拟网络支持新的集群安装。要使用此功能,请在安装前启用 AHV 集群上的 Flow 虚拟网络。有关更多信息,请参阅 Flow 虚拟网络概述

建议集群中的每个 OpenShift Container Platform 节点都能访问可通过 DHCP 发现的网络时间协议 (NTP) 服务器。无需 NTP 服务器即可安装。但是,NTP 服务器可以防止通常与异步服务器时钟相关的错误。

所需的 IP 地址

安装程序预配安装需要两个静态虚拟 IP (VIP) 地址

  • 需要一个用于 API 的 VIP 地址。此地址用于访问集群 API。

  • 需要一个用于入口的 VIP 地址。此地址用于集群入口流量。

安装 OpenShift Container Platform 集群时,您将指定这些 IP 地址。

DNS 记录

您必须在托管 OpenShift Container Platform 集群的 Nutanix 实例的相应 DNS 服务器中为两个静态 IP 地址创建 DNS 记录。在每个记录中,<cluster_name> 是集群名称,<base_domain> 是您在安装集群时指定的集群基本域。

如果您使用自己的 DNS 或 DHCP 服务器,则还必须为每个节点创建记录,包括引导节点、控制平面节点和计算节点。

完整的 DNS 记录格式为:<component>.<cluster_name>.<base_domain>.

表 2. 所需的 DNS 记录
组件 记录 描述

API VIP

api.<cluster_name>.<base_domain>.

此 DNS A/AAAA 或 CNAME 记录必须指向控制平面机器的负载均衡器。集群外部的客户端和集群内的所有节点都必须能够解析此记录。

入口 VIP

*.apps.<cluster_name>.<base_domain>.

指向负载均衡器的通配符 DNS A/AAAA 或 CNAME 记录,该负载均衡器以默认情况下为工作节点的机器为目标,这些机器运行入口路由器 pod。集群外部的客户端和集群内的所有节点都必须能够解析此记录。

配置云凭据运算符实用程序

云凭据运算符 (CCO) 将云提供商凭据管理为 Kubernetes 自定义资源定义 (CRD)。要在 Nutanix 上安装集群,必须在安装过程中将 CCO 设置为manual模式。

当云凭据运算符 (CCO) 以手动模式运行时,要从集群外部创建和管理云凭据,请提取并准备 CCO 实用程序 (ccoctl) 二进制文件。

ccoctl 实用程序是一个 Linux 二进制文件,必须在 Linux 环境中运行。

先决条件
  • 您可以访问具有集群管理员访问权限的 OpenShift Container Platform 帐户。

  • 您已安装 OpenShift CLI (oc)。

步骤
  1. 通过运行以下命令设置 OpenShift Container Platform 发行版镜像的变量

    $ RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $3}')
  2. 通过运行以下命令从 OpenShift Container Platform 发行版镜像中获取 CCO 容器镜像

    $ CCO_IMAGE=$(oc adm release info --image-for='cloud-credential-operator' $RELEASE_IMAGE -a ~/.pull-secret)

    确保$RELEASE_IMAGE的架构与您将使用ccoctl工具的环境架构匹配。

  3. 通过运行以下命令从 OpenShift Container Platform 发行版镜像中的 CCO 容器镜像中提取ccoctl二进制文件

    $ oc image extract $CCO_IMAGE \
      --file="/usr/bin/ccoctl.<rhel_version>" \(1)
      -a ~/.pull-secret
    1 对于<rhel_version>,请指定与主机使用的 Red Hat Enterprise Linux (RHEL) 版本相对应的值。如果未指定值,则默认使用ccoctl.rhel8。以下值为有效值
    • rhel8:对于使用 RHEL 8 的主机,请指定此值。

    • rhel9:对于使用 RHEL 9 的主机,请指定此值。

  4. 运行以下命令更改权限,使ccoctl可执行。

    $ chmod 775 ccoctl.<rhel_version>
验证
  • 要验证ccoctl是否可以使用,请显示帮助文件。运行命令时,请使用相对文件名,例如:

    $ ./ccoctl.rhel9
    示例输出
    OpenShift credentials provisioning tool
    
    Usage:
      ccoctl [command]
    
    Available Commands:
      aws          Manage credentials objects for AWS cloud
      azure        Manage credentials objects for Azure
      gcp          Manage credentials objects for Google cloud
      help         Help about any command
      ibmcloud     Manage credentials objects for {ibm-cloud-title}
      nutanix      Manage credentials objects for Nutanix
    
    Flags:
      -h, --help   help for ccoctl
    
    Use "ccoctl [command] --help" for more information about a command.