GitOps with Helm and Argo CD
Argo CD: Configuration Management Using Helm
Argo CD supports a number of Kubernetes configuration management tools, and one of the most popular is Helm. If you have multiple environments, complex applications, dependent services, or just want to abstract away your Kubernetes manifests, Helm is a great choice.
Alternatives to Helm include Ksonnet and Kustomize. The first is deprecated, and the second is natively supported by kubectl and also supported by Argo CD. You can also write your own configuration management plugin and use it as part of your workflow.
We already have a subfolder in the same GitHub repository that contains a Helm chart ready to use.
cd $HOME/argocd-helm-example
# List the contents of the flask-app-helm folder
tree flask-app-helm
These are the files in the flask-app-helm folder:
flask-app-helm
├── Chart.yaml
├── templates
│  ├── _helpers.tpl
│  ├── deployment.yaml
│  └── service.yaml
└── values.yaml
Here is how to deploy it using an Application:
kubectl apply -f - <
---
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: flask-app
namespace: argocd
spec:
destination:
namespace: flask-app
server: https://kubernetes.default.svc
project: default
source:
repoURL: https://github.com/$GITHUB_USERNAME/argocd-helm-example-bis
targetRevision: main
path: flask-app-helm
helm:
valueFiles:
- values.yaml
syncPolicy:
automated:
prune: true
selfHeal: true
allowEmpty: Helm in Practice
Designing, Deploying, and Operating Kubernetes Applications at ScaleEnroll now to unlock current content and receive all future updates for free. Your purchase supports the author and fuels the creation of more exciting content. Act fast, as the price will rise as the course nears completion!
Hurry! This limited time offer ends in:
To redeem this offer, copy the coupon code below and apply it at checkout:
