一、卸載
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