2
votes

I need to deploy a web application in gke. The application consists of two pods and needs to scale to ~30 replicas.

Rolling updates take ~30s/pod in our setup.

Old title: How do I enable the deployments API on GKE cluster?

I tried to use deployments as they allow to update multiple pods in parallel. But, as nshttpd pointed out in #google-containers on the kubernetes slack: I may be wrong, but GKE clusters don’t have beta features I thought. so if you want Deployments you’ll have to spin up your own cluster.

1
nshttpd on slack: I may be wrong, but GKE clusters don’t have beta features I thought. so if you want Deployments you’ll have to spin up your own cluster.tback
GKE clusters do have beta features. Deployments will be beta in v1.2 and GKE will provide that feature.Vishnu Kannan

1 Answers

1
votes

GKE clusters actually do have beta features. But Deployments were an alpha feature in the 1.1 release (which is the current supported release) and are graduating to beta for the upcoming 1.2 release. Once they are a beta feature, you will be able to use them in GKE.

The rolling update command is really just syntactic sugar around first creating a new replication controller, scaling it up by one, scaling the existing replication controller down by one, and repeating until the old replication controller has size zero. You can do this yourself at a much faster rate if going one pod at a time is too slow. You may also want to file a feature request on github to add a flag to the rolling update command to update multiple pods in parallel.