1.8.3. カスタム ManagedClusterImageRegistry CRD を使用したクラスターのインポート
インポートしているマネージドクラスターのレジストリーイメージを上書きする必要がある場合があります。この方法は、ManagedClusterImageRegistry
カスタムリソース定義 (CRD) を作成して実行できます。
ManagedClusterImageRegistry
CRD は namespace スコープのリソースです。
ManagedClusterImageRegistry
CRD は、配置が選択するマネージドクラスターのセットを指定しますが、カスタムイメージレジストリーとは異なるイメージが必要になります。マネージドクラスターが新規イメージで更新されると、識別用に各マネージドクラスターに、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
は、マネージドクラスターのセットを選択する同じ namespace の Placement に置き換えます。 -
pullSecret
は、カスタムイメージレジストリーからイメージをプルするために使用されるプルシークレットの名前に置き換えます。 -
registry
は、カスタムレジストリーアドレスに置き換えます。
1.8.3.1. ManagedClusterImageRegistry CRD を使用したクラスターのインポート
ManagedClusterImageRegistry CRD でクラスターをインポートするには、以下の手順を実行します。
クラスターをインポートする必要のある namespace にプルシークレットを作成します。これらの手順では、これは
myNamespace
です。$ kubectl create secret docker-registry myPullSecret \ --docker-server=<your-registry-server> \ --docker-username=<my-name> \ --docker-password=<my-password>
作成した namespace に Placement を作成します。
apiVersion: cluster.open-cluster-management.io/v1beta1 kind: Placement metadata: name: myPlacement namespace: myNamespace spec: clusterSets: - myClusterSet
ManagedClusterSet
リソースを作成し、これを namespace にバインドします。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
namespace に
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
ラベルをマネージドクラスターに追加した後に、マネージドクラスターで import コマンドをコピーして実行します。