This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.19.13. 创建自定义资源以安装单个受管集群
此流程告诉您如何手动创建和部署单个受管集群。如果您要创建多个集群(可能是数百个),请使用"为多个受管集群创建 ZTP 自定义资源"中所述的 SiteConfig
方法。
先决条件
- 启用辅助安装程序服务.
确保网络连接:
- hub 中的容器必须能够访问目标裸机主机的 Baseboard Management Controller(BMC)地址。
受管集群必须能够解析并访问 hub 的 API
hostname
和*.app
hostname。hub API 和*.app
主机名示例:console-openshift-console.apps.hub-cluster.internal.domain.com api.hub-cluster.internal.domain.com
console-openshift-console.apps.hub-cluster.internal.domain.com api.hub-cluster.internal.domain.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow hub 必须能够解析并访问受管集群的 API 和
*.app
主机名。以下是受管集群 API 和*.app
主机名的示例:console-openshift-console.apps.sno-managed-cluster-1.internal.domain.com api.sno-managed-cluster-1.internal.domain.com
console-openshift-console.apps.sno-managed-cluster-1.internal.domain.com api.sno-managed-cluster-1.internal.domain.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 可以从目标裸机主机访问的 DNS 服务器。
受管集群的目标裸机主机,至少具有以下硬件:
- 4 个 CPU 或 8 个 vCPU
- 32 GiB RAM
- root 文件系统 120 GiB 磁盘
在断开连接的环境中工作时,发行镜像需要被镜像(mirror)。使用这个命令镜像镜像:
oc adm release mirror -a <pull_secret.json> --from=quay.io/openshift-release-dev/ocp-release:{{ mirror_version_spoke_release }} --to={{ provisioner_cluster_registry }}/ocp4 --to-release-image={{ provisioner_cluster_registry }}/ocp4:{{ mirror_version_spoke_release }}
oc adm release mirror -a <pull_secret.json> --from=quay.io/openshift-release-dev/ocp-release:{{ mirror_version_spoke_release }} --to={{ provisioner_cluster_registry }}/ocp4 --to-release-image={{ provisioner_cluster_registry }}/ocp4:{{ mirror_version_spoke_release }}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您已将用于生成 spoke 集群 ISO 的 ISO 和
rootfs
镜像到 HTTP 服务器,并配置用于从中拉取镜像的设置。镜像必须与
ClusterImageSet
的版本匹配。若要部署 4.9.0 版本,需要将rootfs
和 ISO 设置为 4.9.0。
流程
为每个需要部署的特定集群版本创建一个
ClusterImageSet
。ClusterImageSet
具有以下格式:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为受管集群创建
Namespace
定义:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
BMC Secret
自定义资源:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
Image Pull Secret
自定义资源:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- OpenShift Container Platform pull secret。必须经过 base-64 编码。
创建
AgentClusterInstall
自定义资源:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果要在此时为受管集群配置静态 IP,请参阅本文档中的步骤为受管集群配置静态 IP 地址。
创建
ClusterDeployment
自定义资源:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 受管集群的基域。
创建
KlusterletAddonConfig
自定义资源:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 设置为
true
以启用 KlusterletAddonConfig 或false
来禁用 KlusterletAddonConfig。禁用searchCollector
。
创建
ManagedCluster
自定义资源:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
InfraEnv
自定义资源:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
BareMetalHost
自定义资源:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 另外,您可以添加
bmac.agent-install.openshift.io/hostname: <host-name>
作为注解,以设置受管集群的主机名。如果您没有添加注解,则主机名将默认为 DHCP 服务器或本地主机的主机名。- 创建自定义资源后,将生成的自定义资源的整个目录推送到您为存储自定义资源创建的 Git 存储库。
后续步骤
要置备其他集群,请对每个集群重复此步骤。
19.13.1. 为受管集群配置静态 IP 地址 复制链接链接已复制到粘贴板!
另外,在创建 AgentClusterInstall
自定义资源后,您可以为受管集群配置静态 IP 地址。
您必须先创建此自定义资源,然后才能创建 ClusterDeployment
自定义资源。
先决条件
-
部署并配置
AgentClusterInstall
自定义资源。
流程
创建
NMStateConfig
自定义资源:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
在创建
BareMetalHost
自定义资源时,请确保其 mac 地址与NMStateConfig
目标裸机主机中的 mac 地址匹配。 在创建
InfraEnv
自定义资源时,引用InfraEnv
自定义资源中的NMStateConfig
自定义资源中的标签:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 设置要匹配的标签。代理引导时应用标签。
19.13.2. 用于置备集群的自动发现镜像 ISO 流程 复制链接链接已复制到粘贴板!
创建自定义资源后,会自动执行以下操作:
- 在目标机器上生成并启动发现镜像 ISO 文件。
- 当 ISO 文件成功在目标机器上启动时,它会报告目标计算机的硬件信息。
- 在所有主机被发现后,会安装 OpenShift Container Platform。
-
当 OpenShift Container Platform 完成安装后,hub 在目标集群上安装
klusterlet
服务。 - 请求的附加组件服务安装在目标集群中。
当在受管集群的 hub 上创建 Agent
自定义资源时,发现镜像 ISO 过程会完成。
19.13.3. 检查受管集群状态 复制链接链接已复制到粘贴板!
通过检查集群状态,确保集群置备成功。
先决条件
-
所有自定义资源都已配置并置备,在受管集群的 hub 上创建
Agent
自定义资源。
流程
检查受管集群的状态:
oc get managedcluster
$ oc get managedcluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow True
表示受管集群已就绪。检查代理状态:
oc get agent -n <cluster_name>
$ oc get agent -n <cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
describe
命令,提供代理条件的深入描述。支持的状态包括BackendError
、InputError
、ValidationsFailing
、InFailed
和AgentIsConnected
。这些状态与Agent
和AgentClusterInstall
自定义资源相关。oc describe agent -n <cluster_name>
$ oc describe agent -n <cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查集群置备状态:
oc get agentclusterinstall -n <cluster_name>
$ oc get agentclusterinstall -n <cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
describe
命令提供集群置备状态的深入描述:oc describe agentclusterinstall -n <cluster_name>
$ oc describe agentclusterinstall -n <cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查受管集群的附加服务的状态:
oc get managedclusteraddon -n <cluster_name>
$ oc get managedclusteraddon -n <cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检索受管集群的
kubeconfig
文件的身份验证信息:oc get secret -n <cluster_name> <cluster_name>-admin-kubeconfig -o jsonpath={.data.kubeconfig} | base64 -d > <directory>/<cluster_name>-kubeconfig
$ oc get secret -n <cluster_name> <cluster_name>-admin-kubeconfig -o jsonpath={.data.kubeconfig} | base64 -d > <directory>/<cluster_name>-kubeconfig
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
19.13.4. 为断开连接的环境配置受管集群 复制链接链接已复制到粘贴板!
完成前面的步骤后,按照以下步骤为断开连接的环境配置受管集群。
先决条件
- 断开连接的 Red Hat Advanced Cluster Management (RHACM) 2.3 安装。
-
在 HTTPD 服务器上托管
rootfs
和iso
镜像。
流程
创建包含镜像 registry 配置的
ConfigMap
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这会更新
AgentServiceConfig
自定义资源中的mirrorRegistryRef
,如下所示:输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于断开连接的安装,您必须部署可通过断开连接的网络访问的 NTP 时钟。您可以配置 chrony 作为服务器,编辑
/etc/chrony.conf
文件,并添加以下允许的 IPv6 范围:Allow NTP client access from local network.
# Allow NTP client access from local network. #allow 192.168.0.0/16 local stratum 10 bindcmdaddress :: allow 2620:52:0:1310::/64
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
19.13.5. 为断开连接的环境配置 IPv6 地址 复制链接链接已复制到粘贴板!
另外,当创建 AgentClusterInstall
自定义资源时,也可以为受管集群配置 IPv6 地址。
流程
在
AgentClusterInstall
自定义资源中,修改 IPv6 地址的clusterNetwork
和serviceNetwork
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
使用您定义的 IPv6 地址更新
NMStateConfig
自定义资源。
19.13.6. 受管集群故障排除 复制链接链接已复制到粘贴板!
使用这个流程诊断受管集群中可能出现的任何安装问题。
流程
检查受管集群的状态:
oc get managedcluster
$ oc get managedcluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME HUB ACCEPTED MANAGED CLUSTER URLS JOINED AVAILABLE AGE SNO-cluster true True True 2d19h
NAME HUB ACCEPTED MANAGED CLUSTER URLS JOINED AVAILABLE AGE SNO-cluster true True True 2d19h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果
AVAILABLE
列中的状态为True
,受管集群由 hub 管理。如果
AVAILABLE
列中的状态为Unknown
,则受管集群不会由 hub 管理。使用以下步骤继续检查 以了解更多信息。检查
AgentClusterInstall
安装状态:oc get clusterdeployment -n <cluster_name>
$ oc get clusterdeployment -n <cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME PLATFORM REGION CLUSTERTYPE INSTALLED INFRAID VERSION POWERSTATE AGE Sno0026 agent-baremetal false Initialized 2d14h
NAME PLATFORM REGION CLUSTERTYPE INSTALLED INFRAID VERSION POWERSTATE AGE Sno0026 agent-baremetal false Initialized 2d14h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果
INSTALLED
列中的状态为false
,则安装会失败。如果安装失败,请输入以下命令查看
AgentClusterInstall
资源的状态:oc describe agentclusterinstall -n <cluster_name> <cluster_name>
$ oc describe agentclusterinstall -n <cluster_name> <cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 解决错误并重置集群:
删除集群的受管集群资源:
oc delete managedcluster <cluster_name>
$ oc delete managedcluster <cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除集群的命名空间:
oc delete namespace <cluster_name>
$ oc delete namespace <cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这会删除为此集群创建的所有命名空间范围自定义资源。您必须等待
ManagedCluster
CR 删除完成,然后才能继续。- 为受管集群重新创建自定义资源。