Kubernetesカスタム・リソースの使用
kubectl
を使用した管理対象クラスタの登録VerrazzanoManagedClusterリソースを使用して管理対象クラスタを登録するには、次のステップを実行します:
-
環境変数
KUBECONFIG_ADMIN
、KUBECONTEXT_ADMIN
、KUBECONFIG_MANAGED1
およびKUBECONTEXT_MANAGED1
を作成し、それぞれ、管理クラスタおよび管理対象クラスタのkubeconfigファイルおよびコンテキストを指定します。これらの環境変数は、以降の管理対象クラスタの登録ステップで使用します。次に、これらの環境変数を設定する方法の例を示します。$ export KUBECONFIG_ADMIN=/path/to/your/adminclusterkubeconfig $ export KUBECONFIG_MANAGED1=/path/to/your/managedclusterkubeconfig # Lists the contexts in each kubeconfig file $ kubectl --kubeconfig $KUBECONFIG_ADMIN config get-contexts -o=name $ kubectl --kubeconfig $KUBECONFIG_MANAGED1 config get-contexts -o=name # Choose the right context name for your admin and managed clusters from the output shown and set the KUBECONTEXT # environment variables $ export KUBECONTEXT_ADMIN=<admin-cluster-context-name> $ export KUBECONTEXT_MANAGED1=<managed-cluster-context-name>
-
managed1
という名前の管理対象クラスタの登録プロセスを開始するには、管理クラスタでVerrazzanoManagedClusterリソースを適用します。# On the admin cluster $ kubectl --kubeconfig $KUBECONFIG_ADMIN --context $KUBECONTEXT_ADMIN \ apply -f <<EOF - apiVersion: clusters.verrazzano.io/v1alpha1 kind: VerrazzanoManagedCluster metadata: name: managed1 namespace: verrazzano-mc spec: description: "Test VerrazzanoManagedCluster resource" EOF
-
VerrazzanoManagedClusterリソースが
Ready
ステータスになるまで待ちます。その時点で、登録プロセスを完了するために管理対象クラスタに適用する必要があるYAMLファイルが生成されています。# On the admin cluster $ kubectl --kubeconfig $KUBECONFIG_ADMIN --context $KUBECONTEXT_ADMIN \ wait --for=condition=Ready \ vmc managed1 -n verrazzano-mc
-
管理対象クラスタを登録するために、作成されたYAMLファイルをエクスポートします。
# On the admin cluster $ kubectl --kubeconfig $KUBECONFIG_ADMIN --context $KUBECONTEXT_ADMIN \ get secret verrazzano-cluster-managed1-manifest \ -n verrazzano-mc \ -o jsonpath={.data.yaml} | base64 --decode > register.yaml
-
前のステップでエクスポートした登録ファイルを管理対象クラスタに適用します。
# On the managed cluster $ kubectl --kubeconfig $KUBECONFIG_MANAGED1 --context $KUBECONTEXT_MANAGED1 \ apply -f register.yaml # After the command succeeds, you may delete the register.yaml file $ rm register.yaml