Kubernetesカスタム・リソースの使用

kubectlを使用した管理対象クラスタの登録

VerrazzanoManagedClusterリソースを使用して管理対象クラスタを登録するには、次のステップを実行します:

  1. 環境変数KUBECONFIG_ADMINKUBECONTEXT_ADMINKUBECONFIG_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>
    

  2. 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
    

  3. VerrazzanoManagedClusterリソースがReadyステータスになるまで待ちます。その時点で、登録プロセスを完了するために管理対象クラスタに適用する必要があるYAMLファイルが生成されています。

    # On the admin cluster
    $ kubectl --kubeconfig $KUBECONFIG_ADMIN --context $KUBECONTEXT_ADMIN \
        wait --for=condition=Ready \
        vmc managed1 -n verrazzano-mc
    

  4. 管理対象クラスタを登録するために、作成された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
    

  5. 前のステップでエクスポートした登録ファイルを管理対象クラスタに適用します。

    # 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