Skaffold: Use helm deploy next to kubectl

Created on 8 May 2018  路  10Comments  路  Source: GoogleContainerTools/skaffold

Expected behavior

deploy:
  kubectl:
    manifests:
    - ./api/kubernetes/*
  helm:
    releases:
    - name: backend
      chartPath: umbrella-chart/

Both helm and kubectl deploy is being run

Actual behavior

Only one deploy pipleline is executed

Information

I really enjoy using skaffold as it simplifies development with local docker containers as no (external) docker registry is required.

When I add all my dependencies to helm and only issue helm deploys through skaffold I'm forced to use a docker registry as it doesn't seem to support pushing the containers directly.

When trying to mix helm with kubectl deploys (the latter to push docker containers directly) only one of them is executed, it doesn't seem like skaffold supports mixed deploy directives currently.

I'm currently using two different skaffold yamls and runs, one for helm and one for kubectl, which is a little cumbersome.

Is it possible to either mix kubectl/helm deploys or have helm deploys and still make use of the container-pushing-no-registry-needed part? :-)

Thanks!

aredeploy deplohelm deplokubectl kinfeature-request prioritp1

Most helpful comment

This is a valid use case and we should support it soonish in my opinion.

All 10 comments

Any update on this? I am having the same issues

just pinged @ajbouh

More generally - it would be nice to be able to run multiple deployers from the same skaffold.

In my case, I want to run both helm and kustomize deployers

This is a valid use case and we should support it soonish in my opinion.

We'd love to see this happen as well. Our deployment is always a combination of helm charts along with plain k8s manifests. Our current workaround is to have one skaffold.helm.yaml file with helm charts and another skaffold.k8s.yaml with k8s manifests. The skaffold is then started like this:

skaffold run -f skaffold.helm.yaml && \
skaffold dev -f skaffold.k8s.yaml  --port-forward --cache-artifacts=true

Obviously, the running helm charts need to be purged separately as [Ctrl]+C cleans up k8s manifests only deployed in the second command. Pretty easy to create an npm script for this:

sh -c 'for hr in $(helm ls -a --short); do helm del --purge $hr; sleep 3; done'

Same here, waited a long time for this feature, finally I turned to devspace which support multiple deploy method be used at the same time.
Everyone should definitly try that if skaffold fails you.

I'd also love to see this happening. :+1:

This would allow me to create a release namespace using kubectl, then deploy the rest of the chart via helm, so I would also really like to see this.

Didn鈥檛 this already happen? I remember being able to deploy both from one skaffold.yaml file using the latest version of skaffold.

@demisx yep, this was fixed with https://github.com/GoogleContainerTools/skaffold/pull/3392 and went out with the 1.2.0 release.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

strikeout picture strikeout  路  4Comments

nathkn picture nathkn  路  3Comments

heroic picture heroic  路  4Comments

kdevu picture kdevu  路  3Comments

yurchenkosv picture yurchenkosv  路  3Comments