Recursos com âmbito da organização


O Config Connector pode gerir os seus recursos ao nível do projeto, da pasta ou da organização. Para que o Config Connector determine onde criar os seus recursos, verifica primeiro um campo de definição de âmbito na especificação do recurso. Se não o encontrar, verifica uma anotação de definição de âmbito.

Especifique o campo organizationRef

A maioria dos recursos do Config Connector com âmbito da organização suporta um campo denominado organizationRef na respetiva especificação CRD. Use este campo para especificar a Google Cloud organização na qual quer criar o recurso.

Pode usar o campo external para especificar o ID da organização. O formato exato do valor pode ser diferente consoante o tipo de recurso. Os dois formatos mais comuns são "ORGANIZATION_ID" e "organizations/ORGANIZATION_ID". Veja um exemplo de "ORGANIZATION_ID" abaixo:

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

Anote a configuração de recursos

Se o recurso do Config Connector tiver âmbito organizacional, mas não for compatível com o campo organizationRef, pode definir 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
...

Segue-se um exemplo do aspeto do 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

Anote a configuração do espaço de nomes

Pode definir um ID da organização predefinido para recursos recém-criados anotando o seu espaço de nomes do Kubernetes. Se algum dos recursos no espaço de nomes tiver esta anotação definida explicitamente na sua própria configuração, a anotação ao nível do recurso substitui a anotação ao nível do espaço de nomes.

Para anotar o espaço de nomes através da linha de comandos, execute o seguinte comando:

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

Substitua o seguinte:

  • NAMESPACE_NAME: o nome do seu espaço de nomes
  • ORGANIZATION_ID: o seu Google Cloud ID da organização

Em alternativa, pode aplicar um manifesto YAML que contenha a anotação. Copie o YAML abaixo para um ficheiro:

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

Substitua o seguinte:

  • ORGANIZATION_ID: o seu Google Cloud ID da organização
  • NAMESPACE_NAME: o nome do seu espaço de nomes

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