第 9 章 在 Nutanix 上安装
9.1. 准备在 Nutanix 上安装 复制链接链接已复制到粘贴板!
在安装 OpenShift Container Platform 集群前,请确定您的 Nutanix 环境满足以下要求。
9.1.1. Nutanix 版本要求 复制链接链接已复制到粘贴板!
您必须将 OpenShift Container Platform 集群安装到符合以下要求的 Nutanix 环境。
组件 | 所需的版本 |
---|---|
Nutanix AOS | 6.5.2.7 或更高版本 |
Prism Central | pc.2022.6 或更高版本 |
9.1.2. 环境要求 复制链接链接已复制到粘贴板!
在安装 OpenShift Container Platform 集群前,请查看以下 Nutanix AOS 环境要求。
9.1.2.1. 所需的帐户权限 复制链接链接已复制到粘贴板!
安装程序需要访问具有所需权限的 Nutanix 帐户,以部署集群并维护其每日操作。以下选项可供您使用:
- 您可以使用具有管理特权的本地 Prism Central 用户帐户。使用本地帐户是授予对具有所需权限的帐户访问权限的最快的方法。
- 如果机构的安全策略要求您使用更严格的权限集,请使用下表中列出的权限在 Prism Central 中创建自定义 Cloud Native 角色。然后,您可以将角色分配给作为 Prism Central 身份验证目录成员的用户帐户。
管理此用户帐户时请考虑以下几点:
- 在为角色分配实体时,请确保用户只能访问部署虚拟机所需的 Prism Element 和子网。
- 确保该用户是需要为其分配虚拟机的项目的成员。
如需更多信息,请参阅 Nutanix 文档中有关自定义云原生角色, 分配角色, 和为项目添加用户的内容。
例 9.1. 创建自定义云原生角色所需的权限
Nutanix 对象 | 必要时 | Nutanix API 中所需的权限 | 描述 |
---|---|---|---|
Categories | Always |
| 创建、读取和删除分配给 OpenShift Container Platform 机器的类别。 |
镜像 | Always |
| 创建、读取和删除用于 OpenShift Container Platform 机器的操作系统镜像。 |
虚拟机 | Always |
| 创建、读取和删除 OpenShift Container Platform 机器。 |
Clusters | Always |
| 查看托管 OpenShift Container Platform 机器的 Prism Element 集群。 |
子网 | Always |
| 查看托管 OpenShift Container Platform 机器的子网。 |
项目 | 如果您将项目与计算机器、control plane 机器或所有机器关联。 |
| 查看 Prism Central 中定义的项目,并允许将项目分配给 OpenShift Container Platform 机器。 |
9.1.2.2. 集群限制 复制链接链接已复制到粘贴板!
可用资源因集群而异。Nutanix 环境中可能的集群数量主要受可用的存储空间限制,以及与集群所创建的资源相关的限制,以及部署集群所需的资源(如 IP 地址和网络)。
9.1.2.3. 集群资源 复制链接链接已复制到粘贴板!
使用标准集群至少需要 800 GB 存储。
当您部署使用安装程序置备的基础架构的 OpenShift Container Platform 集群时,安装程序必须能够在 Nutanix 实例中创建多个资源。虽然这些资源使用 856 GB 存储,但 bootstrap 节点会作为安装过程的一部分被销毁。
标准的 OpenShift Container Platform 安装会创建以下资源:
- 1 个标签
虚拟机:
- 1 个磁盘镜像
- 1 个临时 bootstrap 节点
- 3 个 control plane 节点
- 3 个计算机器
9.1.2.4. 网络要求 复制链接链接已复制到粘贴板!
您必须对网络使用 AHV IP 地址管理(IPAM)或动态主机配置协议(DHCP),并确保它被配置为为集群机器提供持久的 IP 地址。另外,在安装 OpenShift Container Platform 集群前创建以下网络资源:
- IP 地址
- DNS 记录
建议集群中的每个 OpenShift Container Platform 节点都可以访问可通过 DHCP 发现的网络时间协议 (NTP) 服务器。没有 NTP 服务器即可安装。但是,NTP 服务器可防止错误通常与异步服务器时钟相关联。
9.1.2.4.1. 所需的 IP 地址 复制链接链接已复制到粘贴板!
安装程序置备的安装需要两个静态虚拟 IP (VIP) 地址:
- API 的 VIP 地址是必需的。此地址用于访问集群 API。
- 需要一个 ingress 的 VIP 地址。此地址用于集群入口流量。
安装 OpenShift Container Platform 集群时,可以指定这些 IP 地址。
9.1.2.4.2. DNS 记录 复制链接链接已复制到粘贴板!
您必须在适当的 DNS 服务器中为托管 OpenShift Container Platform 集群的 Nutanix 实例创建两个静态 IP 地址的 DNS 记录。在每个记录中,<cluster_name>
是集群名称,<base_domain> 是您
在安装集群时指定的集群基域。
如果使用自己的 DNS 或 DHCP 服务器,还必须为每个节点创建记录,包括 bootstrap、control plane 和计算节点。
完整的 DNS 记录采用以下形式: <component>.<cluster_name>.<base_domain>.
。
组件 | 记录 | 描述 |
---|---|---|
API VIP |
| 此 DNS A/AAAA 或 CNAME 记录必须指向 control plane 机器的负载均衡器。此记录必须由集群外的客户端和集群中的所有节点解析。 |
Ingress VIP |
| 通配符 DNS A/AAAA 或 CNAME 记录,指向以运行入口路由器 Pod 的机器(默认为 worker 节点)为目标的负载均衡器。此记录必须由集群外的客户端和集群中的所有节点解析。 |
9.1.3. 配置 Cloud Credential Operator 工具 复制链接链接已复制到粘贴板!
Cloud Credential Operator(CCO)将云供应商凭证作为 Kubernetes 自定义资源定义(CRD)进行管理。要在 Nutanix 上安装集群,您必须将 CCO 设置为手动
模式,作为安装过程的一部分。
当 Cloud Credential Operator(CCO)以手动模式运行时,要从集群外部创建和管理云凭证,提取并准备 CCO 实用程序(ccoctl
)二进制文件。
ccoctl
工具是在 Linux 环境中运行的 Linux 二进制文件。
先决条件
- 您可以访问具有集群管理员权限的 OpenShift Container Platform 帐户。
-
已安装 OpenShift CLI(
oc
)。
流程
运行以下命令,为 OpenShift Container Platform 发行镜像设置变量:
RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $3}')
$ RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $3}')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,从 OpenShift Container Platform 发行镜像获取 CCO 容器镜像:
CCO_IMAGE=$(oc adm release info --image-for='cloud-credential-operator' $RELEASE_IMAGE -a ~/.pull-secret)
$ CCO_IMAGE=$(oc adm release info --image-for='cloud-credential-operator' $RELEASE_IMAGE -a ~/.pull-secret)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意确保
$RELEASE_IMAGE
的架构与将使用ccoctl
工具的环境架构相匹配。运行以下命令,将 CCO 容器镜像中的
ccoctl
二进制文件提取到 OpenShift Container Platform 发行镜像中:oc image extract $CCO_IMAGE --file="/usr/bin/ccoctl" -a ~/.pull-secret
$ oc image extract $CCO_IMAGE --file="/usr/bin/ccoctl" -a ~/.pull-secret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令更改权限以使
ccoctl
可执行:chmod 775 ccoctl
$ chmod 775 ccoctl
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
要验证
ccoctl
是否准备就绪,可以尝试显示帮助文件。运行命令时使用相对文件名,例如:./ccoctl.rhel9
$ ./ccoctl.rhel9
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow