Instale o Config Connector manualmente
Esta página explica como instalar manualmente o Config Connector.
Para mais informações sobre as diferentes opções de instalação, consulte o artigo Escolher um tipo de instalação.
A instalação com o método manual oferece-lhe atualizações mais rápidas do que a utilização do suplemento.
O Config Connector está configurado como modo de cluster nas instruções abaixo, o que significa que haverá um controlador do Config Connector global representado como uma única Google Cloud conta de serviço do IAM. À medida que adiciona mais recursos do Config Connector e introduz mais espaços de nomes do Kubernetes no mesmo cluster, pode considerar mudar para o modo com espaço de nomes, que é mais escalável e oferece um melhor isolamento das autorizações de IAM para exemplos de utilização multi-inquilinos, por exemplo, a gestão de recursos de vários Google Cloud projetos.
Antes de começar
Antes de instalar manualmente o operador do Config Connector, conclua os seguintes passos:
- Crie ou identifique um cluster do GKE onde o Config Connector ainda não tenha sido instalado e que tenha o Workload Identity e a monitorização do Kubernetes Engine ativados.
- Configure o
kubectl
para se ligar ao seu cluster.
Instalar o operador do Config Connector
O Config Connector usa um operador do Kubernetes para manter a instalação atualizada. Para instalar este operador, conclua os seguintes passos:
Transfira o ficheiro tar do operador do Config Connector mais recente:
gcloud storage cp gs://configconnector-operator/latest/release-bundle.tar.gz release-bundle.tar.gz
Extraia o ficheiro TAR:
tar zxvf release-bundle.tar.gz
Instale o operador do Config Connector no cluster:
Para clusters do GKE Autopilot:
kubectl apply -f operator-system/autopilot-configconnector-operator.yaml
Para clusters padrão do GKE:
kubectl apply -f operator-system/configconnector-operator.yaml
Crie uma identidade
O Config Connector cria e gere Google Cloud recursos através da autenticação com uma conta de serviço de gestão de identidade e de acesso (IAM) e da utilização da Workload Identity Federation para o GKE para associar contas de serviço de IAM a contas de serviço do Kubernetes.
Para criar a identidade, conclua os seguintes passos:
Crie uma conta de serviço do IAM. Se quiser usar uma conta de serviço existente, pode usar essa conta e ignorar este passo:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Substitua SERVICE_ACCOUNT_NAME por um nome para a sua conta de serviço.
Para saber mais sobre como criar contas de serviço, consulte o artigo Criar e gerir contas de serviço.
Conceda autorizações elevadas à conta de serviço de IAM no seu projeto:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/editor"
Substitua PROJECT_ID pelo ID do seu projeto.
Crie uma associação de política IAM entre a conta de serviço IAM e a conta de serviço Kubernetes predefinida que o Config Connector executa:
gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \ --member="serviceAccount:PROJECT_ID.svc.id.goog[cnrm-system/cnrm-controller-manager]" \ --role="roles/iam.workloadIdentityUser"
Configurar o Config Connector
Para concluir a instalação, crie um ficheiro de configuração para o
ConfigConnector
CustomResource
e, em seguida, aplique-o com o comando kubectl apply
. O operador do Config Connector instala CRDs de recursos e componentes do Config Connector no seu cluster.Google Cloud
Para configurar o operador como modo de cluster, conclua os seguintes passos:
-
Copie o seguinte ficheiro YAML para um ficheiro com o nome
configconnector.yaml
: Substitua o seguinte:# configconnector.yaml apiVersion: core.cnrm.cloud.google.com/v1beta1 kind: ConfigConnector metadata: # the name is restricted to ensure that there is only one # ConfigConnector resource installed in your cluster name: configconnector.core.cnrm.cloud.google.com spec: mode: cluster googleServiceAccount: "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" # Setting `stateIntoSpec` to `Absent` is recommended. It means setting `cnrm.cloud.google.com/state-into-spec` # annotation to `absent` for all Config Connector resources created in the cluster in the future. # It prevents Config Connector from populating unspecified fields into the spec. stateIntoSpec: Absent
SERVICE_ACCOUNT_NAME
com o nome da sua conta de serviço.PROJECT_ID
com o ID do seu projeto.
-
Aplique a configuração ao cluster com
kubectl apply
:kubectl apply -f configconnector.yaml
Especificar onde criar os recursos
O Config Connector pode organizar os recursos por projeto, pasta ou organização, da mesma forma que organizaria os recursos com o Google Cloud.
Antes de criar recursos com o Config Connector, tem de configurar onde criar os seus recursos. Para determinar onde criar o recurso, o Config Connector usa uma anotação na configuração do recurso ou num espaço de nomes existente. Para mais informações, consulte o artigo Organizar recursos.
Se não tiver um espaço de nomes para este fim, crie um comkubectl
.
kubectl create namespace NAMESPACE
Substitua NAMESPACE
pelo nome do seu espaço de nomes. Por exemplo
config-connector
.
Selecione um separador para escolher onde quer que o Config Connector crie recursos.
Projeto
Para criar recursos num determinado projeto, execute o seguinte comando:
kubectl annotate namespace \ NAMESPACE cnrm.cloud.google.com/project-id=PROJECT_ID
Substitua o seguinte:
NAMESPACE
com o nome do seu espaço de nomes.PROJECT_ID
com o seu Google Cloud ID do projeto.
Pasta
Para criar recursos numa determinada pasta, execute o seguinte comando:
kubectl annotate namespace \ NAMESPACE cnrm.cloud.google.com/folder-id=FOLDER_ID
Substitua o seguinte:
NAMESPACE
com o nome do seu espaço de nomes.FOLDER_ID
com o ID da pasta Google Cloud .
Organização
Para criar recursos numa determinada organização, execute o seguinte comando:
kubectl annotate namespace \ NAMESPACE cnrm.cloud.google.com/organization-id=ORGANIZATION_ID
Substitua o seguinte:
NAMESPACE
com o nome do seu espaço de nomes.ORGANIZATION_ID
com o ID da sua Google Cloud organização.
Quando anota o seu espaço de nomes, o Config Connector cria recursos no projeto, na pasta ou na organização correspondente. Para saber mais sobre como o Config Connector usa os espaços de nomes do Kubernetes, consulte os artigos Espaços de nomes do Kubernetes e Google Cloud projetos.
Validar a instalação
O Config Connector executa todos os respetivos componentes num espaço de nomes denominado cnrm-system
.
Pode verificar se os pods estão prontos executando o seguinte comando:
kubectl wait -n cnrm-system \
--for=condition=Ready pod --all
Se o Config Connector estiver instalado corretamente, o resultado é semelhante ao seguinte:
pod/cnrm-controller-manager-0 condition met
Atualizar o Config Connector
Para transferir e instalar a versão mais recente do operador do Config Connector:
gcloud storage cp gs://configconnector-operator/latest/release-bundle.tar.gz release-bundle.tar.gz
tar zxvf release-bundle.tar.gz
kubectl apply -f operator-system/configconnector-operator.yaml
Reduzir a versão do Config Connector
A alteração completa do Config Connector para uma versão anterior não é suportada. Para reverter o operador e os CRDs do Config Connector, tem de desinstalar e reinstalar o Config Connector e, em seguida, voltar a aplicar os seus recursos.
Na versão 1.123.1 e posteriores do Config Connector, pode reverter a versão do operador para instalações que usam o modo com espaço de nomes.
Em cada espaço de nomes que tenha um operador para o qual quer reverter, defina o campo spec.version
no objeto ConfigConnectorContext
para a versão anterior do Config Connector.
Pode reverter o controlador do Config Connector para um máximo de 3 versões secundárias. Tem sempre de reverter para a versão de patch mais recente de uma determinada versão secundária.
Desinstalar o Config Connector
Use kubectl delete
para remover os CRDs do Config Connector juntamente com os componentes do controlador:
kubectl delete ConfigConnector configconnector.core.cnrm.cloud.google.com \
--wait=true
Para desinstalar o operador do Config Connector, execute o seguinte comando:
kubectl delete -f operator-system/configconnector-operator.yaml --wait=true
Atualizar a partir de instalações não pertencentes a operadores
A versão 1.33.0 e superior do Config Connector só suporta a instalação com o suplemento do GKE ou o operador.
Para atualizar para o operador (e reter todos os recursos do Config Connector), tem de remover todos os componentes do sistema do Config Connector, exceto os CRDs, e, em seguida, instalar o operador.
Execute os seguintes comandos para remover os componentes não CRD do sistema Config Connector:
kubectl delete sts,deploy,po,svc,roles,clusterroles,clusterrolebindings --all-namespaces -l cnrm.cloud.google.com/system=true --wait=true kubectl delete validatingwebhookconfiguration abandon-on-uninstall.cnrm.cloud.google.com --ignore-not-found --wait=true kubectl delete validatingwebhookconfiguration validating-webhook.cnrm.cloud.google.com --ignore-not-found --wait=true kubectl delete mutatingwebhookconfiguration mutating-webhook.cnrm.cloud.google.com --ignore-not-found --wait=true
Instale o Config Connector com o suplemento do GKE ou o operador.
Mudar do suplemento para uma instalação manual
Quando instalado como um suplemento, a versão do Config Connector está diretamente associada à versão do GKE instalada.
A instalação manual permite atualizações mais rápidas, mas requer atualizações manuais.
Para mudar, mantendo todos os recursos em segurança:
Desative o suplemento sem eliminar objetos
ConfigConnector
ouConfigConnectorContext
:gcloud container clusters update CLUSTER_NAME --update-addons ConfigConnector=DISABLED
Substitua
CLUSTER_NAME
pelo nome do cluster no qual instalou o Config Connector.Instale o operador manual da versão escolhida.
Para evitar potenciais erros de validação de CRD (por exemplo,
KNV2009: Invalid value: "v1beta1": must appear in spec.versions
, a versão escolhida do operador manual tem de ser igual ou posterior à versão que estava a usar para o suplemento. A desatualização da versão do operador manual pode causar erros (por exemplo, KNV2009) porque o suplemento do GKE pode já ter atualizado determinados CRDs para uma versão posterior do Config Connector.
O que se segue?
- Comece a usar o Config Connector.
- Saiba mais sobre as práticas recomendadas para o Config Connector.