Container Registry Enterprise Editionを使用して、イメージ、Helmチャート、カスタムアーティファクトなどのOracle Cloud Infrastructure (OCI) アーティファクトをホストできます。 これにより、OCIアーティファクトにパッケージ化されたHelmチャートをプッシュおよびプルできます。 ACK One GitOpsを使用して、Container Registry Enterprise Edition OCI Helmチャートをさまざまな環境に展開することもできます。
前提条件
フリート管理機能が有効になっています。 詳細については、「マルチクラスター管理の有効化」をご参照ください。
FleetインスタンスのkubeconfigファイルはDistributed Cloud Container Platform for Kubernetes (ACK One) コンソールで取得され、kubectlクライアントはFleetインスタンスに接続されています。
ArgoCD CLIの最新バージョンは、ArgoCDを介してダウンロードおよびインストールされます。
手順1: HelmチャートをContainer Registry Enterprise Editionインスタンスにプッシュする
このトピックでは、エコーサーバーを使用します。 Helmチャートのバージョンが0.1.1に変更され、Container Registry Enterprise Editionインスタンスにプッシュされます。 この例では、tarコマンドを使用してパッケージを作成します。 helm package **** コマンドを使用することを推奨します。 詳細については、「プッシュおよびプルヘルムグラフ」をご参照ください。
ステップ2: OCIリポジトリの追加
次のコマンドを実行して、OCIリポジトリをACK One GitOpsに追加します。
argocd repo add <myregistry.com> -- type helm -- name <カスタムリポジトリ名> -- 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>ステップ3: アプリケーションのデプロイ
app-helm-dev-oci.yamlという名前のファイルを作成し、次のYAMLコンテンツをファイルに追加します。
apiVersion: argoproj.io/v1alpha 1 kind: アプリケーション メタデータ: 名前: app-helm-dev-oci spec: 宛先: 名前空間: app-helm-dev-oci # https:// XX.XX.XX.XX:6443 server: <apiserver-url> ソース: # 例: デモ *** -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: デフォルト syncPolicy: # 自動同期ポリシー。 自動化: {} syncOptions: -CreateNamespace=true次のコマンドを実行して、ArgoCD CLIを使用してアプリケーションをデプロイします。
argocd app create -f app-helm-dev-oci.yaml