4.5. 在 IBM Z 上部署托管的 control plane
您可以通过将集群配置为充当管理集群来部署托管的 control plane。管理集群是托管 control plane 的 OpenShift Container Platform 集群。管理集群也称为托管集群。
管理集群不是受管集群。受管集群是 hub 集群管理的集群。管理集群 可以在 x86_64 架构上运行 (从 OpenShift Container Platform 4.17 和 multicluster engine for Kubernetes Operator 2.7 开始支持),或在 s390x 架构上运行(从 OpenShift Container Platform 4.20 和 Kubernetes Operator 2.10 开始被支持)。
您可以使用 hypershift 附加组件将受管集群转换为管理集群。然后,您可以开始创建托管集群。
multicluster engine Operator 只支持默认的 local-cluster,它是管理的 hub 集群,而 hub 集群作为管理集群。
要在裸机上置备托管的 control plane,您可以使用 Agent 平台。Agent 平台使用中央基础架构管理服务将 worker 节点添加到托管的集群中。如需更多信息,请参阅"启用中央基础架构管理服务"。
每个 IBM Z 系统主机都必须使用 PXE 或 ISO 镜像启动,它们由中央基础架构管理提供。每个主机启动后,它会运行一个代理进程来发现主机的详细信息并完成安装。Agent 自定义资源代表每个主机。
当使用 Agent 平台创建托管集群时,HyperShift Operator 会在托管的 control plane 命名空间中安装 Agent Cluster API 供应商。
4.5.1. 在 IBM Z 上配置托管的 control plane 的先决条件 复制链接链接已复制到粘贴板!
- Kubernetes Operator 版本 2.7 或更高版本的多集群引擎必须安装在 OpenShift Container Platform 集群中。您可以从 OpenShift Container Platform OperatorHub 将 multicluster engine Operator 安装为 Operator。
multicluster engine Operator 必须至少有一个受管 OpenShift Container Platform 集群。
local-cluster在多集群引擎 Operator 2.7 及更新的版本中自动导入。有关local-cluster的更多信息,请参阅 Red Hat Advanced Cluster Management 中的高级配置部分。您可以运行以下命令来检查 hub 集群的状态:oc get managedclusters local-cluster
$ oc get managedclusters local-clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 您需要一个至少有三个 worker 节点的托管集群来运行 HyperShift Operator。
- 您需要启用中央基础架构管理服务。如需更多信息,请参阅启用中央基础架构管理服务。
- 您需要安装托管的 control plane 命令行界面。如需更多信息,请参阅安装托管的 control plane 命令行界面。
管理集群可以在 x86_64 架构上运行 (从 OpenShift Container Platform 4.17 和 multicluster engine for Kubernetes Operator 2.7 开始支持),或在 s390x 架构上运行(从 OpenShift Container Platform 4.20 和 Kubernetes Operator 2.10 开始被支持)。
4.5.2. IBM Z 基础架构要求 复制链接链接已复制到粘贴板!
Agent 平台不会创建任何基础架构,但需要以下基础架构资源:
- 代理 : 代理 代表使用发现镜像或 PXE 镜像引导的主机,并准备好置备为 OpenShift Container Platform 节点。
- DNS :API 和入口端点必须可以被路由。
托管的 control plane 功能默认启用。如果您禁用了该功能并希望手动启用它,或者需要禁用该功能,请参阅启用或禁用托管的 control plane 功能。
4.5.3. IBM Z 上托管的 control plane 的 DNS 配置 复制链接链接已复制到粘贴板!
托管集群的 API 服务器作为 NodePort 服务公开。必须存在 api.<hosted_cluster_name>.<base_domain> 的 DNS 条目,指向可以访问 API 服务器的目标。
DNS 条目可以是一个简单的记录,指向运行托管 control plane 的受管集群中的一个节点。
该条目也可以指向部署的负载均衡器,将传入的流量重定向到 Ingress pod。
请参阅以下 DNS 配置示例:
cat /var/named/<example.krnl.es.zone>
$ cat /var/named/<example.krnl.es.zone>
输出示例
- 1
- 记录指的是 API 负载均衡器的 IP 地址,用于处理托管 control plane 的入口和出口流量。
对于 IBM z/VM,添加与代理 IP 地址对应的 IP 地址。
compute-0 IN A 1xx.2x.2xx.1yy compute-1 IN A 1xx.2x.2xx.1yy
compute-0 IN A 1xx.2x.2xx.1yy
compute-1 IN A 1xx.2x.2xx.1yy
4.5.3.1. 定义自定义 DNS 名称 复制链接链接已复制到粘贴板!
作为集群管理员,您可以使用与用于节点 bootstrap 和 control plane 通信的内部端点不同的外部 API DNS 名称创建托管集群。您可能需要定义不同的 DNS 名称,理由如下:
- 将面向用户的 TLS 证书替换为公共 CA 中的一个,而不破坏绑定到内部 root CA 的 control plane 功能
- 支持 split-horizon DNS 和 NAT 场景
-
为确保与独立 control plane 类似的体验,您可以使用带有正确的
kubeconfig和 DNS 配置等功能,如Show Login Command功能。
您可以通过在 HostedCluster 对象的 kubeAPIServerDNSName 字段中输入域名来定义 DNS 名,这可以在初始设置时进行,或作为安装后的操作进行。
先决条件
-
您有一个有效的 TLS 证书,其中包含您将在
kubeAPIServerDNSName参数中设置的 DNS 名称。 - 您有一个可解析的 DNS 名称 URI,可以访问并指向正确的地址。
流程
在
HostedCluster对象的规格中,添加kubeAPIServerDNSName参数和域的地址,并指定要使用的证书,如下例所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
kubeAPIServerDNSName参数的值必须是有效且可寻址的域。
在定义了 kubeAPIServerDNSName 参数并指定证书后,Control Plane Operator 控制器会创建一个名为 custom-admin-kubeconfig 的 kubeconfig 文件,其中的文件存储在 HostedControlPlane 命名空间中。证书的生成来自 root CA,而 HostedControlPlane 命名空间则管理证书的过期和续订。
Control Plane Operator 在 HostedControlPlane 命名空间中报告一个名为 CustomKubeconfig 的新 kubeconfig 文件。该文件使用在 kubeAPIServerDNSName 参数中定义的新服务器。
自定义 kubeconfig 文件的引用存在于 status 参数中,作为 HostedCluster 对象的 CustomKubeconfig。CustomKubeConfig 参数是可选的,只有在 kubeAPIServerDNSName 参数不为空时才添加该参数。在设置了 CustomKubeConfig 参数后,参数会在 HostedCluster 命名空间中触发生成名为 <hosted_cluster_name>-custom-admin-kubeconfig 的 secret。您可以使用 secret 访问 HostedCluster API 服务器。如果在安装后操作过程中删除 CustomKubeConfig 参数,请删除所有相关 secret 和状态引用。
定义自定义 DNS 名称并不会直接影响数据平面,因此不会预期发生推出部署行为。HostedControlPlane 命名空间接收来自 HyperShift Operator 的更改,并删除对应的参数。
如果您从 HostedCluster 对象的规格中删除 kubeAPIServerDNSName 字段,则所有新生成的 secret 和 CustomKubeconfig 引用都会从集群和 status 字段中删除。
4.5.4. 为 IBM Z 在裸机中创建托管集群 复制链接链接已复制到粘贴板!
您可以创建托管集群或导入一个集群。当 Assisted Installer 作为 multicluster engine Operator 的附加组件启用,并使用 Agent 平台创建托管集群时,HyperShift Operator 会在托管的 control plane 命名空间中安装 Agent Cluster API 供应商。
4.5.4.1. 为 IBM Z 在裸机中创建托管集群 复制链接链接已复制到粘贴板!
在裸机基础架构上,您可以创建或导入托管集群。当 Assisted Installer 作为 multicluster engine Operator 的附加组件启用,并使用 Agent 平台创建托管集群时,HyperShift Operator 会在托管的 control plane 命名空间中安装 Agent Cluster API 供应商。Agent Cluster API 供应商连接托管 control plane 和一个仅由计算节点组成的托管集群的管理集群。
先决条件
- 每个托管集群都必须具有集群范围的唯一名称。托管的集群名称都不能与任何现有受管集群相同。否则,多集群引擎 Operator 无法管理托管集群。
-
不要使用
cluster作为托管的集群名称。 - 您不能在多集群引擎 Operator 受管集群的命名空间中创建托管集群。
- 为获得最佳安全性和管理实践,请创建一个与其他托管集群分开的托管集群。
- 验证您是否为集群配置了默认存储类。否则,您可能会看到待处理的持久性卷声明(PVC)。
流程
运行以下命令来创建命名空间:
oc create ns <hosted_cluster_namespace>
$ oc create ns <hosted_cluster_namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<hosted_cluster_namespace>替换为托管集群命名空间的标识符。HyperShift Operator 创建命名空间。在裸机基础架构上托管集群创建过程中,生成的 Cluster API 供应商角色需要命名空间已存在。输入以下命令为托管集群创建配置文件:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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 组件的可用性策略。支持的选项包括
SingleReplica和HighlyAvailable。默认值为HighlyAvailable。 - 10
- 指定您要使用的 OpenShift Container Platform 版本,如
4.19.0-multi。如果您使用断开连接的环境,将<ocp_release_image>替换为摘要镜像。要提取 OpenShift Container Platform 发行镜像摘要,请参阅 提取 OpenShift Container Platform 发行镜像摘要。 - 11
- 指定节点池副本数,如
3。您必须将副本数指定为0或更高,才能创建相同数量的副本。否则,不会创建节点池。 - 12
- 在
--ssh-key标志后,指定 SSH 密钥的路径,如user/.ssh/id_rsa。
输入以下命令将更改应用到托管集群配置文件:
oc apply -f hosted_cluster_config.yaml
$ oc apply -f hosted_cluster_config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令来检查托管集群、节点池和 pod 的创建:
oc get hostedcluster \ <hosted_cluster_name> -n \ <hosted_cluster_namespace> -o \ jsonpath='{.status.conditions[?(@.status=="False")]}' | jq .$ oc get hostedcluster \ <hosted_cluster_name> -n \ <hosted_cluster_namespace> -o \ jsonpath='{.status.conditions[?(@.status=="False")]}' | jq .Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get hostedcluster \ <nodepool_name> -n \ <hosted_cluster_namespace> -o \ jsonpath='{.status.conditions[?(@.status=="False")]}' | jq .$ oc get hostedcluster \ <nodepool_name> -n \ <hosted_cluster_namespace> -o \ jsonpath='{.status.conditions[?(@.status=="False")]}' | jq .Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get pods -n <hosted_control_plane_namespace>
$ oc get pods -n <hosted_control_plane_namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
确认托管集群已就绪。
Available: True的状态表示 control plane 的就绪状态。
4.5.5. 为 IBM Z 上托管的 control plane 创建 InfraEnv 资源 复制链接链接已复制到粘贴板!
InfraEnv 是一个使用 PXE 镜像引导的主机可作为代理加入的环境。在这种情况下,代理会在与您托管的 control plane 相同的命名空间中创建。
流程
创建 YAML 文件以包含配置。请参见以下示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将文件保存为
infraenv-config.yaml。 输入以下命令应用配置:
oc apply -f infraenv-config.yaml
$ oc apply -f infraenv-config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要获取下载 PXE 或 ISO 镜像的 URL,如
initrd.img、kernel.img或rootfs.img,它允许 IBM Z 机器作为代理加入,请输入以下命令:oc -n <hosted_control_plane_namespace> get InfraEnv <hosted_cluster_name> -o json
$ oc -n <hosted_control_plane_namespace> get InfraEnv <hosted_cluster_name> -o jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.6. 在 InfraEnv 资源中添加 IBM Z 代理 复制链接链接已复制到粘贴板!
要将计算节点附加到托管的 control plane,请创建有助于您扩展节点池的代理。在 IBM Z 环境中添加代理需要额外的步骤,这在本节中详细介绍。
除非另有说明,否则这些步骤适用于 IBM Z 和 IBM LinuxONE 上的 z/VM 和 RHEL KVM 安装。
4.5.6.1. 将 IBM Z KVM 作为代理添加 复制链接链接已复制到粘贴板!
对于带有 KVM 的 IBM Z,运行以下命令,使用从 InfraEnv 资源下载的 PXE 镜像启动 IBM Z 环境。创建代理后,主机与 Assisted Service 通信,并注册与管理集群上的 InfraEnv 资源相同的命名空间中。
流程
运行以下命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 ISO 引导,从
InfraEnv资源下载 ISO,并运行以下命令来引导节点:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.6.2. 添加 IBM Z LPAR 作为代理 复制链接链接已复制到粘贴板!
您可以在 IBM Z 或 IBM LinuxONE 上将逻辑分区(LPAR)作为计算节点添加到托管的 control plane。
流程
为代理创建引导参数文件:
参数文件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 对于
coreos.live.rootfs_url工件,请为您要启动的kernel和initramfs指定匹配的rootfs工件。仅支持 HTTP 和 HTTPS 协议。 - 2
- 对于
ip参数,请手动分配 IP 地址,如 在 IBM Z 和 IBM LinuxONE 中使用 z/VM 安装集群中所述。 - 3
- 对于在 DASD 类型磁盘中安装,请使用
rd.dasd指定要安装 Red Hat Enterprise Linux CoreOS (RHCOS) 的 DASD。对于在 FCP 类型磁盘中安装,请使用rd.zfcp=<adapter>,<wwpn>,<lun>指定要安装 RHCOS 的 FCP 磁盘。 - 4
- 使用 Open Systems Adapter (OSA) 或 HiperSockets 时指定此参数。
从
InfraEnv资源下载.ins和initrd.img.addrsize文件。默认情况下,
InfraEnv资源中没有.ins和initrd.img.addrsize文件的 URL。您必须编辑 URL 来获取这些工件。运行以下命令,将内核 URL 端点更新为包含
ins-file:curl -k -L -o generic.ins "< url for ins-file >"
$ curl -k -L -o generic.ins "< url for ins-file >"Copy to Clipboard Copied! Toggle word wrap Toggle overflow URL 示例
https://…/boot-artifacts/ins-file?arch=s390x&version=4.17.0
https://…/boot-artifacts/ins-file?arch=s390x&version=4.17.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新
initrdURL 端点,使其包含s390x-initrd-addrsize:URL 示例
https://…./s390x-initrd-addrsize?api_key=<api-key>&arch=s390x&version=4.17.0
https://…./s390x-initrd-addrsize?api_key=<api-key>&arch=s390x&version=4.17.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
将
initrd、kernel、common.ins和initrd.img.addrsize参数文件传输到文件服务器。有关如何使用 FTP 和引导传输文件的更多信息,请参阅"在 LPAR 中安装"。 - 启动机器。
- 对集群中的所有其他机器重复这个过程。
4.5.6.3. 添加 IBM z/VM 作为代理 复制链接链接已复制到粘贴板!
如果要将静态 IP 用于 z/VM 客户机,您必须为 z/VM 代理配置 NMStateConfig 属性,以便 IP 参数保留在第二个启动中。
完成以下步骤,使用从 InfraEnv 资源下载的 PXE 镜像启动 IBM Z 环境。创建代理后,主机与 Assisted Service 通信,并注册与管理集群上的 InfraEnv 资源相同的命名空间中。
流程
更新参数文件,以添加
rootfs_url、network_adaptor和disk_type值。参数文件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 对于
coreos.live.rootfs_url工件,请为您要启动的kernel和initramfs指定匹配的rootfs工件。仅支持 HTTP 和 HTTPS 协议。 - 2
- 对于
ip参数,请手动分配 IP 地址,如 在 IBM Z 和 IBM LinuxONE 中使用 z/VM 安装集群中所述。 - 3
- 对于在 DASD 类型磁盘中安装,请使用
rd.dasd指定要安装 Red Hat Enterprise Linux CoreOS (RHCOS) 的 DASD。对于在 FCP 类型磁盘中安装,请使用rd.zfcp=<adapter>,<wwpn>,<lun>指定要安装 RHCOS 的 FCP 磁盘。注意对于 FCP 多路径配置,请提供两个磁盘而不是一个。
Example
rd.zfcp=<adapter1>,<wwpn1>,<lun1> \ rd.zfcp=<adapter2>,<wwpn2>,<lun2>
rd.zfcp=<adapter1>,<wwpn1>,<lun1> \ rd.zfcp=<adapter2>,<wwpn2>,<lun2>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 4
- 使用 Open Systems Adapter (OSA) 或 HiperSockets 时指定此参数。
运行以下命令,将
initrd、内核镜像和参数文件移到客户虚拟机中:vmur pun -r -u -N kernel.img $INSTALLERKERNELLOCATION/<image name>
vmur pun -r -u -N kernel.img $INSTALLERKERNELLOCATION/<image name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow vmur pun -r -u -N generic.parm $PARMFILELOCATION/paramfilename
vmur pun -r -u -N generic.parm $PARMFILELOCATION/paramfilenameCopy to Clipboard Copied! Toggle word wrap Toggle overflow vmur pun -r -u -N initrd.img $INSTALLERINITRAMFSLOCATION/<image name>
vmur pun -r -u -N initrd.img $INSTALLERINITRAMFSLOCATION/<image name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从客户机虚拟机控制台运行以下命令:
cp ipl c
cp ipl cCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要列出代理及其属性,请输入以下命令:
oc -n <hosted_control_plane_namespace> get agents
$ oc -n <hosted_control_plane_namespace> get agentsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME CLUSTER APPROVED ROLE STAGE 50c23cda-cedc-9bbd-bcf1-9b3a5c75804d auto-assign 5e498cd3-542c-e54f-0c58-ed43e28b568a auto-assign
NAME CLUSTER APPROVED ROLE STAGE 50c23cda-cedc-9bbd-bcf1-9b3a5c75804d auto-assign 5e498cd3-542c-e54f-0c58-ed43e28b568a auto-assignCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来批准代理。
oc -n <hosted_control_plane_namespace> patch agent \ 50c23cda-cedc-9bbd-bcf1-9b3a5c75804d -p \ '{"spec":{"installation_disk_id":"/dev/sda","approved":true,"hostname":"worker-zvm-0.hostedn.example.com"}}' \ --type merge$ oc -n <hosted_control_plane_namespace> patch agent \ 50c23cda-cedc-9bbd-bcf1-9b3a5c75804d -p \ '{"spec":{"installation_disk_id":"/dev/sda","approved":true,"hostname":"worker-zvm-0.hostedn.example.com"}}' \1 --type mergeCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 另外,您还可以在规格中设置代理 ID
<installation_disk_id>和<hostname>。
运行以下命令验证代理是否已批准:
oc -n <hosted_control_plane_namespace> get agents
$ oc -n <hosted_control_plane_namespace> get agentsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME CLUSTER APPROVED ROLE STAGE 50c23cda-cedc-9bbd-bcf1-9b3a5c75804d true auto-assign 5e498cd3-542c-e54f-0c58-ed43e28b568a true auto-assign
NAME CLUSTER APPROVED ROLE STAGE 50c23cda-cedc-9bbd-bcf1-9b3a5c75804d true auto-assign 5e498cd3-542c-e54f-0c58-ed43e28b568a true auto-assignCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.7. 为 IBM Z 上托管集群扩展 NodePool 对象 复制链接链接已复制到粘贴板!
NodePool 对象在创建托管集群时创建。通过扩展 NodePool 对象,您可以在托管的 control plane 中添加更多计算节点。
当您扩展节点池时,会创建一个机器。Cluster API 供应商会找到已批准的、通过验证的、当前没有被使用但满足节点池规格中指定的要求的代理。您可以通过检查其状态和条件来监控代理的安装。
流程
运行以下命令,将
NodePool对象扩展到两个节点:oc -n <clusters_namespace> scale nodepool <nodepool_name> --replicas 2
$ oc -n <clusters_namespace> scale nodepool <nodepool_name> --replicas 2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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}'$ 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}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
BMH: Agent: 50c23cda-cedc-9bbd-bcf1-9b3a5c75804d State: known-unbound BMH: Agent: 5e498cd3-542c-e54f-0c58-ed43e28b568a State: insufficient
BMH: Agent: 50c23cda-cedc-9bbd-bcf1-9b3a5c75804d State: known-unbound BMH: Agent: 5e498cd3-542c-e54f-0c58-ed43e28b568a State: insufficientCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来查看转换阶段:
oc -n <hosted_control_plane_namespace> get agent
$ oc -n <hosted_control_plane_namespace> get agentCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
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
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-assignCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令以生成
kubeconfig文件来访问托管集群:hcp create kubeconfig \ --namespace <clusters_namespace> \ --name <hosted_cluster_namespace> > <hosted_cluster_name>.kubeconfig
$ hcp create kubeconfig \ --namespace <clusters_namespace> \ --name <hosted_cluster_namespace> > <hosted_cluster_name>.kubeconfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow 代理访问
added-to-existing-cluster状态后,输入以下命令验证您可以看到 OpenShift Container Platform 节点:oc --kubeconfig <hosted_cluster_name>.kubeconfig get nodes
$ oc --kubeconfig <hosted_cluster_name>.kubeconfig get nodesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
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
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+3882f8fCopy to Clipboard Copied! Toggle word wrap Toggle overflow 集群 Operator 开始通过向节点添加工作负载来协调。
输入以下命令验证在扩展
NodePool对象时是否创建了两台机器:oc -n <hosted_control_plane_namespace> get machine.cluster.x-k8s.io
$ oc -n <hosted_control_plane_namespace> get machine.cluster.x-k8s.ioCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
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
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.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来检查集群版本:
oc --kubeconfig <hosted_cluster_name>.kubeconfig get clusterversion,co
$ oc --kubeconfig <hosted_cluster_name>.kubeconfig get clusterversion,coCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS clusterversion.config.openshift.io/version 4.15.0-ec.2 True False 40h Cluster version is 4.15.0-ec.2
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS clusterversion.config.openshift.io/version 4.15.0-ec.2 True False 40h Cluster version is 4.15.0-ec.2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来检查集群 Operator 状态:
oc --kubeconfig <hosted_cluster_name>.kubeconfig get clusteroperators
$ oc --kubeconfig <hosted_cluster_name>.kubeconfig get clusteroperatorsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
对于集群的每个组件,输出显示以下集群操作器状态: NAME,VERSION,AVAILABLE,PROGRESSING,DEGRADED,SINCE, 和 MESSAGE。
如需输出示例,请参阅 Initial Operator 配置。