1.8.3. 使用自定义 ManagedClusterImageRegistry CRD 导入集群
有时您可能需要覆盖您要导入的受管集群中的 registry 镜像。您可以通过创建一个 ManagedClusterImageRegistry
自定义资源定义(CRD)来完成此操作。
ManagedClusterImageRegistry
CRD 是一个命名空间范围的资源。
ManagedClusterImageRegistry
CRD 为要选择的放置指定一组受管集群,但需要与自定义镜像 registry 不同的镜像。使用新镜像更新受管集群后,会在每个受管集群中添加以下标签进行识别: open-cluster-management.io/image-registry=<namespace>.<managedClusterImageRegistryName>
。
以下示例显示了 ManagedClusterImageRegistry
CRD:
apiVersion: imageregistry.open-cluster-management.io/v1alpha1 kind: ManagedClusterImageRegistry metadata: name: <imageRegistryName> namespace: <namespace> spec: placementRef: group: cluster.open-cluster-management.io resource: placements name: <placementName> pullSecret: name: <pullSecretName> registry: <registryAddress>
在 spec
部分中:
-
将
placementRef
替换为选择一组受管集群的同一命名空间中的放置。 -
将
pullSecret
替换为用于从自定义镜像 registry 中拉取镜像的 pull secret 名称。 -
使用自定义
registry
地址替换 registry。
1.8.3.1. 使用 ManagedClusterImageRegistry CRD 导入集群
完成以下步骤,使用 ManagedClusterImageRegistry CRD 导入集群:
在您要导入集群的命名空间中创建 pull secret。对于这些步骤,是
myNamespace
。$ kubectl create secret docker-registry myPullSecret \ --docker-server=<your-registry-server> \ --docker-username=<my-name> \ --docker-password=<my-password>
在您创建的命名空间中创建一个放置。
apiVersion: cluster.open-cluster-management.io/v1beta1 kind: Placement metadata: name: myPlacement namespace: myNamespace spec: clusterSets: - myClusterSet
创建一个
ManagedClusterSet
资源,并将其绑定到命名空间。apiVersion: cluster.open-cluster-management.io/v1beta1 kind: ManagedClusterSet metadata: name: myClusterSet --- apiVersion: cluster.open-cluster-management.io/v1beta1 kind: ManagedClusterSetBinding metadata: name: myClusterSet namespace: myNamespace spec: clusterSet: myClusterSet
在命名空间中创建
ManagedClusterImageRegistry
CRD。apiVersion: imageregistry.open-cluster-management.io/v1alpha1 kind: ManagedClusterImageRegistry metadata: name: myImageRegistry namespace: myNamespace spec: placementRef: group: cluster.open-cluster-management.io resource: placements name: myPlacement pullSecret: name: myPullSecret registry: myRegistryAddress
- 从 Red Hat Advanced Cluster Management 控制台导入受管集群,并将其添加到受管集群集中。
-
在标签
open-cluster-management.io/image-registry=myNamespace.myImageRegistry
添加到受管集群后,在受管集群中复制并运行导入命令。