Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

remove reliance on tiller #11

Closed
clux opened this issue Oct 25, 2018 · 4 comments
Closed

remove reliance on tiller #11

clux opened this issue Oct 25, 2018 · 4 comments

Comments

@clux
Copy link
Member

@clux clux commented Oct 25, 2018

For a multitude of reasons:

  • it makes it harder to inject service mesh functionality (e.g. conduit inject)
  • gitops style makes the extra source of truth unnecessary and competing

But most importantly; helm has numerous upgrade bugs that makes its use hard to justify:

  • helm/helm#3353 : initial install failures cannot be recovered from
  • helm/helm#3319 : helm cannot reclaim existing resources (exclusionary)
  • helm/helm#4387 : helm sometimes fail to upgrade (forcing us to helm del --purge)
  • helm/helm#3675 : rollback screws with state (and can cause us to have to purge)
  • helm/helm#2735 : helm upgrade doesn't always upgrade

So. Paths to replacing helm means finding ways to replace the things it provides:

  • helm hooks (dropped hook use: they are entirely unmanaged resources that are hard to debug, non-idempotent installs) - db migrations should happen in a locked rollout step, or externally
  • helm upgrade --wait --timeout (shipcat waits instead for now => avoids setting failed state which causes us to have to purge a lot)
  • helm history -> kubectl rollout history (slightly worse, but this was never crucial)
  • grouping resources for GC purposes -> kubectl apply --prune -lapp={app} --prune-whitelist=[...]
  • helm diff plugin -> kubectl alpha diff ? (currently in an unusable state - 1.13 GA?)
  • helm rollback -> git revert in manifests repo
  • shipcat helm upgrade --auto-rollback (useful for rolling environments that gate on integration tests)

NB: helm template and chart usage will be kept (for now).

Diff is the only hard issue at the moment that we may have to wait for.

@clux clux mentioned this issue Mar 19, 2019
1 of 5 tasks complete
@clux

This comment has been minimized.

Copy link
Member Author

@clux clux commented Mar 29, 2019

Diff works fine in kubernetes 1.13: #56

@clux clux added this to the smarter-reconciles milestone Apr 9, 2019
@clux

This comment has been minimized.

Copy link
Member Author

@clux clux commented Apr 9, 2019

Finer details on the gc aspect is being discussed in #152

@clux

This comment has been minimized.

Copy link
Member Author

@clux clux commented Sep 6, 2019

--auto-rollback flag was removed a few versions back.

The last part of now implementing it is done in #275 now that we have 1.13 everywhere and diff is GA.

@clux

This comment has been minimized.

Copy link
Member Author

@clux clux commented Sep 16, 2019

0.127.1 is used internally now with tiller-less mode. Closing.

@clux clux closed this Sep 16, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
1 participant
You can’t perform that action at this time.