14.2. 使用 CLI 进行 vSphere 安装后配置
在启用了平台集成功能的 vSphere 上使用 Assisted Installer 安装 OpenShift Container Platform 集群后,您必须手动更新以下 vSphere 配置设置:
- vCenter 用户名
- vCenter 密码
- vCenter 地址
- vCenter 集群
- datacenter
- datastore
- folder
先决条件
- Assisted Installer 成功完成安装集群。
- 集群连接到 console.redhat.com。
流程
为 vCenter 生成 base64 编码的用户名和密码:
echo -n "<vcenter_username>" | base64 -w0
$ echo -n "<vcenter_username>" | base64 -w0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<vcenter_username>替换为您的 vCenter 用户名。echo -n "<vcenter_password>" | base64 -w0
$ echo -n "<vcenter_password>" | base64 -w0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<vcenter_password>替换为您的 vCenter 密码。备份 vSphere 凭证:
oc get secret vsphere-creds -o yaml -n kube-system > creds_backup.yaml
$ oc get secret vsphere-creds -o yaml -n kube-system > creds_backup.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑 vSphere 凭证:
cp creds_backup.yaml vsphere-creds.yaml
$ cp creds_backup.yaml vsphere-creds.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow vi vsphere-creds.yaml
$ vi vsphere-creds.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<vcenter_address>替换为 vCenter 地址。将<vcenter_username_encoded>替换为 vSphere 用户名的 base64 编码版本。将<vcenter_password_encoded>替换为 vSphere 密码的 base64 编码版本。替换 vSphere 凭证:
oc replace -f vsphere-creds.yaml
$ oc replace -f vsphere-creds.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重新部署 kube-controller-manager pod:
oc patch kubecontrollermanager cluster -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date --rfc-3339=ns )"'"}}' --type=merge$ oc patch kubecontrollermanager cluster -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date --rfc-3339=ns )"'"}}' --type=mergeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 备份 vSphere 云供应商配置:
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.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑云供应商配置:
cloud-provider-config_backup.yaml cloud-provider-config.yaml
$ cloud-provider-config_backup.yaml cloud-provider-config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow vi cloud-provider-config.yaml
$ vi cloud-provider-config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<vcenter_address>替换为 vCenter 地址。将<datacenter>替换为数据中心的名称。将<datastore>替换为数据存储的名称。将<folder>替换为包含集群虚拟机的文件夹。应用云供应商配置:
oc apply -f cloud-provider-config.yaml
$ oc apply -f cloud-provider-config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
uninitialized污点为集群加污点:重要如果要安装 OpenShift Container Platform 4.13 或更高版本,请执行以下的第 9 步到第 12 步。
识别要加污点的节点:
oc get nodes
$ oc get nodesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 对每个节点运行以下命令:
oc adm taint node <node_name> node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule
$ oc adm taint node <node_name> node.cloudprovider.kubernetes.io/uninitialized=true:NoScheduleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<node_name>替换为节点的名称。
示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 备份基础架构配置:
oc get infrastructures.config.openshift.io -o yaml > infrastructures.config.openshift.io.yaml.backup
$ oc get infrastructures.config.openshift.io -o yaml > infrastructures.config.openshift.io.yaml.backupCopy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑基础架构配置:
cp infrastructures.config.openshift.io.yaml.backup infrastructures.config.openshift.io.yaml
$ cp infrastructures.config.openshift.io.yaml.backup infrastructures.config.openshift.io.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow vi infrastructures.config.openshift.io.yaml
$ vi infrastructures.config.openshift.io.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<vcenter_address>替换为您的 vCenter 地址。将<datacenter>替换为 vCenter 数据中心的名称。将<datastore>替换为 vCenter 数据存储的名称。将<folder>替换为包含集群虚拟机的文件夹。将<vcenter_cluster>替换为安装 OpenShift Container Platform 的 vSphere vCenter 集群。应用基础架构配置:
oc apply -f infrastructures.config.openshift.io.yaml --overwrite=true
$ oc apply -f infrastructures.config.openshift.io.yaml --overwrite=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow