Kubernetes-基于Kubekey搭建K8S集群
使用Kubekey搭建K8S集群,且同时安装Kubesphere。使用此种方式搭建集群简单快捷,提供的Dashboard可以满足绝大多数的业务场景,社区活跃度也挺高,遇到的问题大部分都能及时找到,且我们项目组使用此方式搭建的集群也稳定运行了将近一年。通过使用Kubesphere也降低了K8S的操作门槛,在官方网站也提供了操作文档可供参考。有机会的话,本人也会写篇文章分享下自己的使用经验。
使用Kubekey搭建K8S集群,且同时安装Kubesphere。
使用此种方式搭建集群简单快捷,提供的Dashboard可以满足绝大多数的业务场景,社区活跃度也挺高,遇到的问题大部分都能及时找到,且我们项目组使用此方式搭建的集群也稳定运行了将近一年。
通过使用Kubesphere也降低了K8S的操作门槛,在官方网站也提供了操作文档可供参考。
有机会的话,本人也会写篇文章分享下自己的使用经验。
一、节点规划
主机名 | IP | 角色 | 操作系统 | Docker | 内核版本 |
---|---|---|---|---|---|
xx01 | 192.168.2.42 | Master | Ubuntu20.04 | 20.10.17 | 5.13.0-51-generic |
xx02 | 192.168.2.43 | Worker | Ubuntu20.04 | 20.10.17 | 5.13.0-51-generic |
xx03 | 192.168.2.44 | Worker | Ubuntu20.04 | 20.10.17 | 5.13.0-51-generic |
xx04 | 192.168.2.45 | Worker | Ubuntu20.04 | 20.10.17 | 5.13.0-51-generic |
xx05 | 192.168.2.46 | Worker | Ubuntu20.04 | 20.10.17 | 5.13.0-51-generic |
安装工具 | sudo、curl、openssl、ebtables、socat、ipset、ipvsadm、conntrack、nfs client |
---|
Kubekey版本 | KubeSphere版本 | K8S版本 |
---|---|---|
v2.2.1 | v3.3.2 | v1.23.7 |
注:Kubekey2.2.1目前默认的Calico版本为3.20,且不支持指定版本,需手动卸载并重装Calico
二、环境准备
1、关闭防火墙
sudo ufw disable
2、关闭swap
swapoff -a # 临时关闭
sed -ri 's/.*swap.*/#&/' /etc/fstab #永久关闭
3、修改k8s.conf文件
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
4、修改DNS
nano /etc/resolv.conf
nameserver 8.8.8.8
5、安装工具
apt install socat conntrack openssh-server nfs-common
apt install socat conntrack nfs-common
6、配置生效
sysctl --system
7、修改系统时间
https://cloud.tencent.com/developer/article/1721457
2、下载Kubekey
export KKZONE=cn
curl -sfL https://get-kk.kubesphere.io | VERSION=v2.2.1 sh -
chmod +x kk
KubeSphere支持矩阵
KubeSphere 版本 | 受支持的 Kubernetes 版本 |
---|---|
v3.3.0 | v1.19.x、v1.20.x、v1.21.x、v1.22.x、v1.23.x(实验性支持) |
三、配置
1、生成配置文件,并指定版本
./kk create config --with-kubernetes v1.23.7 --with-kubesphere v3.3.2
2、节点配置
在config-sample.yaml中编辑
hosts:
- {name: xx01, address: 192.168.2.42, internalAddress: 192.168.2.42, user: root, password: "xxx"}
- {name: xx02, address: 192.168.2.43, internalAddress: 192.168.2.43, user: root, password: "xxx"}
- {name: xx03, address: 192.168.2.44, internalAddress: 192.168.2.44, user: root, password: "xxx"}
- {name: xx04, address: 192.168.2.45, internalAddress: 192.168.2.45, user: root, password: "xxx"}
- {name: xx05, address: 192.168.2.46, internalAddress: 192.168.2.46, user: root, password: "xxx"}
roleGroups:
etcd:
- xx01
control-plane:
- xx01
worker:
- xx02
- xx03
- xx04
- xx05
四、安装
./kk create cluster -f config-sample.yaml
等待即可…
五、注意事项
1、DNS设置
建议设置为可用的DNS,如 8.8.8.8,否则会导致在访问kubesphere时出错,无法解析
2、Calico版本
注意calico版本与linux内核的支持关系
3、IP_AUTODETECTION_METHOD设置
注意本机实际网卡
六、参考文档
1、https://kubesphere.io/zh/docs/v3.3/installing-on-linux/introduction/kubekey/
2、https://kubesphere.com.cn/forum/d/4288-kubesphere-v31/7
3、https://github.com/kubesphere/kubekey/issues/1363
更多推荐
所有评论(0)