Kubernetes安装

在这篇文章里,会主要记录一下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强耦合。