Ubuntu16.04安装Kubernetes集群

准备工作

规划是使用两台服务器安装kubernetes集群,分别为:kube-1、kube-2。

修改ubuntu国内镜像源

我们这里使用阿里云的镜像,修改 /etc/apt/sources.list 为:

添加kubernetes包仓库

并且执行以下命令安装kubernetes的软件源,参考:https://opsx.alibaba.com/mirror

安装docker

随后启动docker

如果需要普通用户执行docker命令,可以参考这篇文章进一步做设置:https://johng.cn/using-docker-without-root/

安装Kubernetes

在kube-1执行安装

我们现在kube-1节点上,使用 kubeadmin 工具包来安装kubernetes,使用以下命令初始化Kubernetes节点:

其中, loads 为我个人创建的kubernetes镜像仓库, v1.13.2为指定需要安装的kubernetes版本,不同的版本依赖的docker镜像会不同。

执行后,输出结果如下:

根据提示,初始化完成之后我们需要执行以下命令安装kubectl的配置文件:

此外,需要注意的是这一段,记录下来,以便后续添加其他节点进入集群:

在kube-2上执行安装

在kube-2节点上完成准备工作后不要执行 kubeadmin init指令,而是需要执行 kubeadmin join指令加入节点:

如果之前已经初始化过节点,可随时通过 kubeadmin reset指令重置当前节点配置,并使用 service kubelet restart重启kubelet服务,随后再通过 kubeadmin join指令加入集群。

Kubernetes常见问题

1、 runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized

原因:
因为kubelet配置了 network-plugin=cni,但是还没安装,所以状态会是NotReady,不想看这个报错或者不需要网络,就可以修改kubelet配置文件,去掉 network-plugin=cni 就可以了。

解决:

删除最后一行里的 $KUBELET_NETWORK_ARGS ,1.11.2+版本的封装在 /var/lib/kubelet/kubeadm-flags.env 文件中。

 

 

 

 

Leave a Reply

Your email address will not be published.