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在命名空间中创建
ManagedClusterImageRegistryCRD。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添加到受管集群后,在受管集群中复制并运行导入命令。