gruntwork-io / gruntwork-io/kubergrunt

Should rolling deploy command leverage cluster-autoscaler?

Open
#4 0 comments 0 reactions 0 assignees View on GitHub
enhancement needs design
Dominant language
Go
Stars
564
Forks
93
Avg merge
5d 12h
Merged PRs (30d)
1

Description

Way it might work:
1. Taint all the nodes in the cluster with `NoSchedule` so new pods won't be scheduled on the existing nodes.
1. In a rolling fashion, evict the pods on a set of nodes so that they need to be rescheduled. This should trigger new instances to be provisioned, because there are no nodes available for the pods to be scheduled on.
1. Since the pods are being evicted on the old nodes, they should be scaled in because they will become idle.

Also from [Jim](https://github.com/gruntwork-io/package-k8s/issues/32#issuecomment-449499585)

> One more thought:
> - The deployer can schedule itself as a Job in the K8S cluster
> - The deployer can then checkpoint its progress (e.g., in a ConfigMap)
> That way, if it is paused or restarted, it can just read the state and pick up where it left off

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.