第 9 章 在 Nutanix 上安装


9.1. 准备在 Nutanix 上安装

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

9.1.1. Nutanix 版本要求

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

表 9.1. 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

Create_Category_Mapping
Create_Or_Update_Name_Category
Create_Or_Update_Value_Category
Delete_Category_Mapping
Delete_Name_Category
Delete_Value_Category
View_Category_Mapping
View_Name_Category
View_Value_Category

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

镜像

Always

Create_Image
Delete_Image
View_Image

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

虚拟机

Always

Create_Virtual_Machine
Delete_Virtual_Machine
View_Virtual_Machine

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

Clusters

Always

View_Cluster

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

子网

Always

View_Subnet

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

项目

如果您将项目与计算机器、control plane 机器或所有机器关联。

View_Project

查看 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>.

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

API VIP

api.<cluster_name>.<base_domain>.

此 DNS A/AAAA 或 CNAME 记录必须指向 control plane 机器的负载均衡器。此记录必须由集群外的客户端和集群中的所有节点解析。

Ingress VIP

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

通配符 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)。

流程

  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. 运行以下命令,将 CCO 容器镜像中的 ccoctl 二进制文件提取到 OpenShift Container Platform 发行镜像中:

    $ 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
      nutanix      Manage credentials objects for Nutanix
    
    Flags:
      -h, --help   help for ccoctl
    
    Use "ccoctl [command] --help" for more information about a command.

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.