Recursos com escopo de projeto

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 verifica se há uma anotação no recurso. Se nenhuma anotação for aplicada ao recurso, o Config Connector verificará se o namespace tem uma anotação de escopo segmentado.

Anotar configuração de namespace

Para definir um código de projeto padrão para recursos recém-criados, anote seu namespace. Confira se nenhum dos recursos tem essa anotação definida explicitamente na respectiva configuração. Para anotar o namespace usando a linha de comando, execute o seguinte comando:

kubectl annotate namespace NAMESPACE_NAME cnrm.cloud.google.com/project-id=PROJECT_ID

Substitua:

  • NAMESPACE_NAME: o nome do namespace
  • PROJECT_ID: é o ID do projeto do Google Cloud.

Como alternativa, aplique um manifesto YAML descrevendo a anotação. Copie o YAML abaixo em um arquivo:

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

Substitua:

  • PROJECT_ID: é o ID do projeto do Google Cloud.
  • NAMESPACE_NAME: o nome do namespace

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

Anotar a configuração de recursos

Para definir explicitamente o código do projeto no nível do recurso, inclua esta anotação diretamente na configuração do recurso:

...
metadata:
  annotations:
    cnrm.cloud.google.com/project-id: PROJECT_ID
...

Veja um exemplo de YAML do recurso FooBar com essa anotação

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

Como usar o nome do namespace como o ID do projeto

Se nem o recurso nem o namespace especificarem um ID de projeto, o Config Connector usará o nome do namespace como o ID do projeto.