この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

Rancherクラスタ登録

Turtlesの自動インポートを使用してRancherにCAPIクラスタを登録する方法

Turtlesを使用してRancherにCAPIクラスタを登録する唯一のサポートされているワークフローは、`cluster-api.cattle.io/rancher-auto-import`ラベルを使用することです。

  1. すべてのクラスタがインポートされるようにネームスペースにラベルを付けます。

    kubectl label namespace capi-clusters cluster-api.cattle.io/rancher-auto-import=true
  2. インポートされるように個々のクラスタ定義にラベルを付けます。

    kubectl label clusters.cluster.x-k8s.io cluster1 cluster-api.cattle.io/rancher-auto-import=true

自動インポートラベルが使用されると、TurtlesはCAPIクラスタに`ControlPlaneAvailable`の条件が`True`に設定されるのを待ちます。 この条件は、クラスタが完全に初期化され、リクエストを処理できることを示しています。 その後、Turtlesは管理クラスタ上にRancher `clusters.management.cattle.io`リソースを自動的に作成し、ダウンストリームのCAPIクラスタに`cattle-cluster-agent`をインストールします。 エージェントのデプロイメントが成功した場合、インポートされたクラスタはRancherダッシュボードに表示されるはずです。

ネームスペース(またはクラスタ)は、クラスタが作成される前でも後でも、自動インポートのためにマークできます。

クラスタを自動インポートのためにマークすると、Turtlesコントローラーによる自動登録がトリガーされ、手動での登録コマンドの実行はサポートされていません。

Rancherクラスタにカスタム説明を追加します。

インポートされたRancherクラスタに割り当てられるデフォルトの説明は「RancherにインポートされたCAPIクラスタ」です。デフォルトの説明を持つインポートされたRancherクラスタ

インポートされたRancherクラスタにカスタム説明を追加するには、CAPIクラスタに`cluster-api.cattle.io/cluster-description`アノテーションを追加することができます。

apiVersion: cluster.x-k8s.io/v1beta1
kind: Cluster
metadata:
  name: docker-kubeadm-quickstart
  labels:
    cni: calico
  annotations:
    cluster-api.cattle.io/cluster-description: "This is a custom description of Rancher Cluster"

カスタム説明を持つインポートされたRancherクラスタ

CAPIクラスタがすでにインポートされている場合、アノテーションを追加しても何も起こりません。インポートされたRancherクラスタを削除して再インポートする必要があるかもしれません。

Rancherからインポートされたクラスタを削除します。

`cluster-api.cattle.io/capi-cluster-owner`および`cluster-api.cattle.io/capi-cluster-owner-ns`ラベルを使用してRancherクラスタを削除できます。

kubectl delete clusters.management.cattle.io -l cluster-api.cattle.io/capi-cluster-owner=cluster1 -l cluster-api.cattle.io/capi-cluster-owner-ns=capi-clusters

インポートされたクラスタが削除のためにマークされると:

  1. TurtlesコントローラーはCAPIクラスタに`imported: true`を注釈します。

  2. この注釈は、クラスタがRancherによって自動的に再インポートされるのを防ぎます。

  3. 次のコマンドを使用して注釈を確認してください:

    kubectl -n capi-clusters get clusters.cluster.x-k8s.io cluster1 -o json | jq .metadata.annotations
    {
    "imported": "true"
    ...
    }

Rancherクラスタを削除すると、`clusters.management.cattle.io`リソースが削除され、関連するCAPIクラスタの自動インポートが無効になります。基盤となるCAPIクラスタ自体はそのまま残ります。

クラスタを再インポートする

同じCAPIクラスタをRancherに再インポートする必要がある場合は、以下のコマンドで`imported: true`注釈を削除してください:

kubectl -n capi-clusters patch clusters.cluster.x-k8s.io <cluster-name> --type='json' -p='[{"op": "remove", "path": "/metadata/annotations/imported"}]'