×

部署 IBM Power 上的托管控制平面后,您可以通过完成以下任务来管理托管集群。

为 IBM Power 上的托管控制平面创建 InfraEnv 资源

InfraEnv 是一个环境,其中启动实时 ISO 的主机可以作为代理加入。在这种情况下,代理在与托管控制平面相同的命名空间中创建。

您可以为 IBM Power 计算节点上的 64 位 x86 裸机上的托管控制平面创建 InfraEnv 资源。

步骤
  1. 创建一个 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)
    1 <hosted_cluster_name> 替换为托管集群的名称。
    2 <hosted_control_plane_namespace> 替换为托管控制平面命名空间的名称,例如 clusters-hosted
    3 <path_to_ssh_public_key> 替换为 SSH 公钥的路径。默认文件路径为 ~/.ssh/id_rsa.pub
  2. 将文件保存为 infraenv-config.yaml

  3. 使用以下命令应用配置

    $ oc apply -f infraenv-config.yaml
  4. 要获取下载实时 ISO 的 URL(允许 IBM Power 机器作为代理加入),请输入以下命令

    $ oc -n <hosted_control_plane_namespace> get InfraEnv <hosted_cluster_name> -o json

将 IBM Power 代理添加到 InfraEnv 资源

您可以通过手动配置机器以实时 ISO 启动来添加代理。

步骤
  1. 下载实时 ISO 并使用它启动裸机或虚拟机 (VM) 主机。您可以在 InfraEnv 资源的 status.isoDownloadURL 字段中找到实时 ISO 的 URL。启动时,主机与 Assisted Service 通信并在与 InfraEnv 资源相同的命名空间中注册为代理。

  2. 要列出代理及其部分属性,请输入以下命令

    $ 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
  3. 创建每个代理后,您可以选择为代理设置 installation_disk_idhostname

    1. 要为代理设置 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
    2. 要为代理设置 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

调整 IBM Power 上托管集群的 NodePool 对象的规模

创建托管集群时会创建 NodePool 对象。通过调整 NodePool 对象的规模,您可以向托管控制平面添加更多计算节点。

步骤
  1. 运行以下命令将 NodePool 对象的规模调整为两个节点

    $ oc -n <hosted_cluster_namespace> scale nodepool <nodepool_name> --replicas 2

    Cluster API 代理提供程序会随机选择两个代理,然后将其分配给托管集群。这些代理会经历不同的状态,最终作为 OpenShift Container Platform 节点加入托管集群。代理按以下顺序经过转换阶段

    • 绑定

    • 发现

    • 不足

    • 安装

    • 安装中

    • 添加到现有集群

  2. 运行以下命令以查看特定已调整规模代理的状态

    $ 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
  3. 运行以下命令查看转换阶段

    $ 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
  4. 运行以下命令生成用于访问托管集群的 kubeconfig 文件

    $ hcp create kubeconfig --namespace <hosted_cluster_namespace> --name <hosted_cluster_name> > <hosted_cluster_name>.kubeconfig
  5. 代理达到 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
  6. 输入以下命令以验证在您向上扩展 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
  7. 运行以下命令检查集群版本。

    $ 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
  8. 运行以下命令检查集群操作员状态。

    $ oc --kubeconfig <hosted_cluster_name>.kubeconfig get clusteroperators

    对于集群的每个组件,输出都会显示以下集群操作员状态

    • 名称

    • 版本

    • 可用

    • 正在进行

    • 已降级

    • 消息