Gerenciar Clusters do Oracle Cloud Infrastructure Kubernetes Engine em ArgoCD usando a Identidade da Carga de Trabalho

Introdução

ArgoCD é uma ferramenta de entrega contínua declarativa GitOps para o Kubernetes. No momento em que este tutorial foi escrito, o ArgoCD não tem os recursos da Interface de Linha de Comando (CLI do OCI) do Oracle Cloud Infrastructure necessários para gerar o token de acesso para o Oracle Cloud Infrastructure Kubernetes Engine (OKE), portanto, uma imagem ArgoCD personalizada é necessária.

Observação: A imagem base ArgoCD usada para a imagem personalizada é quay.io/argoproj/argocd:v3.1.1.

Objetivos

Pré-requisitos

Tarefa 1: Enviar a Imagem Personalizada ArgoCD ao OCI Container Registry

Observação: Você pode usar Podman ou docker.

  1. Crie um Dockerfile contendo:

    FROM quay.io/argoproj/argocd:v3.1.1
    
    USER root
    
    
    RUN apt-get update; \
        apt-get install -y --no-install-recommends python3-venv; \
        python3 -m venv /opt/oci; \
        /opt/oci/bin/pip install --no-cache-dir --upgrade pip; \
        /opt/oci/bin/pip install --no-cache-dir "oci-cli==3.65.0"; \
        ln -s /opt/oci/bin/oci /usr/local/bin/oci; \
        apt-get clean; \
        rm -rf /var/lib/apt/lists/*
    
    USER 999
  2. Execute o comando a seguir dentro da pasta que contém o 'Dockerfile'.

    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.

  3. Execute o seguinte comando.

    podman tag argocd-oci:01 ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01
  4. 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.
    • A senha é seu token de autenticação do OCI.
  5. Execute o seguinte comando.

    podman push ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01

Tarefa 2: Instalar ArgoCD Usando a Imagem Personalizada

  1. Baixar e instalar o manifesto ArgoCD aqui: argo-cd/manifests/install.yaml.

  2. Edite o arquivo para substituir a imagem ArgoCD em nossa imagem personalizada.

    • Alterar da imagem: quay.io/argoproj/argocd
    • Para a imagem: ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01
  3. Execute o comando a seguir para criar o namespace argocd.

    kubectl create namespace argocd
  4. Execute o comando a seguir para implantar o argocd.

    kubectl apply -f install.yaml -n argocd

Tarefa 3: Adicionar um Cluster à Lista de Clusters ArgoCD

  1. Inicie ArgoCD.

    Observação: Você pode usar um Balanceador de Carga do OCI para expor ArgoCD. Para este exemplo, port-forward será usado. Use um terminal adicional apenas para encaminhamento de porta.

    1. 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 ArgoCD ativo.

    2. Obtenha a senha de administrador ArgoCD usando o comando a seguir.

      kubectl get secret -n argocd argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
    3. Faça login (usuário é admin, senha é a do comando anterior) usando o comando a seguir.

      argocd login 127.0.0.1:63265
  2. 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: O nome do cluster que aparecerá na lista de clusters ArgoCD.
    • cluster_api_endpoint: O ponto final do cluster que você deseja adicionar à lista de clusters ArgoCD.
    • cluster_ocid: O OCID do cluster que você deseja adicionar à lista de clusters ArgoCD.
    • region: A região em que o cluster reside.
  3. Aplique o arquivo para adicionar o cluster na lista de clusters ArgoCD usando o comando a seguir.

    kubectl apply -f add_cluster.yaml
  4. Verifique se o cluster foi adicionado à lista de clusters ArgoCD usando o comando a seguir.

    argocd cluster list

Tarefa 4: Testar Implantando um Aplicativo de ArgoCD no Cluster

  1. 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.
  2. Aplique o arquivo para implantar um aplicativo simples no cluster de destino usando o comando a seguir.

    kubectl apply -f deploy-example.yaml
  3. Verifique se o aplicativo foi implantado com sucesso usando os comandos a seguir.

    argocd app list
    argocd app sync guestbook

Confirmações

Mais Recursos de Aprendizado

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.