Esta página descreve os passos que tem de concluir antes de instalar o GKE na AWS.
Ambiente
Para instalar o GKE na AWS, precisa de um ambiente onde possa instalar e executar várias ferramentas. Os passos seguintes pressupõem que está a usar um shell bash no Linux ou macOS. Se não tiver acesso a um ambiente de shell bash, pode usar o Cloud Shell.
Requisitos da AWS
Para concluir este tópico, precisa de uma conta da AWS com acesso à linha de comandos e duas chaves do AWS Key Management Service (KMS) na mesma região que os seus clusters de utilizadores.
Para mais informações sobre outros recursos da AWS necessários, consulte os Requisitos.
Configurar o AWS
Antes de começar
Antes de concluir esta secção:
- Transfira e instale a
CLI da AWS.
Confirme a instalação executando
aws --version
. Se o ficheiro executável não for encontrado, adicione a ferramentaaws
ao seuPATH
. - Configure as suas credenciais de IAM da AWS e região da AWS com
aws configure
.
Autorizações do utilizador administrador
O GKE na AWS requer que o criador de um serviço de gestão tenha determinadas autorizações. Antes de poder criar um serviço de gestão ou clusters de utilizadores, crie ou obtenha acesso a credenciais do IAM da AWS que cumpram os requisitos.
Criar uma chave do KMS
O GKE no AWS requer duas chaves do AWS KMS. As chaves do KMS encriptam:
- Dados durante o processo de instalação com encriptação de envelope.
- Segredos da camada de aplicação nos seus clusters de utilizadores.
Siga os passos abaixo para criar duas chaves do AWS KMS.
Linha de comandos
Crie uma chave do KMS na sua conta da AWS.
aws kms create-key
A saída inclui os metadados da chave.
Na saída do comando anterior, copie o nome do recurso da Amazon (ARN) da chave do campo
Arn
. Por exemplo, uma chave naus-west-2
região tem o ARNarn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
.Crie um alias para a chave com
aws kms create-alias
. Um alias permite-lhe gerir as suas chaves do AWS KMS por nome.aws kms create-alias \ --alias-name=alias/key-name \ --target-key-id=key-arn
Repita os passos anteriores para outra chave.
Consola
- Inicie sessão na consola da AWS.
- Navegue para KMS e selecione Chaves geridas pelo cliente na barra lateral.
- Clique em Criar chave.
- Deixe as opções predefinidas selecionadas.
- Depois de criada, selecione a chave na lista.
- Copie o ARN da chave.
- Repita os passos anteriores para outra chave.
Google Cloud requisitos
As restrições de segurança definidas pela sua organização podem impedir a conclusão dos seguintes passos. Para informações de resolução de problemas, consulte o artigo Desenvolva aplicações num ambiente Google Cloud restrito.
Antes de começar
Certifique-se de que tem autorizações de proprietário do projeto numa Conta Google para ativar APIs no Google Cloud projeto onde liga o seu ambiente do GKE no AWS. Use as autorizações de proprietário apenas para criar as contas de serviço do GKE on AWS na secção seguinte.
Instale a CLI do Google Cloud.
A API Anthos tem de estar ativada para o seu Google Cloud projeto. A ativação desta API permite-lhe usar outras funcionalidades do Google Kubernetes Engine com o seu Google Cloud projeto.
Crie as suas contas de serviço do GKE na AWS
Nesta secção, cria três contas de serviço e chaves do IAM para o GKE na AWS. Estas contas de serviço estão descritas na lista seguinte:
Nome | Funções | Descrição |
---|---|---|
management-sa
|
gkehub.admin | Autorizações para gerir as associações do Hub |
hub-sa
|
gkehub.connect | Autorização para configurar a ligação entre os seus clusters de utilizadores e o Hub. |
node-sa
|
storage.objectViewer | Autorização para aceder ao Container Registry. |
Linha de comandos
Autentique com a CLI do Google Cloud.
gcloud auth login &&\ gcloud auth application-default login
É-lhe pedido duas vezes que visite
cloud.google.com
e que se autentique com a sua Conta Google.Defina o seu Google Cloud projeto como uma variável de ambiente e defina o seuproject-id predefinido com a CLI gcloud.
export PROJECT_ID=project-id gcloud config set project $PROJECT_ID
Substitua o valor de project-id pelo seu Google Cloud projeto.
Ative Google Cloud APIs.
gcloud services enable anthos.googleapis.com gcloud services enable cloudresourcemanager.googleapis.com gcloud services enable gkehub.googleapis.com gcloud services enable gkeconnect.googleapis.com gcloud services enable logging.googleapis.com gcloud services enable monitoring.googleapis.com gcloud services enable serviceusage.googleapis.com gcloud services enable stackdriver.googleapis.com gcloud services enable storage-api.googleapis.com gcloud services enable storage-component.googleapis.com
Crie as contas de serviço com
gcloud
executando os seguintes comandos.gcloud iam service-accounts create management-sa gcloud iam service-accounts create hub-sa gcloud iam service-accounts create node-sa
Transfira as chaves de cada conta de serviço com
gcloud
executando os seguintes comandos.gcloud iam service-accounts keys create management-key.json \ --iam-account management-sa@$PROJECT_ID.iam.gserviceaccount.com gcloud iam service-accounts keys create hub-key.json \ --iam-account hub-sa@$PROJECT_ID.iam.gserviceaccount.com gcloud iam service-accounts keys create node-key.json \ --iam-account node-sa@$PROJECT_ID.iam.gserviceaccount.com
Conceda funções à conta de serviço de gestão.
gcloud projects add-iam-policy-binding \ $PROJECT_ID \ --member serviceAccount:management-sa@$PROJECT_ID.iam.gserviceaccount.com \ --role roles/gkehub.admin
Conceda funções à conta de serviço do hub.
gcloud projects add-iam-policy-binding \ $PROJECT_ID \ --member serviceAccount:hub-sa@$PROJECT_ID.iam.gserviceaccount.com \ --role roles/gkehub.connect
Conceda funções à conta de serviço do nó.
gcloud projects add-iam-policy-binding \ $PROJECT_ID \ --member serviceAccount:node-sa@$PROJECT_ID.iam.gserviceaccount.com \ --role roles/storage.objectViewer
Consola
- Abra a Google Cloud página da biblioteca de APIs da consola.
- Selecione o seu projeto preferido no menu pendente na parte superior do ecrã.
Encontre e ative as seguintes APIs.
- Anthos
- Cloud Resource Manager
- Cloud Storage
- Cloud Logging
- API JSON do Google Cloud Storage
- GKE Hub
- API GKE Connect
- Utilização do serviço
- Stackdriver
- Stackdriver Monitoring
Abra a página Contas de serviço.
Em seguida, crie uma conta de serviço e atribua funções à
management-sa
conta de serviço.- Clique em Criar conta de serviço.
- Dê um nome à conta de gestão de SA e clique em Criar. É apresentado o ecrã Conceder acesso a esta conta de serviço ao projeto.
- Adicione as funções de administrador do GKE Hub.
- Clique em Continuar. É apresentado o ecrã Conceder aos utilizadores acesso a esta conta de serviço.
- Clique em Concluído. É apresentado o ecrã Contas de serviço para o projeto.
- Encontre a linha que contém o email da sua conta de serviço,
management-sa@project_id.iam.gserviceaccount.com
. - Clique no menu de ações more_vert da conta de serviço e selecione Gerir chaves.
- Clique no menu pendente Adicionar chave.
- Clique em Criar nova chave.
- Selecione JSON como tipo de chave e clique em Criar. O navegador transfere a chave da conta de serviço.
- Mude o nome do ficheiro
management-key.json
.
Em seguida, crie uma conta de serviço e atribua funções à
hub-sa
conta de serviço.- Clique em Criar conta de serviço.
- Dê o nome hub-sa ao centro de contas e clique em Criar. É apresentado o ecrã Conceder acesso a esta conta de serviço ao projeto.
- Adicione a função do agente de ligação do GKE Hub.
- Clique em Continuar. É apresentado o ecrã Conceder aos utilizadores acesso a esta conta de serviço.
- Clique em Concluído. É apresentado o ecrã Contas de serviço para o projeto.
- Encontre a linha que contém o email da sua conta de serviço,
hub-sa@project_id.iam.gserviceaccount.com
. - Clique no menu de ações more_vert da conta de serviço e selecione Gerir chaves.
- Clique no menu pendente Adicionar chave.
- Clique em Criar nova chave.
- Selecione JSON como tipo de chave e clique em Criar. O navegador transfere a chave da conta de serviço.
- Mude o nome do ficheiro
hub-key.json
.
Em seguida, crie uma conta de serviço e atribua funções à
node-sa
conta de serviço.- Clique em Criar conta de serviço.
- Dê o nome node-sa ao nó da conta e clique em Criar. É apresentado o ecrã Conceder acesso a esta conta de serviço ao projeto.
- Adicione a função Storage Object Viewer.
- Clique em Concluído. É apresentado o ecrã Contas de serviço para o projeto.
- Encontre a linha que contém o email da sua conta de serviço,
node-sa@project_id.iam.gserviceaccount.com
. - Clique no menu de ações more_vert da conta de serviço e selecione Gerir chaves.
- Clique no menu pendente Adicionar chave.
- Clique em Criar nova chave.
- Selecione JSON como tipo de chave e clique em Criar. O navegador transfere a chave da conta de serviço.
- Mude o nome do ficheiro
node-key.json
.
ferramenta de linhas de comando anthos-gke
anthos-gke
é uma ferramenta de linha de comandos para o GKE na AWS. Use o
anthos-gke
para criar a configuração e
instalar um serviço de gestão. A versão mais recente do
anthos-gke
é aws-1.14.1-gke.0.
A ferramenta de linha de comandos anthos-gke
só é compatível com Linux e macOS.
Transfira o ficheiro binário do Cloud Storage.
Linux
gcloud storage cp gs://gke-multi-cloud-release/aws/aws-1.14.1-gke.0/bin/linux/amd64/anthos-gke .
macOS
gcloud storage cp gs://gke-multi-cloud-release/aws/aws-1.14.1-gke.0/bin/darwin/amd64/anthos-gke .
Atualize as autorizações de
anthos-gke
e copie-as para/usr/local/bin
.chmod 755 anthos-gke sudo mv anthos-gke /usr/local/bin
Confirme que a versão é
aws-1.14.1-gke.0
anthos-gke version
Autorizações para a ferramenta de linhas de comando anthos-gke
Para usar a ferramenta de linha de comandos anthos-gke
, o utilizador que executa o comando tem de ter as funções ServiceUsageViewer e StorageAdmin. Para adicionar as funções ao seu principal do IAM, execute estes comandos:
gcloud projects add-iam-policy-binding PROJECT_NAME \
--member user:USER_NAME \
--role roles/serviceusage.serviceUsageViewer
gcloud projects add-iam-policy-binding PROJECT_NAME \
--member user:USER_NAME \
--role roles/storage.admin
Substitua o seguinte:
PROJECT_NAME
: o seu Google Cloud projetoUSER_NAME
: o nome de utilizador que executa aanthos-gke
ferramenta de linha de comandos. Se estiver a usar uma conta de serviço, useserviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
Terraform
A ferramenta anthos-gke
gera ficheiros de configuração do Terraform e chama a ferramenta de linha de comandos terraform
.
O GKE no AWS requer uma versão do Terraform superior a v0.14.3. Pode verificar a sua versão do Terraform com o seguinte comando:
terraform version
Se não tiver a versão 0.14.3 ou superior, transfira e instale o Terraform antes de criar um serviço de gestão.
Atualizar o Terraform
Para atualizar o Terraform após instalar o GKE no AWS, tem de atualizar o ficheiro binário do Terraform através de cada versão secundária por ordem.
Por exemplo, se quiser atualizar o Terraform da versão 0.12.x para a versão 0.14.x, tem de
instalar temporariamente a versão 0.13.x. Após instalar a versão v0.13.x, execute anthos-gke aws
management init
e anthos-gke aws management apply
. O GKE on AWS
atualiza a sua configuração. Em seguida, pode atualizar para a versão 0.14.x.
Kubernetes
O GKE no AWS requer a versão 1.17 ou superior.kubectl
Pode verificar a versão do kubectl
executando o seguinte comando:
kubectl version --client -o yaml | grep gitVersion
Se não tiver a versão 1.17 ou superior,
instale uma versão mais recente do kubectl
.
O que se segue?
- Instale um serviço de gestão num VPC dedicado com um anfitrião de bastião.
- Integrar a infraestrutura existente numa VPC existente.