我正在使用
Argocd
来部署我的应用程序。AWS ECR
的 Helm 图表进行部署。
我目前正在使用存储在 Git 存储库中的
Argocd application
清单,该清单指向 ECR 中的 Helm Chart RepoURL
:
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: app
namespace: argocd
spec:
sources:
- repoURL: 1234567890.dkr.ecr.us-east-1.amazonaws.com
path: .
chart: app-helm
targetRevision: 3.2
destination:
server: https://kubernetes.default.svc
namespace: default
project: default
syncPolicy:
syncOptions:
- CreateNamespace=true
UI 中的 ArgoCD
应用程序指向带有此 ArgoCD 应用程序清单的 git 存储库。因此该应用程序创建了另一个应用程序(应用程序的应用程序)。RepoURL
包含 AWS_ACCOUNT_ID
和 AWS_REGION
。apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: app
namespace: argocd
spec:
sources:
- repoURL: ${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com
path: .
chart: app-helm
targetRevision: 0.3.2
destination:
server: https://kubernetes.default.svc
namespace: default
project: default
syncPolicy:
syncOptions:
- CreateNamespace=true
有什么建议吗?
使用简单的 Helm 图表将应用程序包装在 Git 存储库中
spec:
sources:
- repoURL: {{ .Values.AWS_ACCOUNT_ID }}.dkr.ecr.{{ .Values.AWS_REGION }}.amazonaws.com
然后将其添加到应用程序的应用程序中:
helm:
valuesObject:
AWS_ACCOUNT_ID: "1234567890"
AWS_REGION: "us-east-1"