4.6. 在 IBM Power 上部署托管的 control plane


您可以通过将集群配置为充当托管集群来部署托管 control plane。托管的集群是一个托管 control plane 的 OpenShift Container Platform 集群。托管集群也称为管理集群。

注意

管理集群不是受管集群。受管集群是 hub 集群管理的集群。

multicluster engine Operator 只支持默认的 local-cluster,它是管理的 hub 集群,以及作为托管集群的 hub 集群。

要在裸机上置备托管的 control plane,您可以使用 Agent 平台。Agent 平台使用中央基础架构管理服务将 worker 节点添加到托管的集群中。如需更多信息,请参阅"启用中央基础架构管理服务"。

每个 IBM Power 主机都必须从中央基础架构管理提供的发现镜像启动。每个主机启动后,它会运行一个代理进程来发现主机的详细信息并完成安装。Agent 自定义资源代表每个主机。

当使用 Agent 平台创建托管集群时,Hyper HyperShift 会在托管的 control plane 命名空间中安装 Agent Cluster API 供应商。

4.6.1. 在 IBM Power 上配置托管的 control plane 的先决条件

  • 在 OpenShift Container Platform 集群上安装 Kubernetes Operator 版本 2.7 及更新的版本。安装 Red Hat Advanced Cluster Management (RHACM) 时会自动安装 multicluster engine Operator。您还可以在没有 RHACM 的情况下从 OpenShift Container Platform OperatorHub 安装 multicluster engine Operator。
  • multicluster engine Operator 必须至少有一个受管 OpenShift Container Platform 集群。local-cluster 受管 hub 集群会在 multicluster engine Operator 版本 2.7 及更高版本中自动导入。有关 local-cluster 的更多信息,请参阅 RHACM 文档中的高级配置。您可以运行以下命令来检查 hub 集群的状态:

    $ oc get managedclusters local-cluster
  • 您需要具有至少 3 个 worker 节点的托管集群来运行 HyperShift Operator。
  • 您需要启用中央基础架构管理服务。如需更多信息,请参阅"启用中央基础架构管理服务"。
  • 您需要安装托管的 control plane 命令行界面。如需更多信息,请参阅"安装托管的 control plane 命令行界面"。

托管的 control plane 功能默认启用。如果您禁用了这个功能并希望手动启用它,请参阅"手动启用托管的 control plane 功能"。如果您需要禁用该功能,请参阅"禁用托管的 control planes 功能"。

4.6.2. IBM Power 基础架构要求

Agent 平台不会创建任何基础架构,但需要以下基础架构资源:

  • 代理 : 代理 代表使用发现镜像引导的主机,并准备好置备为 OpenShift Container Platform 节点。
  • DNS :API 和入口端点必须可以被路由。

4.6.3. IBM Power 上托管的 control plane 的 DNS 配置

托管集群的 API 服务器已公开。必须存在 api.<hosted_cluster_name>.<basedomain> 的 DNS 条目,指向可以访问 API 服务器的目标。

DNS 条目可以是一个简单的记录,指向运行托管 control plane 的受管集群中的一个节点。

该条目也可以指向部署的负载均衡器,将传入的流量重定向到入口 pod。

请参阅以下 DNS 配置示例:

$ cat /var/named/<example.krnl.es.zone>

输出示例

$ TTL 900
@ IN  SOA bastion.example.krnl.es.com. hostmaster.example.krnl.es.com. (
      2019062002
      1D 1H 1W 3H )
  IN NS bastion.example.krnl.es.com.
;
;
api                   IN A 1xx.2x.2xx.1xx 1
api-int               IN A 1xx.2x.2xx.1xx
;
;
*.apps.<hosted-cluster-name>.<basedomain>           IN A 1xx.2x.2xx.1xx
;
;EOF

1
记录指的是 API 负载均衡器的 IP 地址,用于处理托管 control plane 的入口和出口流量。

对于 IBM Power,添加与代理 IP 地址对应的 IP 地址。

配置示例

compute-0              IN A 1xx.2x.2xx.1yy
compute-1              IN A 1xx.2x.2xx.1yy

4.6.4. 在裸机上创建托管集群

当使用 Agent 平台创建托管集群时,Hyper HyperShift 会在托管的 control plane 命名空间中安装 Agent Cluster API 供应商。您可以在裸机上创建托管集群或导入一个集群。

在创建托管集群时,请记住以下准则:

  • 每个托管集群都必须具有集群范围的唯一名称。托管的集群名称不能与任何现有的受管集群相同,以便多集群引擎 Operator 可以管理它。
  • 不要使用 clusters 作为托管的集群名称。
  • 无法在多集群引擎 Operator 受管集群的命名空间中创建托管集群。

流程

  1. 输入以下命令来创建托管的 control plane 命名空间:

    $ oc create ns <hosted_cluster_namespace>-<hosted_cluster_name>

    <hosted_cluster_namespace> 替换为托管集群命名空间名称,如 clusters。将 <hosted_cluster_name> 替换为托管集群的名称。

  2. 验证您是否为集群配置了默认存储类。否则,您可能会看到待处理的 PVC。运行以下命令:

    $ hcp create cluster agent \
        --name=<hosted_cluster_name> \1
        --pull-secret=<path_to_pull_secret> \2
        --agent-namespace=<hosted_control_plane_namespace> \3
        --base-domain=<basedomain> \4
        --api-server-address=api.<hosted_cluster_name>.<basedomain> \5
        --etcd-storage-class=<etcd_storage_class> \6
        --ssh-key  <path_to_ssh_public_key> \7
        --namespace <hosted_cluster_namespace> \8
        --control-plane-availability-policy HighlyAvailable \9
        --release-image=quay.io/openshift-release-dev/ocp-release:<ocp_release_image> 10
    1
    指定托管集群的名称,如 example
    2
    指定 pull secret 的路径,例如 /user/name/pullsecret
    3
    指定托管的 control plane 命名空间,如 cluster-example。使用 oc get agent -n <hosted_control_plane_namespace> 命令,确保此命名空间中有代理可用。
    4
    指定您的基域,如 krnl.es
    5
    --api-server-address 标志定义用于托管集群中的 Kubernetes API 通信的 IP 地址。如果没有设置 --api-server-address 标志,您必须登录以连接到管理集群。
    6
    指定 etcd 存储类名称,如 lvm-storageclass
    7
    指定 SSH 公钥的路径。默认文件路径为 ~/.ssh/id_rsa.pub
    8
    指定托管集群命名空间。
    9
    control plane 可用性策略的默认值为 HighlyAvailable
    10
    指定您要使用的 OpenShift Container Platform 版本,如 4.17.0-multi。如果您使用断开连接的环境,将 <ocp_release_image> 替换为摘要镜像。要提取 OpenShift Container Platform 发行镜像摘要,请参阅 提取 OpenShift Container Platform 发行镜像摘要
  3. 片刻后,输入以下命令验证托管 control plane pod 是否正在运行:

    $ oc -n <hosted_control_plane_namespace> get pods

    输出示例

    NAME                                             READY   STATUS    RESTARTS   AGE
    capi-provider-7dcf5fc4c4-nr9sq                   1/1     Running   0          4m32s
    catalog-operator-6cd867cc7-phb2q                 2/2     Running   0          2m50s
    certified-operators-catalog-884c756c4-zdt64      1/1     Running   0          2m51s
    cluster-api-f75d86f8c-56wfz                      1/1     Running   0          4m32s

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.