On Tue, Mar 21, 2017 at 1:43 AM,  <ijunaidsubh...@gmail.com> wrote:
> Im about to perform an OS upgrade on a K8s cluster and was hoping to know the 
> best practices for doing so.
>
> I heard from others that a few bad experiences happened when one host node 
> was upgraded ( OS patch applied ) and then the Master was unable to see it ( 
> some JSON incompatibility issue ). This ended up causing an outage.
>
> So what is the best way to upgrade an entire K8s setup.
>
> I have 1 K8s Master and 5 hosts on which my pods are deployed. I would prefer 
> a rolling update. If there is anyother solution, id be glad to hear about it.

To rolling update the nodes is easy. Just adding more nodes with
updated os to the cluster and delete old nodes after you do a drain on
them.

If you want to do rolling update on the master, you have to solve the
following problems:

- How to migrate etcd data to the new master
- How to keep the apiserver address static for node servers

There are many solutions to the problems. For example, you could setup
a dedicated etcd cluster and put a proxy in front of the master
server.

I would recommend to use the [bootkube] tool to setup a Kubernetes
cluster with self-hosted-etcd. And create a loadbalancer for the
apiserver.

We had put up an [example] in our cluster management tool for an aws
setup. Hope it's useful.

[bootkube]: https://github.com/kubernetes-incubator/bootkube
[example]: https://github.com/kubeup/archon/tree/master/example/k8s-bootkube

-- 
You received this message because you are subscribed to the Google Groups 
"Kubernetes user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to kubernetes-users+unsubscr...@googlegroups.com.
To post to this group, send email to kubernetes-users@googlegroups.com.
Visit this group at https://groups.google.com/group/kubernetes-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to