配置集群和集群级对象

在有关使用配置的主题中,您大致了解了如何编写配置。本主题涵盖有关使用 Anthos Config Management 配置集群和集群级对象的更多详细信息。您还可以了解如何配置命名空间和命名空间级对象

集群和集群级对象的所有配置都位于代码库cluster/ 目录中,该目录不能包含子目录。

如果您的代码库中未包含 ClusterSelector,则 cluster/ 中的配置将应用于 Anthos Config Management 中注册的每个集群。

限制受配置影响的集群

通常,Anthos Config Management 会将配置应用到每个已注册的集群。如需根据每个集群的标签来限制特定配置影响的集群,请使用 ClusterSelector。ClusterSelector 缩小了配置应用于的集群池。

配置集群的标签

您可以使用集群配置来配置集群的标签和注释。 如果您使用 ClusterSelector,则每个集群都需要一组 ClusterSelector 可以选择的标签。虽然您可以为集群手动添加标签,但建议您使用集群配置来配置标签

ClusterRole 配置示例

此配置会创建一个名为 namespace-reader 的 ClusterRole,该对象可以读取集群中的所有 namespace 对象。ClusterRole 配置通常与 ClusterRoleBinding 配置一起使用。

kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: namespace-reader
rules:
- apiGroups: [""]
  resources: ["namespaces"]
  verbs: ["get", "watch", "list"]

ClusterRoleBinding 配置示例

此配置会创建一个名为 namespace-readers 的 ClusterRoleBinding。它会在所有已注册的集群中向用户 cheryl@foo-corp.com 授予 namespace-reader ClusterRole

kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: namespace-readers
subjects:
- kind: User
  name: cheryl@foo-corp.com
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: namespace-reader
  apiGroup: rbac.authorization.k8s.io

后续步骤