How does ArgoCD sync/update a updated helm chart under the hood? - kubernetes

our team right now is using helm chart to deploy services to k8s cluster, and ArgoCD to sync the helm chart modification to k8s cluster.
My question is that, when ArgoCD performs a helm chart sync, what action does it do under the hood? does it use the command "helm upgrade" to do it? or else?
Thanks

Argo does not perform a helm install or helm upgrade of sorts; it is more closely related to a helm template <cmd+opts> | kubectl apply -f -.

I think you should look into the concept of GitOps.
Argo CD is responsible for pulling updated code from Git repositories
and deploying it directly to Kubernetes resources.
(quoted from https://codefresh.io/learn/argo-cd/)

I think best way is to package the chart into a CR instances in your env and then give argocd credentials to access the charts
The trick is how would you give argocd credentials and also if you have multiple charts how do sync all in one go

Related

Migrate Kubernetes manifests to Helm charts

I'm currently deploying k8s using manifests and kubectl command.
Is there any automated way to convert these manifests to Helm charts?
If not, can you please give me a template or examples to follow in order to do this migration manually?
Thank you.
I tried helmify CLI but I was unable to install it.

Install helm package on GKE cluster creation

I am working on a toy project and want to connect my GitLab to my GKE. There is a one liner that does it. After creating the GKE, I can run the oneliner and it works fine.
But I don't want to keep the cluster running for long since I don't want to be charged. When I am developing, I want to deploy my infrastructure and with my infrastructure, I want my gitlab connection also setup. And after I stop it, I will run terraform destroy to stop my cluster
I am using terraform to deploy GKE, but I can't find a way to run a command inside the cluster with the deployment of my infrastructure. Is there a way to do this?
Thanks for you help
Please tell me if this works for you:
helm repo add stable https://kubernetes-charts.storage.googleapis.com/
helm repo add stable https://charts.helm.sh/stable
helm repo update
helm install nginx-ingress stable/nginx-ingress
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v0.16.0/cert-manager.yaml

How do I lookup configMap values to build k8s manifest using ArgoCD

I'm using ArgoCD for gitops deployments right now and I have k8s manifest files that require configMap values to be built (via helm right now). However, ArgoCD does not allow me to use helm lookup feature so I can't have that in my helm chart.
I have a helm chart that uses helm lookup to pull values from a configMap to build a k8s manifest file (pretty common). The problem is that argocd does not allow me to use the helm lookup functionality when it is deploying the helm chart. Has anyone come across this situation where you need to build a manifest file using values in a configMap while using ArgoCD? How did you accomplish that? Any help is greatly appreciated.
I think this is a well-known issue for ArgoCD to work with helm, I think the below thread will be helpful for you.
https://github.com/argoproj/argo-cd/issues/5202

Does K0s support Helm v.3?

I am trying to use helm charts with k0s.
Having my own helm-charts app, I would like to create a local repo. But I cannot use the serve command since I am using version: 3.5.4 and the serve command had been ditched for security concerns.
I am not sure now how to create a local repo ? and where can I find tutorials or examples ?
Also, how to deploy my chart in k0s cluster ?
I would try to use ChartMuseum instead. You can follow the docs to create a local filesystem chart.
You simply deploy the same way as with helm v2. Make sure you add the chart repo and you have kubectl configured to point to the cluster that you want to talk to so that ~/.kube/config has the right configuration.
Yes it does, you can also utilize k8slens.dev to easily deploy helm charts to your Kubernetes clusters. Regardless of the distro..

When setting up Kubernetes, why can't my Gitlab GUI see the Helm Tiller application?

when I recently tried to use Gitlab Auto DevOps to Kubernetes, my Gitlab GUI cannot see the Helm Tiller application.
Why?
One possible reason could be that you are using Helm 3. The Tiller doesn't exist on Helm 3.
The internal implementation of Helm 3 has changed considerably from Helm 2. The most apparent change is the removal of Tiller.