Como configurar clusters e objetos com escopo de cluster

No tópico sobre como trabalhar com configs, você aprendeu como escrever configs, em geral. Este tópico aborda mais detalhes sobre o uso do Anthos Config Management para configurar clusters e objetos com escopo no cluster. Leia também sobre Como configurar namespaces e objetos com escopo de namespace.

Todos os configs de clusters e objetos com escopo de cluster estão localizados no diretório cluster/ do repo, que não pode ter subdiretórios.

Se você não incluir um ClusterSelector em seu repo, um config em cluster/ será aplicado a todos os clusters registrados no Anthos Config Management.

Como limitar quais clusters são impactados por um config

Normalmente, o Anthos Config Management aplica um config a cada cluster registrado. Para limitar quais clusters um determinado config afeta com base nos rótulos de cada cluster, use um ClusterSelector. Um ClusterSelector restringe o conjunto de clusters aos quais um config se aplica.

Como configurar os rótulos do cluster

É possível usar um config de cluster para definir os rótulos e as anotações de um cluster. Se você usar ClusterSelectors, cada cluster precisará de um conjunto de rótulos que o ClusterSelector possa selecionar. Ainda que você possa rotular clusters manualmente, recomendamos configurar rótulos usando um config de Cluster.

Exemplo de config ClusterRole

Esse config cria um ClusterRole chamado namespace-reader, que permite ler todos os objetos namespace de namespace no cluster. Um config ClusterRole costuma ser usado com um config ClusterRoleBinding.

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

Exemplo de config ClusterRoleBinding

Esse config cria um ClusterRoleBinding chamado namespace-readers. Ele concede ao usuário cheryl@foo-corp.com o ClusterRole namespace-reader em todos os clusters registrados.

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

A seguir