주:

작업로드 ID를 사용하여 Argo CD에서 Oracle Cloud Infrastructure Kubernetes Engine 클러스터 관리

소개

Argo CD는 Kubernetes를 위한 선언적 GitOps 지속적 제공 도구입니다. 이 튜토리얼을 작성할 때 Argo CD에는 Oracle Cloud Infrastructure Kubernetes Engine(OKE)에 대한 액세스 토큰을 생성하는 데 필요한 OCI CLI(Oracle Cloud Infrastructure Command Line Interface) 기능이 없으므로 커스터마이징 Argo CD 이미지가 필요합니다.

주: 사용자정의 이미지에 사용된 기본 Argo CD 이미지는 quay.io/argoproj/argocd:v2.14.9입니다.

목표

필요 조건

작업 1: Argo CD 커스텀 이미지를 OCI 컨테이너 레지스트리로 푸시

주: Podman 또는 docker를 사용할 수 있습니다.

  1. Dockerfile에서 Dockerfile라는 파일을 다운로드합니다.

  2. 다음 명령을 실행합니다.

    podman build --platform linux/amd64 -t argocd-oci:01 .
    

    주: 명령 끝에 있는 점(.)은 Dockerfile이 있는 현재 디렉토리에 대한 것입니다.

  3. 다음 명령을 실행합니다.

    podman tag argocd-oci:01 ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01
    
  4. 다음 명령을 실행합니다.

    podman login ocir.**your_region**.oci.oraclecloud.com
    
    • 사용자:
      • ID 도메인이 사용되는 경우: your_tenancy_namespace/OracleIdentityCloudService/your_email
      • 기본 도메인이 사용되는 경우: your_tenancy_namespace/your_email.
    • 비밀번호는 OCI 인증 토큰입니다.
  5. 다음 명령을 실행합니다.

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

작업 2: 사용자 정의 이미지를 사용하여 Argo CD 설치

주: 클러스터 인증을 수행하므로 argocd-application-controller에 대한 이미지만 업데이트합니다.

  1. argo-CD/manifests/install.yaml에서 Argo CD 매니페스트를 다운로드하여 설치합니다.

  2. 파일을 편집하여 argocd-application-controller의 이미지를 변경합니다.

    • 이미지에서 변경: quay.io/argoproj/argocd:latest
    • 이미지: ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01
  3. 다음 명령을 실행하여 argocd 네임스페이스를 만듭니다.

    kubectl create namespace argocd
    
  4. 다음 명령을 실행하여 argocd를 배치합니다.

    kubectl apply -f install.yaml -n argocd
    

작업 3: Argo CD 클러스터 목록에 클러스터 추가

  1. Argo CD를 시작합니다.

    주: OCI 로드 밸런서를 사용하여 Argo CD를 노출할 수 있습니다. 이 예에서는 port-forward가 대신 사용됩니다. 이를 위해서는 포트 전달을 위한 추가 터미널만 필요합니다.

    1. 두번째 터미널에서 다음 명령을 실행합니다.

      kubectl port-forward service/argocd-server -n argocd 63265:80
      

      주: 이 터미널은 Argo CD를 작동 상태로 유지하는 데 사용되므로 닫지 마십시오. 이전 터미널로 전환하십시오.

    2. 다음 명령을 사용하여 Argo CD 관리자 암호를 가져옵니다.

      kubectl get secret -n argocd argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
      
    3. 다음 명령을 사용하여 로그인합니다(사용자는 admin, 암호는 이전 명령의 암호임).

      argocd login 127.0.0.1:63265
      
  2. add_cluster.yaml에서 add_cluster.yaml라는 파일을 다운로드하고 편집합니다.

    주: 이 예에서는 안전하지 않은 TLS를 사용하고 있으며 변경할 수 있습니다.

    • cluster_name: Argo CD 클러스터 목록에 나타날 클러스터의 이름입니다.
    • cluster_api_endpoint: Argo CD 클러스터 목록에 추가할 클러스터의 끝점입니다.
    • cluster_ocid: Argo CD 클러스터 목록에 추가할 클러스터의 OCID입니다.
    • region: 클러스터가 있는 영역입니다.
  3. 다음 명령을 사용하여 Argo CD 클러스터 목록에 클러스터를 추가할 파일을 적용합니다.

    kubectl apply -f add_cluster.yaml
    
  4. 다음 명령을 사용하여 클러스터가 Argo CD 클러스터 목록에 추가되었는지 확인합니다.

    argocd cluster list
    

작업 4: Argo CD에서 클러스터로 앱을 배치하여 테스트

  1. deploy_example.yaml에서 deploy_example.yaml라는 파일을 다운로드하고 편집합니다.

    • cluster_name: 앱을 배치할 클러스터의 이름입니다.
  2. 다음 명령을 사용하여 대상 클러스터에 간단한 앱을 배치하려면 파일을 적용합니다.

    kubectl apply -f deploy-example.yaml
    
  3. 다음 명령을 사용하여 앱이 성공적으로 배치되었는지 확인합니다.

    argocd app list
    argocd app sync guestbook
    

승인

추가 학습 자원

docs.oracle.com/learn에서 다른 랩을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer가 되십시오.

제품 설명서는 Oracle Help Center를 참조하십시오.