在这篇文章里,会主要记录一下kubernetes安装相关的信息。
Kubernetes 设置
Kubernetes可以通过不同的设置安装,比较普遍的四种安装方法如下:
All-in-One Single-Node Installation
在这种模式下,所有的master和worker组件都被安装在一个node上,这对学习、开发和测试非常有用,但是不应该被用在生产环境中。minikube就是一个例子。
Single-Node etcd, Single-Master, and Multi-Worker Installation
在这种模式下,我们有一个单独的master node,在这个master node上同时也跑了一个单节点的etcd实例。多个worker node都连接到这一个master node。
Single-Node etcd, Multi-Master, and Multi-Worker Installation
在这种模式下,我们有多个Master node,master node将会在HA模式下工作,但是我们只有一个单节点的etcd实例。多个的worker node都会连接到多个master node上去。
Multi-Node etcd, Multi-Master, and Multi-Worker Installation
在这种模式下,etcd被设置成了集群模式,并且在kubernetes集群之外。所有的Node都会连接到它上面去。所有的master node都被设置为HA模式,并且连接到所有的worker node上。Production都应该这么玩。
Kubernetes需要的基础设施
当我们决定了安装的类型,我们同时需要决定一下基础架构相关的决定,比如:
- 我们应该在裸机上安装k8s,还是在公有云,还是在私有云?
- 我们应该用哪种操作系统?RHEL,CoreOS,CentOS?
- 我们应该用哪种网络解决方案?
- 以及其它的。
本地安装
本地安装推荐使用 minikube。
在虚拟机或者裸机上
kubernetes都支持安装在虚拟机或者裸机上,有很多工具比如ansible和kubeadm同时支持这两种安装。
安装在云上
这个就不用多说了,交保护费即可。
Kubernetes安装工具
目前比较有名的有三个:kubeadm, kubespray, kops。
区别在于,kubeadm支持任何环境,kubespray是基于ansible的,kops目前和aws和gce强耦合。