1.14.5.4. 附加组件状态
您可能希望根据部署在其上的附加组件的状态,为放置选择受管集群。例如,只有在集群中启用了特定的附加组件时,才会为放置选择受管集群。
您可以为附加组件指定标签,并在创建放置时根据需要指定其状态(如果需要)。如果集群中启用了附加组件,则会自动在 ManagedCluster
资源上创建一个标签。如果禁用了附加组件,则会自动删除该标签。
每个附加组件都由一个标签表示,格式为 feature.open-cluster-management.io/addon-<addon_name>=<status_of_addon>
。
使用要在要选择的受管集群中启用的附加组件名称替换 addon_name
。
将 status_of_addon
替换为在选择集群时该附加组件应具有的状态。status_of_addon
的可能值位于以下列表中:
-
available
:附加组件已启用并可用。 -
unhealthy
:附加组件已启用,但租期不会持续更新。 -
unreachable
:附加组件已启用,但没有为其找到租用。也可以在受管集群离线时导致这个问题。
例如,可用的 application-manager
附加组件由受管集群中的标签表示:
feature.open-cluster-management.io/addon-application-manager: available
请参阅以下基于附加组件及其状态创建放置的示例:
您可以通过添加以下 YAML 内容来创建放置,其中包含启用了
application-manager
的所有受管集群:apiVersion: cluster.open-cluster-management.io/v1alpha1 kind: Placement metadata: name: placement1 namespace: ns1 spec: predicates: - requiredClusterSelector: labelSelector: matchExpressions: - key: feature.open-cluster-management.io/addon-application-manager operator: Exists
您可以通过添加以下 YAML 内容来创建放置,其中包含启用了
application-manager
且具有available
状态的所有受管集群:apiVersion: cluster.open-cluster-management.io/v1alpha1 kind: Placement metadata: name: placement2 namespace: ns1 spec: predicates: - requiredClusterSelector: labelSelector: matchLabels: "feature.open-cluster-management.io/addon-application-manager": "available"
您可以通过添加以下 YAML 内容来创建包含禁用
application-manager
的所有受管集群的放置:apiVersion: cluster.open-cluster-management.io/v1alpha1 kind: Placement metadata: name: placement3 namespace: ns1 spec: predicates: - requiredClusterSelector: labelSelector: matchExpressions: - key: feature.open-cluster-management.io/addon-application-manager operator: DoesNotExist