12.3. Nutanix 安装后配置
完成并验证 OpenShift Container Platform 与 Nutanix 云供应商的集成。
默认情况下,安装程序会下载并安装 Red Hat Enterprise Linux CoreOS (RHCOS)镜像。如果 Prism Central 无法访问互联网,您可以在任何 HTTP 服务器上托管 RHCOS 镜像,并将安装程序指向镜像,也可以使用 Prism Central 手动上传镜像。
12.3.1. 更新 Nutanix 配置设置 复制链接链接已复制到粘贴板!
使用 Assisted Installer 在 Nutanix 平台上安装 OpenShift Container Platform 后,手动更新以下 Nutanix 配置设置。
先决条件
- 您有 Nutanix Prism Element 用户名。
- 您有 Nutanix Prism Element 密码。
- 您有 Nutanix Prism 存储容器。
- Assisted Installer 成功完成安装集群。
- 您已将集群连接到 console.redhat.com。
- 您可以访问 Red Hat OpenShift Container Platform 命令行界面。
流程
在 OpenShift Container Platform 命令行界面中,更新 Nutanix 集群配置设置:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
infrastructure.config.openshift.io/cluster patched
infrastructure.config.openshift.io/cluster patched
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如需了解更多详细信息,请参阅在 Nutanix 上创建计算机器集。
注意可选:您可以定义 prism category 键值对。这些类别键值对必须在 Prism Central 中存在。您可以为计算节点、control plane 节点或所有节点在单独的类别中定义键值对。
创建 Nutanix secret:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
secret/nutanix-credentials created
secret/nutanix-credentials created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 安装 OpenShift Container Platform 版本 4.13 或更高版本时,更新 Nutanix 云提供商配置:
获取 Nutanix 云提供商配置 YAML 文件:
oc get cm cloud-provider-config -o yaml -n openshift-config > cloud-provider-config-backup.yaml
$ oc get cm cloud-provider-config -o yaml -n openshift-config > cloud-provider-config-backup.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个配置文件的备份:
cp cloud-provider-config_backup.yaml cloud-provider-config.yaml
$ cp cloud-provider-config_backup.yaml cloud-provider-config.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 打开配置 YAML 文件:
$ vi cloud-provider-config.yaml
$ vi cloud-provider-config.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑配置 YAML 文件,如下所示:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用配置更新:
oc apply -f cloud-provider-config.yaml
$ oc apply -f cloud-provider-config.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Warning: resource configmaps/cloud-provider-config is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically. configmap/cloud-provider-config configured
Warning: resource configmaps/cloud-provider-config is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically. configmap/cloud-provider-config configured
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
12.3.2. 创建 Nutanix CSI Operator 组 复制链接链接已复制到粘贴板!
为 Nutanix CSI Operator 创建一个 Operator 组。
有关 operator 组和相关概念的描述,请参阅 通用 Operator Framework 术语。
先决条件
- 您已更新了 Nutanix 配置设置。
流程
打开 Nutanix CSI Operator Group YAML 文件:
$ vi openshift-cluster-csi-drivers-operator-group.yaml
$ vi openshift-cluster-csi-drivers-operator-group.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑 YAML 文件,如下所示:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 Operator 组:
oc create -f openshift-cluster-csi-drivers-operator-group.yaml
$ oc create -f openshift-cluster-csi-drivers-operator-group.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
operatorgroup.operators.coreos.com/openshift-cluster-csi-driversjw9cd created
operatorgroup.operators.coreos.com/openshift-cluster-csi-driversjw9cd created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
12.3.3. 安装 Nutanix CSI Operator 复制链接链接已复制到粘贴板!
Kubernetes 的 Nutanix Container Storage Interface (CSI) Operator 部署和管理 Nutanix CSI 驱动程序。
有关通过 OpenShift Container Platform Web 控制台执行此步骤的说明,请参阅 Nutanix CSI Operator 文档中的 安装 Operator 部分。
先决条件
- 您已创建了 Nutanix CSI Operator 组。
流程
获取 Nutanix CSI Operator YAML 文件的参数值:
检查 Nutanix CSI Operator 是否存在:
oc get packagemanifests | grep nutanix
$ oc get packagemanifests | grep nutanix
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
nutanixcsioperator Certified Operators 129m
nutanixcsioperator Certified Operators 129m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 Operator 的默认渠道分配给一个 BASH 变量:
DEFAULT_CHANNEL=$(oc get packagemanifests nutanixcsioperator -o jsonpath={.status.defaultChannel})
$ DEFAULT_CHANNEL=$(oc get packagemanifests nutanixcsioperator -o jsonpath={.status.defaultChannel})
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 Operator 的起始集群服务版本(CSV)分配给一个 BASH 变量:
STARTING_CSV=$(oc get packagemanifests nutanixcsioperator -o jsonpath=\{.status.channels[*].currentCSV\})
$ STARTING_CSV=$(oc get packagemanifests nutanixcsioperator -o jsonpath=\{.status.channels[*].currentCSV\})
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将订阅的目录源分配给一个 BASH 变量:
CATALOG_SOURCE=$(oc get packagemanifests nutanixcsioperator -o jsonpath=\{.status.catalogSource\})
$ CATALOG_SOURCE=$(oc get packagemanifests nutanixcsioperator -o jsonpath=\{.status.catalogSource\})
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 Nutanix CSI Operator 源命名空间分配给一个 BASH 变量:
SOURCE_NAMESPACE=$(oc get packagemanifests nutanixcsioperator -o jsonpath=\{.status.catalogSourceNamespace\})
$ SOURCE_NAMESPACE=$(oc get packagemanifests nutanixcsioperator -o jsonpath=\{.status.catalogSourceNamespace\})
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
使用 BASH 变量创建 Nutanix CSI Operator YAML 文件:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 CSI Nutanix Operator:
oc apply -f nutanixcsioperator.yaml
$ oc apply -f nutanixcsioperator.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
subscription.operators.coreos.com/nutanixcsioperator created
subscription.operators.coreos.com/nutanixcsioperator created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,直到 Operator 订阅状态变为
AtLatestKnown
。这表示已创建了 Operator 订阅,可能需要一些时间。oc get subscription nutanixcsioperator -n openshift-cluster-csi-drivers -o 'jsonpath={..status.state}'
$ oc get subscription nutanixcsioperator -n openshift-cluster-csi-drivers -o 'jsonpath={..status.state}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
12.3.4. 部署 Nutanix CSI 存储驱动程序 复制链接链接已复制到粘贴板!
Kubernetes 的 Nutanix Container Storage Interface (CSI)驱动程序为有状态的应用程序提供可扩展的和持久的存储。
有关通过 OpenShift Container Platform Web 控制台执行此步骤的说明,请参阅 Nutanix CSI Operator 文档中的使用 Operator 安装 CSI Driver 部分。
先决条件
- 已安装 Nutanix CSI Operator。
流程
创建一个
NutanixCsiStorage
资源来部署驱动程序:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
snutanixcsistorage.crd.nutanix.com/nutanixcsistorage created
snutanixcsistorage.crd.nutanix.com/nutanixcsistorage created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为 CSI 存储驱动程序创建一个 Nutanix secret YAML 文件:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 使用实际值替换这些参数,并保持相同的格式。
输出示例
secret/nutanix-secret created
secret/nutanix-secret created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
12.3.5. 验证安装后配置 复制链接链接已复制到粘贴板!
验证您是否可以创建存储类和绑定的持久性卷声明。
先决条件
- 您已部署了 Nutanix CSI 存储驱动程序。
流程
验证您是否可以创建一个存储类:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意- 1
- 从 Nutanix 配置中获取 <nutanix_storage_container>,例如 SelfServiceContainer。
输出示例
storageclass.storage.k8s.io/nutanix-volume created
storageclass.storage.k8s.io/nutanix-volume created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证您是否可以创建 Nutanix 持久性卷声明(PVC):
创建持久性卷声明(PVC):
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
persistentvolumeclaim/nutanix-volume-pvc created
persistentvolumeclaim/nutanix-volume-pvc created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证持久性卷声明(PVC)状态是否为 Bound:
oc get pvc -n openshift-cluster-csi-drivers
$ oc get pvc -n openshift-cluster-csi-drivers
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE nutanix-volume-pvc Bound nutanix-volume 52s
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE nutanix-volume-pvc Bound nutanix-volume 52s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow