1.8.17.2.2. アドオンのステータスに基づき ManagedClusters をフィルタリングする
デプロイされているアドオンのステータスに基づいて、プレースメント用のマネージドクラスターを選択することもできます。たとえば、マネージドクラスターで有効になっている特定のアドオンがある場合にのみ、placement にマネージドクラスターを選択できます。
placement を作成するときに、アドオンのラベルとそのステータスを指定できます。マネージドクラスターでアドオンが有効になっている場合、ラベルは ManagedCluster リソース上に自動的に作成されます。アドオンが無効になると、ラベルは自動的に削除されます。
各アドオンは、feature.open-cluster-management.io/addon-<addon_name>=<status_of_addon> の形式でラベルで表現します。
addon_name を選択したマネージドクラスターで有効にするアドオンの名前に置き換えます。
status_of_addon をマネージドクラスターが選択されている場合にアドオンに設定するステータスに置き換えます。
| 値 | 説明 |
|---|---|
|
| アドオンは有効化されており、利用可能です。 |
|
| アドオンは有効ですが、リースは継続的に更新されません。 |
|
| アドオンは有効ですが、そのアドオンのリースが見つかりません。これは、マネージドクラスターがオフライン時にも発生する可能性があります。 |
たとえば、使用可能な application-manager アドオンは、マネージドクラスター上の次のようなラベルで表されます。
feature.open-cluster-management.io/addon-application-manager: available
アドオンとそのステータスに基づいて placement を作成する方法は、次の例を参照してください。
次の placement 例には、
application-managerが有効になっているすべてのマネージドクラスターが含まれています。apiVersion: cluster.open-cluster-management.io/v1beta1 kind: Placement metadata: name: placement1 namespace: ns1 spec: predicates: - requiredClusterSelector: labelSelector: matchExpressions: - key: feature.open-cluster-management.io/addon-application-manager operator: Exists次の placement 例には、
application-managerがavailableステータスで有効になっているすべてのマネージドクラスターが含まれています。apiVersion: cluster.open-cluster-management.io/v1beta1 kind: Placement metadata: name: placement2 namespace: ns1 spec: predicates: - requiredClusterSelector: labelSelector: matchLabels: "feature.open-cluster-management.io/addon-application-manager": "available"次の placement 例には、
application-managerが無効になっているすべてのマネージドクラスターが含まれています。apiVersion: cluster.open-cluster-management.io/v1beta1 kind: Placement metadata: name: placement3 namespace: ns1 spec: predicates: - requiredClusterSelector: labelSelector: matchExpressions: - key: feature.open-cluster-management.io/addon-application-manager operator: DoesNotExist