0

I have a few services running on a kubernetes cluster, and I use Helm Chart where I placed all my services. However, I was asked to transfer Helm Charts into Helmfile. If I use

helmfile import myrepo/mychart
helmfile sync

Will it redeploy and substitute existing running pods or It will deploy just deploy additional services mentioned

  • `helmfile diff` will show you what `helmfile apply` will do. I believe Helmfile mostly wraps `helm` commands, so if you already have the same charts installed in the same namespaces with the same names, I'd expect it to not want to do anything. – David Maze Dec 14 '22 at 14:32
  • @DavidMaze Could you please explain why it would not do anything? – Ruslan Pylypiuk Dec 14 '22 at 15:06
  • If your `helmfile.yaml` lists all of the same releases you've separately `helm install`ed, it won't see any change. (But if you've added additional releases those should get installed.) At any rate, the `helmfile diff` will show you what will actually change and that might be the clearest answer for you. – David Maze Dec 14 '22 at 15:29

1 Answers1

0

Helm uses a packaging format called charts. A chart is a collection of files that describe a related set of Kubernetes resources. A single chart might be used to deploy something simple, like a memcached pod, or something complex, like a full web app stack with HTTP servers, databases, caches, and so on.

Helmfile is a declarative spec for deploying helm charts. It lets you... Keep a directory of chart value files and maintain changes in version control. Apply CI/CD to configuration changes. Periodically sync to avoid skew in environments.

To avoid upgrades for each iteration of helm, the helmfile executable delegates to helm - as a result, helm must be installed.

Like @DavidMaze suggested, use helm diff command first to determine the changes and then use helm sync command for applying them.