Background
- Helm is one of many package managers for k8s.
- K8S objects = K8S manifests yaml files
- Under the hood, Argo CD can be deployed using helm charts
- Helm charts are packaged up k8s manifests files in the for of helm templates, .tpl files that are fundamentally written in the Go Language.
Argo CD
- Argo CD can use Helm, Kustomize, jsonnet under the hood to help with CD
- Argo CD can allow applications to self-heal, self-prune, auto-sync with their connected Github Repos.
- Argo CD application can auto run, build services, service accounts, deployment and wrap it up with ingress control.
Common issues:
- Ingress is stuck at โProgressingโ state
- Ans: Likely due to missing resources in the ClusterConfig role. Need admin users with Cluster level access to fix and add the following back to the ClusterConfigโฆ
- Ans: Likely due to missing resources in the ClusterConfig role. Need admin users with Cluster level access to fix and add the following back to the ClusterConfigโฆ
- Ingress is stuck at โProgressingโ state
Helm
Pros of Helm: Saves a lot of time to rewrite yaml manifests files for the same deployment across envs and regions Cons of Helm: Harder to debug due to templates logics all wrapped up in go and common helper functions
File structure of Argo CD
please draw a bash tree with the following inputs
hk-infra/
โโโ argocd/
โโโ common/ # library chart
โ โโโ Chart.yaml
โ โโโ templates/
โ โโโ _deployment.yaml
โ โโโ _helpers.tpl
โ โโโ _ingress.yaml
โ โโโ _service.yaml
โ โโโ _serviceaccount.yaml
โ โโโ _util.yaml
โโโ feed-api/
โโโ charts/
โโโ config/ # library chart
โ โโโ Chart.yaml
โ โโโ templates/
โโโ dev/
โ โโโ charts/
โ โโโ hk/
โ โ โโโ Charts
โ โ โโโ values-hk-dev.yaml
โ โ โโโ templates/
โ โ โโโ configmap.yaml
โ โ โโโ deployment.yaml
โ โ โโโ ingress.yaml
โ โ โโโ service.yaml
โ โ โโโ serviceaccount.yaml
โ โโโ us/
โ โโโ Charts
โ โโโ values-us-dev.yaml
โ โโโ templates/
โ โโโ configmap.yaml
โ โโโ deployment.yaml
โ โโโ ingress.yaml
โ โโโ service.yaml
โ โโโ serviceaccount.yaml
โโโ prod/
โโโ charts/
โโโ hk/
โ โโโ Charts
โ โโโ values-hk-prod.yaml
โ โโโ templates/
โ โโโ configmap.yaml
โ โโโ deployment.yaml
โ โโโ ingress.yaml
โ โโโ service.yaml
โ โโโ serviceaccount.yaml
โโโ us/
โโโ Charts
โโโ values-us-prod.yaml
โโโ templates/
โโโ configmap.yaml
โโโ deployment.yaml
โโโ ingress.yaml
โโโ service.yaml
โโโ serviceaccount.yaml