Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se inscrever e obter uma conta gratuita, consulte Conceitos Básicos do Oracle Cloud Infrastructure Free Tier.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
Integrar o Oracle Cloud Infrastructure Container Engine for Kubernetes com o Google Anthos
Introdução
O Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) é uma solução avançada para organizações que buscam modernizar sua infraestrutura e adotar uma abordagem nativa da nuvem para desenvolvimento e implantação de aplicativos. Com o dimensionamento automático, upgrades e aplicação de patches de segurança, o OKE garante operações confiáveis para o plano de controle e os nós de trabalho, reduzindo ainda mais a carga de gerenciamento. Por outro lado, o Google Anthos é uma plataforma híbrida e multicloud que permite às organizações gerenciar e implantar aplicativos em diferentes ambientes sem problemas.
A integração do OKE e do Google Anthos reúne o melhor dos dois mundos, permitindo que os usuários aproveitem os benefícios de ambos os serviços para obter uma solução de orquestração de contêiner altamente escalável, segura e flexível e reduzir custos. Com essa integração, os usuários podem facilmente implantar e gerenciar aplicativos em contêineres em várias nuvens e ambientes locais.
Objetivos
Integre o OKE ao Google Anthos.
Pré-requisitos
- Inscreva-se ou entre na sua conta do Oracle Cloud Infrastructure (OCI).
- Registre-se ou entre em uma conta do Google Cloud Platform (GCP).
- Google Anthos ativado na conta GCP.
Tarefa 1: Criar um cluster do Kubernetes no OCI
-
Clique no menu de navegação
próximo ao canto superior esquerdo da console web.
-
Vá para Serviços do Desenvolvedor e clique em Clusters do Kubernetes (OKE).
-
Selecione a opção Criar cluster.
-
Selecione a opção Criação rápida e clique em Enviar.
Observação: Isso criará todos os recursos necessários para implantar um cluster do OKE.
-
Informe o nome, selecione o compartimento para este cluster e selecione o Tipo de Nó como Gerenciado.
-
(Opcional) Você também pode escolher a forma, a imagem e o número de Nós.
-
Clique em Próximo duas vezes e em Criar.
Tarefa 2: Registrar o cluster no OCI Cloud Shell
-
Depois que o cluster for criado, você deverá registrar esse cluster no arquivo
~/.kube/config
dentro do OCI Cloud Shell. -
Vá para o cluster e selecione a opção Acessar Cluster.
-
Isso abrirá uma nova janela com as etapas sobre como acessar o cluster no OCI Cloud Shell. Siga as etapas.
Tarefa 3: Criar uma conta de serviço
-
Depois que o cluster tiver sido registrado no OCI Cloud Shell, você poderá acessar e interagir com esse cluster.
-
Para criar a conta de serviço, siga as etapas 2-4 desta documentação: Adicionando um Token de Autenticação de Conta de Serviço a um Arquivo Kubeconfig.
Tarefa 4: Registrar o cluster novamente no OCI Cloud Shell
Depois que a conta de serviço for criada, registre novamente o cluster no OCI Cloud Shell. Para facilitar e limpar as coisas, crie um backup da configuração atual antes de passar para as próximas etapas.
-
Para criar um backup do
~/.kube/config
, abra o OCI Cloud Shell. -
Execute o seguinte comando:
mv ~/.kube/config ~/.kube/config.bkp
-
Siga as etapas da Tarefa 2: Registrar o cluster no OCI Cloud Shell.
Tarefa 5: Copiar o ~/.kube/config do OCI para o GCP
Copie o arquivo ~/.kube/config
recriado na Tarefa 4: Registre o cluster novamente no OCI Cloud Shell para o GCP Cloud Shell.
-
Copie o conteúdo do arquivo
cat ~/.kube/config
, selecione todo o conteúdo no OCI Cloud Shell e pressione ctrl+c (copiar). -
Vá para o GCP Cloud Shell e execute o comando
vim ~/.kube/config
, vá para a parte inferior do arquivo de configuração e pressione ctrl+v (colar).
Tarefa 6: Verificar a conexão no GCP
-
Depois de ter a entrada do arquivo de configuração em vigor, verifique se a conexão está funcionando. Execute o comando a seguir no GCP e no OCI Cloud Shell.
kubectl get nodes
-
Se os IPs corresponderem, tudo estará em ordem, se não, tente repetir a Tarefa 5: Copiar o ~/.kube/config do OCI para o GCP novamente.
Tarefa 7: Obter o TOKEN do OCI
Obtenha o TOKEN gerado na Tarefa 3: Criar uma conta de serviço.
-
Execute o seguinte comando no OCI Cloud Shell:
TOKEN=`kubectl -n kube-system get secret oke-kubeconfig-sa-token -o jsonpath='{.data.token}' | base64 --decode
-
Depois de obter o código, execute o comando a seguir.
echo $TOKEN
e copie o token. -
Vá para o GCP Cloud Shell e crie uma variável denominada
token
.TOKEN="|the token you copied|"
-
Execute as etapas 6-7 nesta documentação: Adicionando um Token de Autenticação de Conta de Serviço a um Arquivo Kubeconfig no GCP Cloud Shell.
Observação: Para as tarefas restantes, usaremos somente o GCP.
Tarefa 8: Criar uma conta de serviço no GCP e obter a chave JSON
-
Abra o GCP Cloud Shell.
-
Execute o comando a seguir para criar uma conta de serviço chamada
connect-register-sa
.gcloud iam service-accounts create connect-register-sa --project PROJECT_ID
Observação: substitua PROJECT_ID pelo ID do projeto do Cloud no GCP que você deseja ser pai da sua conta de serviço
connect-register-sa
. -
Execute o comando a seguir para criar a chave JSON.
gcloud iam service-accounts keys create connect-register-key.json --iam-account SERVICE_ACCOUNT_EMAIL
Observação: substitua SERVICE_ACCOUNT_EMAIL pelo endereço de e-mail da sua conta de serviço
connect-register-sa
.
Tarefa 9: Conceder as permissões necessárias à conta de serviço
Para o gpc-cloud-agent
, que será instalado no cluster do OKE, para estabelecer comunicação com o GCP Anthos, precisamos conceder algumas permissões adicionais à conta de serviço que acabamos de criar.
-
Execute o comando a seguir para conceder a permissão
gkehub.editor
.gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" --role "roles/gkehub.editor"
Observação: substitua
FLEET_HOST_PROJECT_ID
porGCP PROJECT_ID
eSERVICE_ACCOUNT_EMAIL
pelo e-mail da sua conta de serviçoconnect-register-sa
. -
Execute o comando a seguir para conceder a permissão
gkehub.connect
.gcloud projects add-iam-policy-binding PROJECT_ID --member serviceAccount:SERVICE_ACCOUNT_EMAIL --role "roles/gkehub.connect"
Observação: substitua
PROJECT_ID
porGCP PROJECT_ID
eSERVICE_ACCOUNT_EMAIL
pelo e-mail da sua conta de serviçoconnect-register-sa
.
Tarefa 10: Registrar o cluster do OKE no GCP Anthos
Quando tivermos todas as permissões em vigor, poderemos prosseguir com o registro do cluster do OKE no Google Anthos.
-
Vá para o Google Anthos.
-
Selecione Clusters e, em seguida, selecione a opção REGISTER EXISTING CLUSTER.
-
Clique em ADICIONAR CLUSTERNO EXTERNO.
-
Selecione um nome de cluster, local, provedor e clique em GERAR COMANDO DE REGISTRO.
-
Copie o comando e substitua o contexto do cluster pelo contexto do cluster do OKE (isso pode ser encontrado no arquivo
~/.kube/config
), substitua o caminho service-account-key-file pelo caminho para o arquivo JSON criado em Tarefa 8: Criar uma conta de serviço no GCP e obter a chave JSON(connect-register-key.json) e, por fim, substitua o caminho do arquivokubeconfig
(geralmente, é~/.kube/config
). -
Execute o comando no GCP Cloud Shell.
Tarefa 11: Fazer log-in no cluster do OKE
-
Depois que o registro do cluster do OKE no Anthos for concluído, você precisará fazer login no cluster no Anthos.
-
Você pode fazer log-in no cluster usando o TOKEN gerado na Tarefa 3: Criar uma conta de serviço.
Links Relacionados
Aquisições
-
Autor - Dragos Nicu (Engenheiro de Nuvem Sênior)
-
Contribuinte - Andrei Ilas (Arquiteto de Nuvem Principal)
Mais Recursos de Aprendizagem
Explore outros laboratórios no site docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal YouTube do Oracle Learning. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Integrate Oracle Cloud Infrastructure Container Engine for Kubernetes with Google Anthos
F80662-01
April 2023
Copyright © 2023, Oracle and/or its affiliates.