在这里插入图片描述
解决方案:

第一步:删除前一次初始化产生的文件及文件夹

rm -rf /etc/kubernetes/*
rm -rf ~/.kube/*
rm -rf /var/lib/etcd/*

第二步:停用前一次初始化占用的端口

(对照自己的报错提示信息,哪个占用就停哪个,别乱复制粘贴)

lsof -i :6443|grep -v "PID"|awk '{print "kill -9",$2}'|sh
lsof -i :10250|grep -v "PID"|awk '{print "kill -9",$2}'|sh
lsof -i :10257|grep -v "PID"|awk '{print "kill -9",$2}'|sh
lsof -i :10259|grep -v "PID"|awk '{print "kill -9",$2}'|sh
lsof -i :2379|grep -v "PID"|awk '{print "kill -9",$2}'|sh
lsof -i :2380|grep -v "PID"|awk '{print "kill -9",$2}'|sh

如果执行停用端口命令报错如下,就执行以下命令,没遇到这个错误,就跳过直接进行第三步:重启kubeadm
在这里插入图片描述
执行以下命令:

 yum install lsof

结果如下:
在这里插入图片描述
完成后继续执行第二步停用端口命令操作即可。

第三步:重启kubeadm

执行命令:

kubeadm reset

如果继续报类似下面这种错误,仔细看提示信息,会告诉你应该怎么做,我这里提示需要删除:[/var/lib/kubelet /var/lib/dockershim /var/run/kubernetes /var/lib/cni]

在这里插入图片描述
继续删除 (根据你的提示进行操作,不要急着全复制)
除了新增的提示操作,把第一二步的删除目录操作和停用端口也都重新执行一遍:

[root@master ~]# rm -rf /var/lib/kubelet/
[root@master ~]# rm -rf /var/lib/dockershim/
[root@master ~]# rm -rf /var/run/kubernetes
[root@master ~]# rm -rf /var/lib/cni
[root@master ~]# rm -rf /etc/kubernetes/*
[root@master ~]# rm -rf ~/.kube/*
[root@master ~]# rm -rf /var/lib/etcd/*
[root@master ~]# lsof -i :6443|grep -v "PID"|awk '{print "kill -9",$2}'|sh
[root@master ~]# lsof -i :10257|grep -v "PID"|awk '{print "kill -9",$2}'|sh
[root@master ~]# lsof -i :10259|grep -v "PID"|awk '{print "kill -9",$2}'|sh
[root@master ~]# lsof -i :2379|grep -v "PID"|awk '{print "kill -9",$2}'|sh
[root@master ~]# lsof -i :2380|grep -v "PID"|awk '{print "kill -9",$2}'|sh

在这里插入图片描述

再次重启kubeadm
执行命令:

kubeadm reset

在这里插入图片描述

第四步:初始化k8s

kubeadm init --apiserver-advertise-address 172.17.184.217 --pod-network-cidr=10.244.0.0/16 --kubernetes-version=1.18.1

截图之前还有很大一段输出,这里就不截图了。。。。
在这里插入图片描述
看到这一段初始化就成功了。
别大意,把上图中红框圈起来部分的底部token信息保存好:
kubeadm join 172.17.184.217:6443 --token 1tu02o.dgrgoc0eir12het8
–discovery-token-ca-cert-hash sha256:dc7d52c51964c502388450d5ca033778c5fe31f0900a84a73b39a4b413ef5939

这里别复制我的,把你自己的复制出来,保存好,我们后面将其他node节点加入到该集群中需要使用到它。

第五步:配置k8s环境变量

命令:

echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
source ~/.bash_profile
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

第六步:设置POD网络

命令:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

网络不好这一步耐心等一等,别着急,正确结果如下:
在这里插入图片描述
继续执行命令:

echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config

验证POD网络是否设置好了
命令:

ifconfig

结果如下:
在这里插入图片描述
截图下面还有很长一段,这里省略了。

第七步:查看污点,删除污点

kubectl describe node master|grep -i taints

结果如下:
kubectl describe node master|grep -i taints

kubectl taint nodes master node-role.kubernetes.io/master-node/master untainted

第八步:查看节点

kubectl  get node

master刚刚初始化好,肯定只有一个master节点:
在这里插入图片描述
master节点已经是ready状态了。

到这里master节点已经重新初始化好了。

下篇文章: docker+jenkins+k8s集群搭建系列四、node节点安装k8s并加入集群 讲解配置node节点安装k8s并将node节点加入集群

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐