Além de manter os clusters registrados sincronizados com um repositório Git como fonte de verdade, também é possível sincronizar configs de recursos do Google Cloud.
Pré-requisitos
Antes de continuar, instale o Config Sync e o Config Connector.
Criação de config
Enquanto os configs dos objetos Kubernetes persistem nos clusters Kubernetes, os configs dos
recursos do Google Cloud persistem nos projetos do Google Cloud. Por esse
motivo, cada Google Cloud é representado por um diretório de namespace em
namespaces/
. O diretório do namespace precisa corresponder exatamente ao nome do
ID do projeto do Google Cloud. Esses diretórios de namespace podem herdar
de namespaces abstratos.
As configurações são armazenadas em YAML ou JSON. Cada tipo de recurso tem campos obrigatórios e opcionais diferentes. Para conhecer os detalhes de cada tipo de recurso, como um PubSubTopic do Pub/Sub, consulte Recursos do Config Connector.
Por exemplo, suponha que essa configuração esteja armazenada em namespaces/myProject
. Quando
o Anthos Config Management é sincronizado com o repo, o Config Connector cria um
PubSubTopic chamado pubsubtopic-example
no projeto
myProject
Google Cloud.
apiVersion: pubsub.cnrm.cloud.google.com/v1alpha2
kind: PubSubTopic
metadata:
labels:
label-one: "value-one"
name: pubsubtopic-sample
Para mais exemplos, consulte Recursos do Config Connector.
Como excluir ou abandonar um recurso
Para excluir um recurso, remova o config dele do repo. O recurso é excluído do projeto do Google Cloud na próxima sincronização.
Para abandonar um recurso (interromper a sincronização de um recurso, mas deixá-lo intacto no projeto do Google Cloud), crie duas confirmações separadas para o repo:
- Na primeira confirmação, você adiciona a anotação
cnrm.cloud.google.com/deletion-policy: abandon
ao recurso. - Depois que essa alteração é sincronizada, você exclui o config do repo.
Por exemplo, para parar de gerenciar um recurso SpannerInstance
:
Edite o config e adicione uma linha como a linha em negrito abaixo:
apiVersion: spanner.cnrm.cloud.google.com/v1alpha2 kind: SpannerInstance metadata: labels: label-one: "value-one" annotations: cnrm.cloud.google.com/deletion-policy: abandon name: spannerinstance-sample spec: config: regional-us-central1 displayName: Spanner Two numNodes: 1
Confirme e envie a mudança.
Em uma segunda confirmação, exclua o config. Confirme e envie a mudança.
O SpannerInstance é preservado no projeto Google Cloud. No entanto, o objeto personalizado não existe mais no cluster do Anthos Config Management e o config não é mais sincronizado usando o Config Connector ou o Anthos Config Management.
A seguir
- Saiba mais sobre o Config Connector.
- Saiba mais sobre o gerenciamento de recursos do Google Cloud usando o Config Connector