Kubernetes的安装

目前外面有很多kubernetes的安装方法,这篇文章主要介绍用kubeadm来安装最简化的kubernetes的集群。

kubeadm 是官方发布的安装集群的脚本,用起来十分简便。

准备工作

集群包括:

  • 1台master (2 core cpu 和4g ram): 主要安装kubernetes必要的自带pod如 apiServer, kube-controller , kube-scheduler , etcd等
  • 1台worker (1 core cpu 和 2g ram): 安装自己的pod

这边是用作演示所以仅配置最小需求。节点使用的系统为Ubuntu 16.04
接下来我们需要找两台服务器。请注意

使用kubeadm的时候,脚本会从google容器库上下载必要的pod,由于国内把google容器库墙了,所以会导致脚本没法安装集群。这边我们只是做演示,为了方便起见,在阿里云上弄了两台在香港的服务器,这样在安装的时候就不会被墙了。只有在中国国内的服务器的同学如果要安装的的话,恐怕要参考别的文章了。

安装 Docker

首先进入master节点,安装docker

apt-get update
apt-get install -y docker.io

安装 kubeadm

安装kubeadm之前先看一下kubernetes架构图和介绍一些kubernetes比较重要的组件


架构图
  • kubeadm:初始化集群的命令组件
  • kubectl: 控制集群的客户端命令组件,通过API server来控制worker节点
  • kubelet: worker节点的agent,接收apiserver过来的命令来控制worker节点

接下来安装kubeadm

apt-get update && apt-get install -y apt-transport-https

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -

cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF

apt-get update
apt-get install -y kubeadm

kubeadm安装完后可以输入,会显示版本信息

kubeadm version

初始化集群

接下来我们就可以使用kubeadm来初始化kubernetes集群了

kubeadm init

大约经过几分钟时间,一切正常的话系统会显示安装完成,然后在完成后会提示用户需要给予非root用户使用kubectl的权限

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

然后系统会显示一段类似 kubeadm join的信息,这个是让worker节点通过token来加入到集群的命令。

我们需要把这段命令复制黏贴到剪切板,方便后面worker节点加入到集群

这个时候如果输入

kubectl get node
NAME                      STATUS     ROLES     AGE       VERSION
izj6c3vsekthy7xn94b5s6z   NotReady   master    46m       v1.10.3

虽然系统显示安装成功,但是master节点显示状态还是 NotReady,原因是需要安装网络插件,这边kubernetes官方提供了几款网络插件。 我这边选择Weave Net。因为安装起来比较方便。

kubectl apply -f https://git.io/weave-kube-1.6
NAME                      STATUS    ROLES     AGE       VERSION
izj6c3vsekthy7xn94b5s6z   Ready     master    1h        v1.10.3

大概过一会master节点就显示ready了,说明master已经准备就绪了

添加worker节点

进入worker节点,重复在上面的安装docker和kubeadm的步骤

apt-get update

apt-get install -y docker.io

apt-get update && apt-get install -y apt-transport-https

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -

cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF

apt-get update
apt-get install -y kubeadm

kubeadm在worker节点安装完成后输入刚才在剪切板上记下的kubeadm join 带token的命令行。等显示worker节点加入成功后回到master节点输入

kubectl get node

会显示两个节点准备就绪。
到此咋们的简约版kubernetes集群就安装完毕了。喜欢的话请点个赞。

推荐阅读更多精彩内容