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 no escopo da organização tem um campo chamado organizationRef na especificação do CRD. Use esse campo para especificar a Google Cloud organização em que você quer criar o recurso.

Use o campo external para especificar o ID da organização. O formato exato do valor pode variar dependendo do tipo de recurso. Os dois formatos mais comuns são "ORGANIZATION_ID" e "organizations/ORGANIZATION_ID". Confira um exemplo de "ORGANIZATION_ID" abaixo:

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

Anotar a configuração de recursos

Se o recurso do Config Connector tiver escopo da organização, mas não for compatível com o campo organizationRef, defina o ID da organização na configuração do recurso usando a anotação organization-id:

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

A seguir está um exemplo de como será o YAML de um recurso que contém essa 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

É possível definir um ID de organização padrão para recursos recém-criados anotando seu namespace do Kubernetes. Se algum dos recursos no namespace tiver essa anotação definida explicitamente na própria configuração, a anotação no nível do recurso vai 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 sua Google Cloud organização

Como alternativa, aplique um manifesto YAML que contenha 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 sua Google Cloud organização
  • NAMESPACE_NAME: o nome do namespace

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