Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se inscrever em 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.
Gerenciar Clusters do Oracle Cloud Infrastructure Kubernetes Engine em CD Argo usando Identidade de Carga de Trabalho
Introdução
O Argo CD é uma ferramenta de entrega contínua declarativa GitOps para Kubernetes. No momento em que este tutorial foi escrito, o Argo CD não tem recursos da Interface de Linha de Comando (CLI da OCI) da Oracle Cloud Infrastructure necessários para gerar o token de acesso para o Oracle Cloud Infrastructure Kubernetes Engine (OKE), portanto, uma imagem de CD da Argo personalizada é necessária.
Observação: A imagem do CD Argo base que foi usada para a imagem personalizada é
quay.io/argoproj/argocd:v2.14.9
.
Objetivos
-
Crie uma imagem de CD Argo personalizada que contenha a CLI do OCI.
-
Instale o Argo CD no cluster do OKE aprimorado usando uma imagem personalizada.
-
Adicione um cluster básico do OKE à lista de clusters do Argo CD usando
execProviderConfig
. -
Implante um aplicativo no cluster básico do CD Argo.
Pré-requisitos
-
Instale o Podman ou o Docker e a CLI
argocd
. -
Cluster aprimorado do OKE para instalar o CD Argo.
Observação: Você só pode usar a identidade da carga de trabalho para clusters aprimorados.
-
Cluster do OKE a ser gerenciado pelo CD do Argo.
-
O token de autenticação do seu usuário do OCI (na Console do OCI, vá para seu perfil de usuário e clique em Tokens de autenticação), pode levar até 5 minutos para ser ativado.
-
Permissão para que o usuário do OCI crie repositórios no OCI Container Registry.
Allow group <your_group> to manage repos in tenancy
-
Permissão para o CD Argo gerenciar clusters do OKE.
allow any-user to manage all-resources in compartment <compartment_ocid> where all { request.principal.type='workload', request.principal.cluster_id = '<cluster_ocid>', request.principal.namespace = 'argocd', request.principal.service_account = 'argocd-application-controller' }
Observação: Esta política está muito aberta, mas você pode torná-la tão restritiva quanto desejar.
- Substituições na política:
compartment_ocid
: Esse deve ser o OCID do compartimento que contém os clusters que você deseja gerenciar com o CD do Argo.cluster_ocid
: Este deve ser o OCID do cluster do qual você deseja gerenciar outros clusters. Aquele que tem Argo CD.request.principal.namespace
: Este é o namespace no qual o CD do Argo é implantado.request.principal.service_account
: Esta é a conta de serviço do controlador da aplicação Argo CD (a responsável pela autenticação do cluster).
- Substituições na política:
Tarefa 1: Enviar a Imagem Personalizada do Argo CD para o OCI Container Registry
Observação: Você pode usar o Podman ou o docker.
-
Faça download do arquivo chamado
Dockerfile
aqui:Dockerfile
. -
Execute o seguinte comando.
podman build --platform linux/amd64 -t argocd-oci:01 .
Observação: O ponto (.) no final do comando se destina ao diretório atual, onde o Dockerfile está localizado.
-
Execute o seguinte comando.
podman tag argocd-oci:01 ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01
-
Execute o seguinte comando.
podman login ocir.**your_region**.oci.oraclecloud.com
- Usuário é:
- Se o domínio de identidades for usado:
your_tenancy_namespace
/OracleIdentityCloudService
/your_email
. - Se o domínio padrão for usado:
your_tenancy_namespace
/your_email
.
- Se o domínio de identidades for usado:
- A senha é seu token de autenticação do OCI.
- Usuário é:
-
Execute o seguinte comando.
podman push ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01
Tarefa 2: Instalar Argo CD usando a imagem personalizada
Observação: Atualize somente a imagem de
argocd-application-controller
, pois ela é responsável pela autenticação do cluster.
-
Baixe e instale o manifesto de CD Argo aqui: argo-CD/manifests/install.yaml.
-
Edite o arquivo para alterar a imagem de
argocd-application-controller
.- Alterar da imagem:
quay.io/argoproj/argocd:latest
- Para a imagem:
ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01
- Alterar da imagem:
-
Execute o comando a seguir para criar o namespace
argocd
.kubectl create namespace argocd
-
Execute o comando a seguir para implantar o
argocd
.kubectl apply -f install.yaml -n argocd
Tarefa 3: Adicionar um Cluster à Lista de Clusters de CDs da Argo
-
Inicie o CD Argo.
Observação: Você pode usar um Balanceador de Carga do OCI para expor o CD Argo. Para este exemplo,
port-forward
será usado. Para isso, você precisa de um terminal adicional apenas para encaminhamento de porta.-
No seu segundo terminal, execute o comando a seguir.
kubectl port-forward service/argocd-server -n argocd 63265:80
Observação: Não feche este terminal, alterne para o anterior, pois ele é usado para manter o CD Argo ativo.
-
Obtenha a senha de administrador do Argo CD usando o comando a seguir.
kubectl get secret -n argocd argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
-
Faça login (usuário é admin, senha é a do comando anterior) usando o comando a seguir.
argocd login 127.0.0.1:63265
-
-
Faça download do arquivo
add_cluster.yaml
e edite-o aqui: add_cluster.yaml:Observação: Este exemplo está usando TLS inseguro, ele pode ser alterado.
cluster_name
: Nome do cluster que aparecerá na lista de clusters de CDs do Argo.cluster_api_endpoint
: O ponto final do cluster que você deseja adicionar à lista de clusters de CDs Argo.cluster_ocid
: O OCID do cluster que você deseja adicionar à lista de clusters de CDs do Argo.region
: A região em que o cluster reside.
-
Aplique o arquivo para adicionar o cluster na lista de clusters do Argo CD usando o comando a seguir.
kubectl apply -f add_cluster.yaml
-
Verifique se o cluster foi adicionado à lista de clusters do Argo CD usando o comando a seguir.
argocd cluster list
Tarefa 4: Testar Implantando um Aplicativo do CD Argo no Cluster
-
Faça download do arquivo
deploy_example.yaml
e edite-o aqui: deploy_example.yaml.cluster_name
: Nome do cluster que você deseja implantar o aplicativo.
-
Aplique o arquivo para implantar um aplicativo simples no cluster de destino usando o comando a seguir.
kubectl apply -f deploy-example.yaml
-
Verifique se o aplicativo foi implantado com sucesso usando os comandos a seguir.
argocd app list argocd app sync guestbook
Confirmações
- Autor - Gabriel Feodorov (Engenheiro Sênior de Nuvem)
Mais Recursos de Aprendizagem
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal do Oracle Learning YouTube. Além disso, acesse education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Manage Oracle Cloud Infrastructure Kubernetes Engine Clusters in Argo CD using Workload Identity
G36155-01
Copyright ©2025, Oracle and/or its affiliates.