This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.第 10 章 在 Nutanix 上安装
10.1. 准备在 Nutanix 上安装 复制链接链接已复制到粘贴板!
在安装 OpenShift Container Platform 集群前,请确定您的 Nutanix 环境满足以下要求。
10.1.1. Nutanix 版本要求 复制链接链接已复制到粘贴板!
您必须将 OpenShift Container Platform 集群安装到符合以下要求的 Nutanix 环境。
组件 | 所需的版本 |
---|---|
Nutanix AOS | 5.20.4+ 或 6.1.1+ |
Prism Central | 2022.4+ |
10.1.2. 环境要求 复制链接链接已复制到粘贴板!
在安装 OpenShift Container Platform 集群前,请查看以下 Nutanix AOS 环境要求。
10.1.2.1. 所需的帐户权限 复制链接链接已复制到粘贴板!
安装程序需要访问具有所需权限的 Nutanix 帐户,以部署集群并维护其每日操作。以下选项可供您使用:
- 您可以使用具有管理特权的本地 Prism Central 用户帐户。使用本地帐户是授予对具有所需权限的帐户访问权限的最快的方法。
如果机构的安全策略要求您使用更严格的权限集,请使用下表中列出的权限在 Prism Central 中创建自定义 Cloud Native 角色。然后,您可以将角色分配给作为 Prism Central 身份验证目录成员的用户帐户。在为角色分配实体时,请确保用户只能访问部署虚拟机所需的 Prism Element 和子网。
如需更多信息,请参阅 Nutanix 文档中关于创建自定义云原生角色和分配角色的内容。
例 10.1. 创建自定义云原生角色所需的权限
Nutanix 对象 | Nutanix API 中所需的权限 | 描述 |
---|---|---|
Categories |
| 创建、读取和删除分配给 OpenShift Container Platform 机器的类别。 |
镜像 |
| 创建、读取和删除用于 OpenShift Container Platform 机器的操作系统镜像。 |
虚拟机 |
| 创建、读取和删除 OpenShift Container Platform 机器。 |
Clusters |
| 查看托管 OpenShift Container Platform 机器的 Prism Element 集群。 |
子网 |
| 查看托管 OpenShift Container Platform 机器的子网。 |
10.1.2.2. 集群限制 复制链接链接已复制到粘贴板!
可用资源因集群而异。Nutanix 环境中可能的集群数量主要受可用的存储空间限制,以及与集群所创建的资源相关的限制,以及部署集群所需的资源(如 IP 地址和网络)。
10.1.2.3. 集群资源 复制链接链接已复制到粘贴板!
使用标准集群至少需要 800 GB 存储。
当您部署使用安装程序置备的基础架构的 OpenShift Container Platform 集群时,安装程序必须能够在 Nutanix 实例中创建多个资源。虽然这些资源使用 856 GB 存储,但 bootstrap 节点会作为安装过程的一部分被销毁。
标准的 OpenShift Container Platform 安装会创建以下资源:
- 1 个标签
虚拟机:
- 1 个磁盘镜像
- 1 个临时 bootstrap 节点
- 3 个 control plane 节点
- 3 个计算机器
10.1.2.4. 网络要求 复制链接链接已复制到粘贴板!
网络必须使用 AHV IP 地址管理 (IPAM),并确保它被配置为为集群机器提供持久的 IP 地址。另外,在安装 OpenShift Container Platform 集群前创建以下网络资源:
- IP 地址
- DNS 记录
建议集群中的每个 OpenShift Container Platform 节点都可以访问可通过 DHCP 发现的网络时间协议 (NTP) 服务器。没有 NTP 服务器即可安装。但是,NTP 服务器可防止错误通常与异步服务器时钟相关联。
10.1.2.4.1. 所需的 IP 地址 复制链接链接已复制到粘贴板!
安装程序置备的安装需要两个静态虚拟 IP (VIP) 地址:
- API 的 VIP 地址是必需的。此地址用于访问集群 API。
- 需要一个 ingress 的 VIP 地址。此地址用于集群入口流量。
安装 OpenShift Container Platform 集群时,可以指定这些 IP 地址。
10.1.2.4.2. DNS 记录 复制链接链接已复制到粘贴板!
您必须在适当的 DNS 服务器中为托管 OpenShift Container Platform 集群的 Nutanix 实例创建两个静态 IP 地址的 DNS 记录。在每个记录中,<cluster_name>
是集群名称,<base_domain> 是您
在安装集群时指定的集群基域。
完整的 DNS 记录采用以下形式: <component>.<cluster_name>.<base_domain>.
。
组件 | 记录 | 描述 |
---|---|---|
API VIP |
| 此 DNS A/AAAA 或 CNAME 记录必须指向 control plane 机器的负载均衡器。此记录必须由集群外的客户端和集群中的所有节点解析。 |
Ingress VIP |
| 通配符 DNS A/AAAA 或 CNAME 记录,指向以运行入口路由器 Pod 的机器(默认为 worker 节点)为目标的负载均衡器。此记录必须由集群外的客户端和集群中的所有节点解析。 |
10.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 --help
$ ccoctl --help
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ccoctl --help
的输出Copy to Clipboard Copied! Toggle word wrap Toggle overflow