个人玩公有云有些年头了,从最早的AWS、谷歌云,到现在的阿里云、华为云、腾讯云,目前在腾讯云上搞的很舒服,价格也非常合适,相比自己搞服务器,那简直是方便很多了。
现在的云原生架构比较火热,很多人认为是换汤不换药,经过我的实践下来,给我的感觉就是现阶段最应该学习的东西了。相比以前的部署架构,现在的云原生架构更加注重解耦、容错、弹性、易用、自动化等等一大堆优点。
那么本篇文章适合在腾讯云上安装kubesphere的人,我会把我经历的坑写在下面。相比网上乱抄袭、瞎转载的文章,我尽量写一些干货,望大家多多点赞、关注、转发。
经验1: 安装方式
采用分布式基于kubernetes的部署方案。
这里为什么不用ALL IN ONE方式,其实官网都有说,想尝鲜的人用ALL IN ONE方式即可,但是对于需要体验生产环境的人,还是老老实实趟一遍坑吧。
经验2: 资源选择
之所以先说这个,其实是自己被坑过,配置小,之后安装软件就没有资源,真的是很恼火。
hostname | 配置(最低) |
---|---|
k8s-master | 4核8G |
node1 | 8核16G |
node2 | 8核16G |
这里的配置,真的就是最低配置了,worker节点请务必大于此配置清单,否则后续安装服务的时候,光一个ES就至少占用2GB的内存,而且副本数是2,这样最小就进去4个GB,就问你怕不怕。
经验3: 参考视频
具体请B站搜索参考尚硅谷的雷丰阳老师的云原生架构视频。
经验4: docker版本选择
在视频中老师采用的是20版本的docker,但是在实际安装过程中,kubesphere3.1.1、kubelet-1.20.9,要求docker的版本最大为19.03,卡在这的同学,给docker降低个版本就好。
问题1:kubeadmin初始化报ip_forward contents are not set to 1
kubeadm init \
--apiserver-advertise-address=10.206.16.13 \
--control-plane-endpoint=k8s-master \
--image-repository registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images \
--kubernetes-version v1.20.9 \
--service-cidr=10.96.0.0/16 \
--pod-network-cidr=192.168.0.0/16
错误:
解决:
#在每个机器上执行
echo "1"> /proc/sys/net/ipv4/ip_forward
问题2: node节点,kubeadmin初始化不了,报超时
# 将 SELinux 设置为 permissive 模式(相当于将其禁用)
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
systemctl disable firewalld --now
试试上面的命令,禁用SELinux。
问题3: etcd监控证书找不到问题
解决etcd监控证书找不到问题
kubectl -n kubesphere-monitoring-system create secret generic kube-etcd-client-certs --from-file=etcd-client-ca.crt=/etc/kubernetes/pki/etcd/ca.crt --from-file=etcd-client.crt=/etc/kubernetes/pki/apiserver-etcd-client.crt --from-file=etcd-client.key=/etc/kubernetes/pki/apiserver-etcd-client.key