附註:

使用工作負載身分管理 Argo CD 中的 Oracle Cloud Infrastructure Kubernetes Engine 叢集

簡介

Argo CD 是適用於 Kubernetes 的 GitOps 持續交付工具。撰寫此教學課程時,Argo CD 沒有產生 Oracle Cloud Infrastructure Kubernetes Engine (OKE) 存取權杖所需的 Oracle Cloud Infrastructure 命令行介面 (OCI CLI) 功能,因此需要自訂 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 .
    

    注意:命令結尾的 dot (.) 是用於 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
    
    • 使用者為:
      • 如果使用識別網域: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 清單: argo-CD/manifests/install.yaml

  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. 使用下列指令登入 (使用者為管理,密碼為上一個指令中的密碼)。

      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. 使用下列命令套用檔案,將簡單 App 部署至目標叢集。

    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