Recursos com escopo de pasta
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 vai verificar uma anotação de definição de escopo.
Especificar o campo folderRef
A maioria dos recursos do Config Connector com escopo de pasta oferece suporte a um campo chamado folderRef
na especificação do CRD. Use esse campo para especificar a pasta Google Cloud em que
você quer criar o recurso.
Se a pasta Google Cloud também estiver sendo gerenciada no mesmo cluster usando o CRD Folder, você poderá especificar a pasta como uma referência de recurso do Kubernetes:
...
spec:
folderRef:
name: FOLDER_RESOURCE_NAME
namespace: FOLDER_RESOURCE_NAMESPACE
...
Essa abordagem permite usar o Config Connector e criar uma pasta Google Cloud com os recursos filhos em uma única operação de aplicação. O campo de namespace é opcional se o recurso da pasta do Config Connector estiver no mesmo namespace do Kubernetes que o recurso no escopo da pasta.
Se a pasta Google Cloud não estiver sendo gerenciada como um recurso do Kubernetes
no mesmo cluster, use o campo external
para especificar diretamente o
ID da pasta. O formato exato do valor pode ser diferente dependendo do
tipo de recurso. Os dois formatos mais comuns são "FOLDER_ID" e
"pastas/FOLDER_ID". Confira um exemplo de FOLDER_ID abaixo:
...
spec:
folderRef:
external: "FOLDER_ID"
...
Anotar a configuração de recursos
Se o recurso do Config Connector tiver escopo de pasta, mas não oferecer suporte ao campo folderRef
, defina o ID da pasta na configuração do recurso usando a anotação folder-id
:
...
metadata:
annotations:
cnrm.cloud.google.com/folder-id: FOLDER_ID
...
Confira um exemplo de como o YAML de um recurso vai ficar com essa anotação:
apiVersion: foo.cnrm.cloud.google.com/v1beta1
kind: FooBar
metadata:
annotations:
cnrm.cloud.google.com/folder-id: FOLDER_ID
name: foobarname
Anotar configuração de namespace
É possível definir um ID de pasta 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/folder-id=FOLDER_ID
Substitua:
NAMESPACE_NAME
: o nome do namespaceFOLDER_ID
: o ID da Google Cloud pasta
Como alternativa, 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/folder-id: FOLDER_ID
name: NAMESPACE_NAME
Substitua:
FOLDER_ID
: o ID da Google Cloud pastaNAMESPACE_NAME
: o nome do namespace
Depois de criar o arquivo, aplique-o ao cluster.