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 资源。

流程

  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> 替换为托管的 control plane 命名空间的名称,如 cluster-hosted
    3
    <path_to_ssh_public_key> 替换为 SSH 公钥的路径。默认文件路径为 ~/.ssh/id_rsa.pub
  2. 将文件保存为 infraenv-config.yaml
  3. 输入以下命令应用配置:

    $ oc apply -f infraenv-config.yaml
  4. 要获取用于下载 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 来添加代理。

流程

  1. 下载 live ISO,并使用它来启动裸机或虚拟机(VM)主机。您可以在 InfraEnv 资源的 status.isoDownloadURL 字段中找到 live 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

5.5.3. 为 IBM Power 上的托管集群扩展 NodePool 对象

NodePool 对象在创建托管集群时创建。通过扩展 NodePool 对象,您可以将更多计算节点添加到托管的 control plane。

流程

  1. 运行以下命令,将 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
  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. 运行以下命令来检查 Cluster Operator 状态:

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

    对于集群的每个组件,输出显示以下 Cluster Operator 状态:

    • NAME
    • VERSION
    • AVAILABLE
    • PROGRESSING
    • DEGRADED
    • SINCE
    • MESSAGE
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.