Ubuntu16.04通过kubeadm安装kubernetes v1.13.4

安装步骤参考:

https://blog.csdn.net/wangchunfa122/article/details/86529406

这是第一次成功安装k8s使用的文档,个人觉得写的很详细,推荐新手熟悉k8s

环境信息

列出自己安装时的环境信息,除k8s版本外其他版本和参考文档一致:

名称: 版本
Docker 18.06.1-ce
操作系统 Ubuntu16.04
K8s v1.13.4

 机器信息:机器为Win10上创建的两台虚机,IP规划如下。

IP 作用 组件
10.0.2.16 Master  
10.0.2.17 Node  

安装步骤&问题

ImagePullBackOff问题

 步骤和参考文档一致,但在配置完node后在Master上通过kubectl get nodes发现Master和Node都是NotReady状态,通过kubectl get pod --all-namespaces发现flannel的状态是ImagePullBackOff、coredns的状态都是Pending。

通过kubectl describe pod kube-flannel-ds-amd64-4qsxc -n kube-system查看报错信息,发现pulling image "quay.io/coreos/flannel:v0.11.0-amd64"失败,导致flannel和coredns的pod状态都不对。在Master上手动下载镜像docker pull quay.io/coreos/flannel:v0.11.0-amd64(不会被墙),等待下载完成后就正常了。

Ubuntu16.04通过kubeadm安装kubernetes v1.13.4

 Ubuntu16.04通过kubeadm安装kubernetes v1.13.4

 Master重启后The connection to the server localhost:8080 was refused问题

kubectl的各个命令都报这个错,见下图。检查安装步骤,应该是admin.conf环境变量配置不对,重新"export KUBECONFIG=/etc/kubernetes/admin.conf"之后问题解决。

Ubuntu16.04通过kubeadm安装kubernetes v1.13.4

Ubuntu16.04通过kubeadm安装kubernetes v1.13.4

之前配置Master时环境变量通过export设置,Master重启后配置丢失,应该添加到/etc/profile中并source /etc/profile让其立即生效。这样重启后就不会再出现该问题。

node节点NotReady问题

在第二个问题中,不小心在node1节点执行了kubeadm reset,之后发现node1的状态就变成NotReady,namespaces的状态都是Running。在node1上docker ps也没有kube相关的容器在运行。此时考虑在node1上执行kubeadm join重新将node加入master集群,添加后再查看状态恢复正常。

Ubuntu16.04通过kubeadm安装kubernetes v1.13.4