全部產品
Search
文件中心

Container Service for Kubernetes:使用ACK One GitOps部署ACR EE OCI Helm Chart

更新時間:Jun 19, 2024

Container Registry企業版(ACR EE)支援託管OCI製品,包括鏡像、Helm Chart和自訂的OCI製品,您可以將Chart打包為OCI製品,使用該形式推送和拉取Chart。您還可以通過ACK One GitOps部署ACR EE OCI Helm Chart,方便在不同的環境中分發和部署Kubernetes應用。

前提條件

步驟一:將Helm Chart推送到ACR EE

本文通過echo-server樣本,並在本地將Chart Version修改為0.1.1後推送至ACR EE。具體操作,請參見推送和拉取Helm Chart(該文檔中使用tar命令打包,建議您使用helm package ****替代)。

步驟二:添加OCI倉庫

執行以下命令,添加ACR EE OCI倉庫至ACK One GitOps。

argocd repo add <myregistry.com> --type helm --name <自訂reponame> --enable-oci --username <username> --password <password>

範例程式碼如下:

argocd repo add demo***-registry.cn-hangzhou.cr.aliyuncs.com --type helm --name acr-oci --enable-oci --username ack***@test.aliyunid.com --password <password>

步驟三:部署應用

  1. 使用以下YAML範例程式碼,建立app-helm-dev-oci.yaml檔案。

    apiVersion: argoproj.io/v1alpha1
    kind: Application
    metadata:
      name: app-helm-dev-oci
    spec:
      destination:
        namespace: app-helm-dev-oci
        # https://XX.XX.XX.XX:6443。
        server: <apiserver-url>
      source:
        # 例如demo***-registry.cn-hangzhou.cr.aliyuncs.com/test。
        repoURL: <registry-domain>/<namespace>
        # 例如0.1.1。
        targetRevision: <my-chart-version>
        # 例如echo-server。
        chart: <my-chart-name> 
        helm:
          passCredentials: true
          # 視具體情況指定,預設是values.yaml。
          valueFiles:
            - values-dev.yaml
      project: default
      syncPolicy:
        # 自動同步。
        automated: {}
        syncOptions:
          - CreateNamespace=true
  2. 執行以下命令,通過ArgoCD CLI部署應用。

    argocd app create -f app-helm-dev-oci.yaml