Nesta página, descrevemos como instalar o Anthos Config Management.
O Anthos Config Management permite que você aplique políticas e configurações aos clusters do Anthos de maneira declarativa, implantando automaticamente uma nova configuração de um repositório Git central. Consulte a documentação do Anthos Config Management para saber mais.
É possível instalar o Anthos Config Management usando o centro de gerenciamento ou o kubectl. Você precisa ter um repositório Git antes de instalar o Anthos Config Management.
Como instalar a partir do centro de gerenciamento
Para configurar o Anthos Config Management no cluster de usuário, navegue até a guia Gerenciamento de configuração e clique em Configuração. Siga as instruções na página para concluir a configuração.
Também é possível atualizar ou fazer upgrade de uma instalação atual do Anthos Config Management. Clique no link na coluna Versão para modificar a configuração atual.
Como instalar com o kubectl
A instalação do Anthos Config Management com kubectl
é um processo de duas etapas.
Primeiro, configure as chaves SSH para o Config Sync usar para autenticação com seu
repositório Git. Em seguida, instale os recursos do Anthos Config Management,
ConfigManagementFeatureSpec
e ConfigManagementBinding
, no cluster.
Também é possível usar kubectl
para atualizar ou fazer upgrade
de uma instalação atual do Anthos Config Management.
Configurar chaves SSH
Um par de chaves SSH consiste em dois arquivos, uma chave pública e uma chave privada. A
chave pública normalmente tem uma extensão .pub
.
Crie um par de chaves SSH para permitir que o Config Sync faça a autenticação no seu repositório Git. É possível usar um único par de chaves para todos os clusters ou um par de chaves por cluster, dependendo dos seus requisitos de segurança e conformidade.
O comando a seguir cria uma chave RSA de 4.096 bits. Valores inferiores não são recomendados:
ssh-keygen -t rsa -b 4096 \ -C GIT_REPOSITORY_USERNAME \ -N '' \ -f /path/to/KEYPAIR_FILENAME
Substitua:
GIT_REPOSITORY_USERNAME
: o nome de usuário que você quer que o Config Sync use para se autenticar no repositório./path/to/KEYPAIR_FILENAME
: um caminho para gerar o par de chaves.
Configure o repositório para reconhecer a chave pública recém-criada. Consulte a documentação do provedor de hospedagem Git.
Adicione a chave privada a um novo objeto Secret no cluster de usuário:
kubectl create ns config-management-system --kubeconfig=USER_CLUSTER_KUBECONFIG && \ kubectl create secret generic git-creds --kubeconfig=USER_CLUSTER_KUBECONFIG \ --namespace=config-management-system \ --from-file=ssh=/path/to/KEYPAIR_PRIVATE_KEY_FILENAME
Substitua:
USER_CLUSTER_KUBECONFIG
: o arquivo de configuração do cluster de usuário. Você pode encontrá-lo na central de gerenciamento./path/to/KEYPAIR_PRIVATE_KEY_FILENAME
: o nome da chave privada (o arquivo sem o sufixo.pub
).
Exclua a chave privada do disco local ou a proteja.
Configurar ConfigManagementFeatureSpec
e ConfigManagementBinding
Em seguida, crie um recurso ConfigManagementFeatureSpec
no cluster:
kubectl apply -f CONFIG_MANAGEMENT_YAML --kubeconfig=ADMIN_OIDC_KUBECONFIG
Substitua:
- ADMIN_OIDC_KUBECONFIG: credenciais do OIDC para o cluster de administrador. Consulte Login com identidades federadas para o servidor da API Kubernetes do cluster de administrador para ver instruções.
- CONFIG_MANAGEMENT_YAML: o caminho para o arquivo de configuração para o
recurso
ConfigManagementFeatureSpec
. Consulte o exemplo a seguir:
apiVersion: managementcenter.anthos.cloud.google.com/v1alpha1
kind: ConfigManagementFeatureSpec
metadata:
name: config-management-spec-sample
namespace: anthos-management-center
spec:
version: "1.7.1"
git:
syncRepo: "git@GIT_HOST_ADDRESS:REPO_NAME.git"
policyDir: "."
secretType: "ssh"
syncBranch: "master"
syncRev: "HEAD"
syncWait: 15
policyController:
enabled: true
---
apiVersion: managementcenter.anthos.cloud.google.com/v1alpha1
kind: ConfigManagementBinding
metadata:
name: config-management-binding-sample
namespace: anthos-management-center
spec:
configs:
- configRef:
name: config-management-spec-sample
namespace: anthos-management-center
placement:
clusterIDs:
- "CLUSTER-NAME"
Substitua:
GIT_HOST_ADDRESS
: o endereço do host do repositório Git.REPO_NAME
: o nome do repositório Git.CLUSTER-NAME
: o nome do cluster.
Como atualizar e fazer upgrade
É possível atualizar ou fazer upgrade do Anthos Config Management modificando o
ConfigManagementFeatureSpec
correspondente.
Por exemplo, para ativar o recurso
Repositório não estruturado,
atualize o ConfigManagementFeatureSpec
:
apiVersion: managementcenter.anthos.cloud.google.com/v1alpha1
kind: ConfigManagementFeatureSpec
metadata:
name: config-management-spec-sample
namespace: anthos-management-center
spec:
version: "1.7.1"
sourceFormat: "unstructured"
git:
syncRepo: "git@<YOUR_GIT_HOST_ADDRESS>:<YOUR_UNSTRUCTURED_REPO>.git"
policyDir: "."
secretType: "ssh"
syncBranch: "master"
syncRev: "HEAD"
syncWait: 15
policyController:
enabled: true