Esta página descreve as etapas que você precisa concluir antes de instalar o GKE na AWS.
Ambiente
Para instalar o GKE na AWS, você precisa de um ambiente onde possa instalar e executar diversas ferramentas. As etapas a seguir pressupõem que você esteja usando um shell bash no Linux ou macOS. Se você não tiver acesso a um ambiente de shell bash, poderá usar o Cloud Shell .
Requisitos da AWS
Para concluir este tópico, você precisa de uma conta da AWS com acesso à linha de comando e duas chaves do AWS Key Management Service (KMS) na mesma região que seus clusters de usuários.
Para obter mais informações sobre outros recursos necessários da AWS, consulte Requisitos .
Configurando a AWS
Antes de começar
Antes de concluir esta seção:
- Baixe e instale a AWS CLI . Confirme a instalação executando
aws --version
. Se o executável não for encontrado, adicione a ferramentaaws
ao seuPATH
. - Configure suas credenciais do AWS IAM e a região da AWS com
aws configure
.
Permissões de usuário administrador
O GKE na AWS exige que o criador de um serviço de gerenciamento tenha determinadas permissões. Antes de criar um serviço de gerenciamento ou clusters de usuários, crie ou obtenha acesso às credenciais do AWS IAM que atendam aos Requisitos .
Criando uma chave KMS
O GKE na AWS requer duas chaves KMS da AWS. As chaves KMS criptografam:
- Dados durante o processo de instalação com criptografia de envelope .
- Segredos da camada de aplicação em seus clusters de usuários.
Siga as etapas abaixo para criar duas chaves do AWS KMS .
Linha de comando
Crie uma chave KMS na sua conta 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 na regiãous-west-2
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 que você gerencie 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.
Console
- Efetue login no console da AWS .
- Navegue até KMS e selecione Chaves gerenciadas pelo cliente na barra lateral.
- Clique em Criar chave .
- Deixe as opções padrões selecionadas.
- Depois de criada, selecione a chave na lista.
- Copie o ARN da chave.
- Repita os passos anteriores para outra chave.
Google Cloud requisitos
Restrições de segurança definidas pela sua organização podem impedir a conclusão das etapas a seguir. Para obter informações sobre solução de problemas, consulte Desenvolver aplicativos em um ambiente com restrições. Google Cloud ambiente .
Antes de começar
Certifique-se de ter permissões de Proprietário do Projeto em uma conta do Google para habilitar APIs no Google Cloud Projeto no qual você conecta seu ambiente do GKE na AWS. Use as permissões de Proprietário apenas para criar as contas de serviço do GKE na AWS na seção a seguir.
Instale o Google Cloud CLI .
A API do GKE Enterprise deve ser habilitada para seu Google Cloud projeto. Habilitar esta API permite que você use outros recursos do GKE Enterprise com seu Google Cloud projeto.
Crie suas contas de serviço do GKE na AWS
Nesta seção, você criará três contas de serviço do IAM e chaves para o GKE na AWS. Essas contas de serviço são descritas na lista a seguir:
Nome | Funções | Descrição |
---|---|---|
management-sa | gkehub.admin | Permissões para gerenciar associações do Hub |
hub-sa | gkehub.conectar | Permissão para configurar o Connect entre seus clusters de usuários e o Hub. |
node-sa | armazenamento.objetoViewer | Permissão para acessar o Container Registry. |
Linha de comando
Autentique com o Google Cloud CLI.
gcloud auth login &&\ gcloud auth application-default login
Você será solicitado duas vezes a visitar
cloud.google.com
e autenticar com sua conta do Google.Defina o seu Google Cloud project como uma variável de ambiente e defina seu project-id padrão com o gcloud CLI.
export PROJECT_ID=project-id gcloud config set project $PROJECT_ID
Substitua o valor do project-id pelo seu Google Cloud projeto.
Habilitar 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
Baixe as chaves para 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 gerenciamento.
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
Console
- Abra o Google Cloud página da biblioteca da API do console .
- Selecione seu projeto preferido no menu suspenso na parte superior da tela.
Localize e ative as seguintes APIs.
- Anthos
- Gerenciador de Recursos de Nuvem
- Armazenamento em nuvem
- Registro em nuvem
- API JSON do Google Cloud Storage
- GKE Hub
- API do GKE Connect
- Uso do serviço
- Stackdriver
- Monitoramento do Stackdriver
Abra a página Contas de serviço .
Em seguida, crie uma conta de serviço e atribua funções para a conta de serviço
management-sa
.- Clique em Criar conta de serviço .
- Nomeie a conta management-sa e clique em Criar . A tela Conceder acesso ao projeto a esta conta de serviço será exibida.
- Adicione as funções de administrador do GKE HUB.
- Clique em Continuar . A tela Conceder aos usuários acesso a esta conta de serviço será exibida.
- Clique em Concluído . A tela Contas de serviço para o projeto será exibida.
- Localize a linha que contém o e-mail da sua conta de serviço,
management-sa@ project_id .iam.gserviceaccount.com
. - Clique no menu de ação more_vert para a conta de serviço e selecione Gerenciar chaves .
- Clique no menu suspenso Adicionar chave .
- Clique em Criar nova chave .
- Selecione JSON como seu tipo de chave e clique em Criar . Seu navegador baixará a chave da conta de serviço.
- Renomeie o arquivo
management-key.json
.
Em seguida, crie uma conta de serviço e atribua funções para a conta de serviço
hub-sa
.- Clique em Criar conta de serviço .
- Nomeie a conta como hub-sa e clique em Criar . A tela "Conceder acesso ao projeto a esta conta de serviço" será exibida.
- Adicione a função de agente de conexão do GKE Hub.
- Clique em Continuar . A tela Conceder aos usuários acesso a esta conta de serviço será exibida.
- Clique em Concluído . A tela Contas de serviço para o projeto será exibida.
- Localize a linha que contém o e-mail da sua conta de serviço,
hub-sa@ project_id .iam.gserviceaccount.com
. - Clique no menu de ação more_vert para a conta de serviço e selecione Gerenciar chaves .
- Clique no menu suspenso Adicionar chave .
- Clique em Criar nova chave .
- Selecione JSON como seu tipo de chave e clique em Criar . Seu navegador baixará a chave da conta de serviço.
- Renomeie o arquivo
hub-key.json
.
Em seguida, crie uma conta de serviço e atribua funções para a conta de serviço
node-sa
.- Clique em Criar conta de serviço .
- Nomeie a conta como node-sa e clique em Criar . A tela "Conceder acesso ao projeto a esta conta de serviço" será exibida.
- Adicione a função Visualizador de Objetos de Armazenamento.
- Clique em Concluído . A tela Contas de serviço para o projeto será exibida.
- Localize a linha que contém o e-mail da sua conta de serviço,
node-sa@ project_id .iam.gserviceaccount.com
. - Clique no menu de ação more_vert para a conta de serviço e selecione Gerenciar chaves .
- Clique no menu suspenso Adicionar chave .
- Clique em Criar nova chave .
- Selecione JSON como seu tipo de chave e clique em Criar . Seu navegador baixará a chave da conta de serviço.
- Renomeie o arquivo
node-key.json
.
ferramenta de linha de comando anthos-gke
anthos-gke
é uma ferramenta de linha de comando para o GKE na AWS. Use anthos-gke
para criar a configuração e instalar um serviço de gerenciamento . A versão mais recente do anthos-gke
é aws-1.14.1-gke.0.
A ferramenta de linha de comando anthos-gke
suporta apenas Linux e macOS.
Baixe o 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 permissões do
anthos-gke
e copie-o para/usr/local/bin
.chmod 755 anthos-gke sudo mv anthos-gke /usr/local/bin
Confirme se a versão é
aws-1.14.1-gke.0
anthos-gke version
Permissões para a ferramenta de linha de comando anthos-gke
Para usar a ferramenta de linha de comando anthos-gke
o usuário que executa o comando deve ter as funções ServiceUsageViewer e StorageAdmin. Para adicionar as funções à sua entidade de segurança 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
: seu Google Cloud projeto -
USER_NAME
: o nome de usuário que executa a ferramenta de linha de comandoanthos-gke
. Se estiver usando uma conta de serviço, useserviceAccount: SERVICE_ACCOUNT @ PROJECT_ID .iam.gserviceaccount.com
Terraform
A ferramenta anthos-gke
gera arquivos de configuração do Terraform e chama a ferramenta de linha de comando terraform
.
O GKE na AWS requer uma versão do Terraform superior à v0.14.3. Você pode verificar sua versão do Terraform com o seguinte comando:
terraform version
Se você não tiver a versão 0.14.3 ou superior, baixe e instale o Terraform antes de criar um serviço de gerenciamento.
Atualizando o Terraform
Para atualizar o Terraform após instalar o GKE na AWS, você deve atualizar seu binário do Terraform por meio de cada versão secundária em ordem.
Por exemplo, se você quiser atualizar o Terraform da versão 0.12.x para a versão 0.14.x, precisará instalar a versão 0.13.x temporariamente. Após instalar a versão 0.13.x, execute anthos-gke aws management init
e anthos-gke aws management apply
. O GKE na AWS atualiza sua configuração. Você pode então atualizar para a versão 0.14.x.
Kubernetes
O GKE na AWS requer kubectl
versão 1.17 ou superior. Você pode verificar sua versão do kubectl
executando:
kubectl version --client -o yaml | grep gitVersion
Se você não tiver a versão 1.17 ou superior, instale uma versão mais recente do kubectl
.
O que vem a seguir
- Instale um serviço de gerenciamento em uma VPC dedicada com um bastion host.
- Integração da infraestrutura existente em uma VPC existente.