Migrate Kubernetes manifests to Helm charts - kubernetes

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.

Related

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

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

How to deploy appsmith via yaml in k8s?

Any example appsmith yaml for deploying appsmith since I don't want use helm in prod environment?
There's no official direct YAML files for deploying Appsmith on Kubernetes today. The Helm chart at helm.appsmith.com, and as documented at https://docs.appsmith.com/getting-started/setup/installation-guides/kubernetes, is the recommended way to install Appsmith on your cluster.
Asking as an engineering team member with Appsmith, can you elaborate a little on why avoid Helm for production please?

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..

How to edit the Configurations of a Helm Chart?

Hi everyone,
I have deployed a Kubernetes cluster based on kubeadm and for the purpose of performing HorizontalPodAutoscaling based on the Custom Metrics, I have deployed prometheus-adpater through Helm.
Now, i want to edit the configuration for prometheus-adpater and because i am new to Helm, i don't know how to do this. So could you guid me how to edit the deployed helm charts?
I guess helm upgrade is that are you looking for.
This command upgrades a release to a specified version of a chart and/or updates chart values.
So if you have deployed prometheus-adapter, you can use command helm fetch
Download a chart from a repository and (optionally) unpack it in local directory
You will have all yamls, you can edit them and upgrade your current deployed chart via helm upgrade
I found an example, which should explain it to you more precisely.
You're trying to customize an installed chart. Please use this guide Customizing the Chart Before Installing.
The key parts:
There are two ways to pass configuration data during install:
--values (or -f): Specify a YAML file with overrides. This can be specified multiple times and the rightmost file will take precedence
--set name=value: Specify overrides on the command line
There are a couple more ways to customize a Helm Chart values:
You may create a file with defined config and then helm install my-app [chart] -f /path/to/myconfig.yaml
As an example for a config file, please refer, for example, to redis one.
The second one is to check for the files the helm repo add or helm repo update create. You may check with helm env the variable HELM_REPOSITORY_CACHE that shows where those files are.
Untar the chart and look for the values config file or even go to the Kubernetes manifests /templates for a more in-depth customization. Then, install the chart.