Kubernetes-基于Kubekey搭建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 < /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

你可能感兴趣的:(Kubernetes,kubernetes,运维,docker,ubuntu,云原生)