一、卸载
kubeadm reset -f modprobe -r ipip lsmod rm -rf ~/.kube/ rm -rf /etc/kubernetes/ rm -rf /etc/systemd/system/kubelet.service.d rm -rf /etc/systemd/system/kubelet.service rm -rf /usr/bin/kube* rm -rf /etc/cni rm -rf /opt/cni rm -rf /var/lib/etcd rm -rf /var/etcd yum clean all yum remove kube*
yum remove etcd*
yum remove flannel*
docker rm -f ${docker ps -qa}
docker rmi -f ${docker images -qa}
二、安装(参考网上安装文章终结一些要点)
网上两种安装方式的帖子,可以参考这两位大佬的文章。
https://blog.csdn.net/echoogai/article/details/106257531 (试了下,在主节点初始化的时候报错了。尝试了好久还是没成功,于是放弃了,用上面的卸载方法把k8s先卸载干净。)
https://www.cnblogs.com/zhenyuyaodidiao/p/6500830.html (然后试了这位大佬的,成功了。)
1、关闭防火墙(为了方便,应该k8s用到哪些端口开哪些),禁用swap设备,关闭selinux
systemctl disable firewalld.service
systemctl stop firewalld.service
setenforce 0
sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
swapoff -a sed -i 's /.* swap.*/#&/' /etc/fstab #这样关闭重启不知道会不会恢复,我之前永久关闭是找到一个文件把一条信息注释掉
#查看swap是否被正确关闭
free -m
2、修改kubernetes源地址为阿里云地址
3、打开iptables桥接功能(节点都要配置)
vim /etc/sysctl.d/k8s.conf #在该目录下自定义conf文件,添加以下配置项 net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1
#重新加载文件使其生效
ysctl -p /etc/sysctl.d/k8s.conf
4、打开路由转发(节点都要配置)(服务端口是开在ipv6上的,没开用ipv4的ip访问会访问不了)
echo net.ipv4.ip_forward = 1 > /etc/sysctl.conf sysctl -p #加载该文件,使其生效
5、每台机器配置iptables
cat >/etc/sysctl.d/k8s.conf <<EOF net.bridge.bridge-nf-call-ip6tables =1 net.bridge.bridge-nf-call-iptables =1 EOF sysctl --system
6、将yum源配置到国内 (和2是一样的,这个好像配的是腾讯的)
yum install -y wget mkdir /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo yum clean all && yum makecache
三、k8s yaml配置文件的编辑我用的是IDEA插件kubernetes