5.5. 在 IBM Power 上管理托管的 control plane
在 IBM Power 上部署托管 control plane 后,您可以通过完成以下任务来管理托管集群。
5.5.1. 为 IBM Power 上的托管 control plane 创建 InfraEnv 资源
InfraEnv
是启动 live ISO 的主机可以作为代理加入的环境。在这种情况下,代理会在与您托管的 control plane 相同的命名空间中创建。
您可以在 64 位 x86 裸机上为 IBM Power 计算节点创建托管 control plane 的 InfraEnv
资源。
流程
创建 YAML 文件来配置
InfraEnv
资源。请参见以下示例:apiVersion: agent-install.openshift.io/v1beta1 kind: InfraEnv metadata: name: <hosted_cluster_name> \1 namespace: <hosted_control_plane_namespace> \2 spec: cpuArchitecture: ppc64le pullSecretRef: name: pull-secret sshAuthorizedKey: <path_to_ssh_public_key> 3
-
将文件保存为
infraenv-config.yaml
。 输入以下命令应用配置:
$ oc apply -f infraenv-config.yaml
要获取用于下载 live ISO 的 URL,它允许 IBM Power 机器作为代理加入,请输入以下命令:
$ oc -n <hosted_control_plane_namespace> get InfraEnv <hosted_cluster_name> -o json
5.5.2. 在 InfraEnv 资源中添加 IBM Power 代理
您可以通过手动配置机器以使用 live ISO 来添加代理。
流程
-
下载 live ISO,并使用它来启动裸机或虚拟机(VM)主机。您可以在
InfraEnv
资源的status.isoDownloadURL
字段中找到 live ISO 的 URL。在启动时,主机与 Assisted Service 通信,并作为与InfraEnv
资源相同的命名空间中的代理注册。 要列出代理及其属性,请输入以下命令:
$ oc -n <hosted_control_plane_namespace> get agents
输出示例
NAME CLUSTER APPROVED ROLE STAGE 86f7ac75-4fc4-4b36-8130-40fa12602218 auto-assign e57a637f-745b-496e-971d-1abbf03341ba auto-assign
创建每个代理后,您可以选择为代理设置
installation_disk_id
和hostname
:要为代理设置
installation_disk_id
字段,请输入以下命令:$ oc -n <hosted_control_plane_namespace> patch agent <agent_name> -p '{"spec":{"installation_disk_id":"<installation_disk_id>","approved":true}}' --type merge
要为代理设置
hostname
字段,请输入以下命令:$ oc -n <hosted_control_plane_namespace> patch agent <agent_name> -p '{"spec":{"hostname":"<hostname>","approved":true}}' --type merge
验证
要验证代理是否已批准使用,请输入以下命令:
$ oc -n <hosted_control_plane_namespace> get agents
输出示例
NAME CLUSTER APPROVED ROLE STAGE 86f7ac75-4fc4-4b36-8130-40fa12602218 true auto-assign e57a637f-745b-496e-971d-1abbf03341ba true auto-assign
5.5.3. 为 IBM Power 上的托管集群扩展 NodePool 对象
NodePool
对象在创建托管集群时创建。通过扩展 NodePool
对象,您可以将更多计算节点添加到托管的 control plane。
流程
运行以下命令,将
NodePool
对象扩展到两个节点:$ oc -n <hosted_cluster_namespace> scale nodepool <nodepool_name> --replicas 2
Cluster API 代理供应商会随机选择两个分配给托管集群的代理。这些代理会经历不同的状态,最终将托管集群作为 OpenShift Container Platform 节点加入。代理按以下顺序通过转换阶段:
-
binding
-
discovering
-
insufficient
-
installing
-
install-in-progress
-
added-to-existing-cluster
-
运行以下命令,以查看特定扩展代理的状态:
$ oc -n <hosted_control_plane_namespace> get agent -o jsonpath='{range .items[*]}BMH: {@.metadata.labels.agent-install\.openshift\.io/bmh} Agent: {@.metadata.name} State: {@.status.debugInfo.state}{"\n"}{end}'
输出示例
BMH: Agent: 50c23cda-cedc-9bbd-bcf1-9b3a5c75804d State: known-unbound BMH: Agent: 5e498cd3-542c-e54f-0c58-ed43e28b568a State: insufficient
运行以下命令来查看转换阶段:
$ oc -n <hosted_control_plane_namespace> get agent
输出示例
NAME CLUSTER APPROVED ROLE STAGE 50c23cda-cedc-9bbd-bcf1-9b3a5c75804d hosted-forwarder true auto-assign 5e498cd3-542c-e54f-0c58-ed43e28b568a true auto-assign da503cf1-a347-44f2-875c-4960ddb04091 hosted-forwarder true auto-assign
运行以下命令以生成
kubeconfig
文件来访问托管集群:$ hcp create kubeconfig --namespace <hosted_cluster_namespace> --name <hosted_cluster_name> > <hosted_cluster_name>.kubeconfig
代理访问
added-to-existing-cluster
状态后,输入以下命令验证您可以看到 OpenShift Container Platform 节点:$ oc --kubeconfig <hosted_cluster_name>.kubeconfig get nodes
输出示例
NAME STATUS ROLES AGE VERSION worker-zvm-0.hostedn.example.com Ready worker 5m41s v1.24.0+3882f8f worker-zvm-1.hostedn.example.com Ready worker 6m3s v1.24.0+3882f8f
输入以下命令验证在扩展
NodePool
对象时是否创建了两台机器:$ oc -n <hosted_control_plane_namespace> get machine.cluster.x-k8s.io
输出示例
NAME CLUSTER NODENAME PROVIDERID PHASE AGE VERSION hosted-forwarder-79558597ff-5tbqp hosted-forwarder-crqq5 worker-zvm-0.hostedn.example.com agent://50c23cda-cedc-9bbd-bcf1-9b3a5c75804d Running 41h 4.15.0 hosted-forwarder-79558597ff-lfjfk hosted-forwarder-crqq5 worker-zvm-1.hostedn.example.com agent://5e498cd3-542c-e54f-0c58-ed43e28b568a Running 41h 4.15.0
运行以下命令来检查集群版本:
$ oc --kubeconfig <hosted_cluster_name>.kubeconfig get clusterversion
输出示例
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS clusterversion.config.openshift.io/version 4.15.0 True False 40h Cluster version is 4.15.0
运行以下命令来检查 Cluster Operator 状态:
$ oc --kubeconfig <hosted_cluster_name>.kubeconfig get clusteroperators
对于集群的每个组件,输出显示以下 Cluster Operator 状态:
-
NAME
-
VERSION
-
AVAILABLE
-
PROGRESSING
-
DEGRADED
-
SINCE
-
MESSAGE
-
其他资源