Recursos com escopo de organização


O Config Connector pode gerenciar seus recursos no nível de projeto, pasta ou organização. Para que o Config Connector determine onde criar seus recursos, ele primeiro verifica se há um campo de definição de escopo na especificação do recurso. Se não for encontrado, ele verifica se há uma anotação de definição de escopo.

Especificar o campo organizationRef

A maioria dos recursos do Config Connector com escopo da organização é compatível com um campo chamado organizationRef na especificação CRD. Use esse campo para especificar a organização do Google Cloud em que você quer criar o recurso.

É possível usar o campo external para especificar o ID da organização. O formato exato do valor pode ser diferente dependendo do tipo de recurso. Os dois formatos mais comuns são "ORGANIZATION_ID" e "organizações/ORGANIZATION_ID". Confira um exemplo de "ORGANIZATION_ID" abaixo:

...
spec:
  organizationRef:
    external: "ORGANIZATION_ID"
...

Anotar a configuração de recursos

Se o recurso Config Connector tiver escopo de organização, mas não for compatível com o campo organizationRef, será possível definir o ID da organização para a configuração do recurso usando a anotação organization-id:

...
metadata:
  annotations:
    cnrm.cloud.google.com/organization-id: ORGANIZATION_ID
...

Veja um exemplo de como será o YAML de um recurso com esta anotação:

apiVersion: foo.cnrm.cloud.google.com/v1beta1
kind: FooBar
metadata:
  annotations:
    cnrm.cloud.google.com/organization-id: ORGANIZATION_ID
  name: foobarname

Anotar configuração de namespace

Para definir um ID da organização padrão para recursos recém-criados, anote o namespace do Kubernetes. Se algum dos recursos do namespace tiver essa anotação explicitamente definida na própria configuração, a anotação de nível de recurso substituirá a anotação no nível do namespace.

Para anotar o namespace usando a linha de comando, execute o seguinte comando:

kubectl annotate namespace NAMESPACE_NAME cnrm.cloud.google.com/organization-id=ORGANIZATION_ID

Substitua:

  • NAMESPACE_NAME: o nome do namespace
  • ORGANIZATION_ID: o ID da organização do Google Cloud

Se preferir, aplique um manifesto YAML contendo a anotação. Copie o YAML abaixo em um arquivo:

apiVersion: v1
kind: Namespace
metadata:
  annotations:
    cnrm.cloud.google.com/organization-id: ORGANIZATION_ID
  name: NAMESPACE_NAME

Substitua:

  • ORGANIZATION_ID: o ID da organização do Google Cloud
  • NAMESPACE_NAME: o nome do namespace

Depois de criar o arquivo, aplique-o ao cluster.