Recursos ao nível da pasta


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 folderRef

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

Se a Google Cloud pasta também estiver a ser gerida no mesmo cluster através do CRD Folder, pode especificar a pasta como uma referência de recurso do Kubernetes:

...
spec:
  folderRef:
    name: FOLDER_RESOURCE_NAME
    namespace: FOLDER_RESOURCE_NAMESPACE
...

Esta abordagem permite usar o Config Connector e criar uma Google Cloud pasta com os respetivos recursos secundários numa única operação de aplicação. O campo namespace é opcional se o recurso da pasta do Config Connector estiver no mesmo namespace do Kubernetes que o recurso com âmbito da pasta.

Se a pasta não estiver a ser gerida como um recurso do Kubernetes no mesmo cluster, pode usar o campo external para especificar diretamente o ID da pasta. Google Cloud O formato exato do valor pode ser diferente consoante o tipo de recurso. Os dois formatos mais comuns são "FOLDER_ID" e "folders/FOLDER_ID". Veja um exemplo de "FOLDER_ID" abaixo:

...
spec:
  folderRef:
    external: "FOLDER_ID"
...

Anote a configuração de recursos

Se o recurso do Config Connector tiver âmbito de pasta, mas não suportar o campo folderRef, pode definir o ID da pasta na configuração do recurso através da anotação folder-id:

...
metadata:
  annotations:
    cnrm.cloud.google.com/folder-id: FOLDER_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/folder-id: FOLDER_ID
  name: foobarname

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

Pode definir um ID da pasta 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/folder-id=FOLDER_ID

Substitua o seguinte:

  • NAMESPACE_NAME: o nome do seu espaço de nomes
  • FOLDER_ID: o ID da sua Google Cloud pasta

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/folder-id: FOLDER_ID
  name: NAMESPACE_NAME

Substitua o seguinte:

  • FOLDER_ID: o ID da sua Google Cloud pasta
  • NAMESPACE_NAME: o nome do seu espaço de nomes

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