我向来是不服输的,虽说如此,这坑大抵也是要痛击我几次才善罢甘休,从而让我莫名有种难以言喻的感觉,就好像我不是在踩坑的路上就是在解决坑的途中,罢了罢了,还是先去找土把坑填上再说。真的牛逼,当我打完这几行的时候脚抽筋了,难道说God也看不下去了?
加入ipvs内核模块
新内核就是好啊,modprobe -- nf_conntrack_ipv4都可以直接写成modprobe -- nf_conntrack了,原因是nf_conntrack_ipv4已经集成到了nf_conntrack里了。
keepalived的vip错误
想必是我年龄大了,ip地址也记不住了,因为vip和一个虚拟机的ip冲突,发现我的keepalived怎么也启动start不了,于是我笨拙的打开日志翻来覆去的看啊看,最后还是锁定在了ip地址错误这一问题上。
代理转发问题
emmm...,在nginx和haproxy的选择中考虑了挺久,haproxy确实比nginx更加专注于反向代理跟负载均衡,但想着顺便再练练nginx吧,正当我配置好stream时,发现我yum的这个nginx没有stream模块,靠,我以后下nginx一定要源码安装了,感觉到后期有时需要添加一些模块进去......
无法ping通vip
好吧,这个真涉及到我的知识盲区了,需要注释掉keepalived配置文件中的vrrp_strict ,vrrp_strict 开启之后,会导致keepalived 严格遵守VRRP协议,禁止以下状况:
1.无VIP地址
2.配置了单播邻居
3.在VRRP版本2中有IPv6地址,开启动此项会自动开启iptables防火墙规则。
然后就可以ping通了
kubeadm-config内信息错误
第一次搞这个高可用嘛,难免有些生疏?,因为配置文件的原因折腾了好久。首先是kubelet下载后发现版本低了点,于是我索性给yum remove了再来一遍,这下可好,kubeadm-config内的KubernetesVersion忘记改了,导致后面的init也没法搞......。然后的controlPlaneEndpoint和advertiseAddress字段,ip填写错了,一下vip一下haproxy监听端口一下本机ip一下apiserver固定监听端口的,给我整的有些许混乱,好在弄好后就更加熟悉了。最后竟然配置文件里少写了一行taints:字段,F**K!
网络问题
这个就不言而喻了,CN的红墙嘛,对,就是经常卡我的那个墙。
Docker问题
docker版本太高了,出现了不兼容现象,只能重来一遍降级了?,然后密钥又过期了,又要重新生成密钥然后重新init。node上的docker的cgroupdriver必须得和master上docker的cgroupdriver一致,都是systemd。在明年我应该也可以试试把docker换成containerd了,毕竟k8s也已经弃用docker了,containerd中也已经集成了cri shim。
总结
感谢ChatGPT,over!