高可用部署K3S集群

萱蘇的运维日常 2024-03-21 14:14:20

在之前我们进行了单节点部署k3s集群,今天主要说一下如何搭建高可用集群。k3s高可用架构如下:

节点配置节点ipCIRD配置信息k3s-main (master1)192.168.0.200192.168.0.0/24阿里云ECS 2vCPU 2Gk3s-node1(master2)172.28.64.150172.28.64.0/20阿里云ECS 4vCPU 4Gk3s-node2(node & lb-mysql)172.28.64.151172.28.64.0/20阿里云ECS 4vCPU 4G

正常环境建议lb单独使用一台服务器,本文是由于资源问题故将lb和node使用一台服务器

环境配置

由于之前已分享过文章【K3S集群部署】,故这边就不再对环境、以及dashboard、kuboard安装部署进行说明。各位可以结合那篇文章进行相关操作。

数据库安装

本文采用mysql数据库,各位也可以尝试使用其他数据库。为了测试方便,本文直接使用docker 安装部署。各位也可以直接在服务上部署数据。关于MySQL和docker会在日后进行分享。

# 安装dockerapt-get install docker -y# 拉取镜像docker pull mysql:8.0.31# 创建容器docker run \--name k3s-mysql \-v /k3s-mysql/data:/var/lib/mysql \-v /k3s-mysql/conf:/etc/mysql/conf.d \-p 3306:3306 \-e MYSQL_ROOT_PASSWORD=root \mysql:8.0.31# 查看容器是否启动docker ps -a# 进入MySQL,并创建数据库和用户mysql -uroot -prootcreate database k3s;create user 'k3s'@'%' identified by 'k3s';grant all privileges on k3s.* to 'k3s'@'%';flush privileges;

master1

curl -sfL https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - server \--token=SECRET \--datastore-endpoint="mysql://k3s:k3s@tcp(172.28.64.151:3306)/k3s"# 查看主节点状态,验证节点是否接入kubectl get node# 获取server tokencat /var/lib/rancher/k3s/server/token

master2

curl -sfL https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - server \--token=K10695c2c3c138a1660decfcb0800314f9e119406a7386ded5558141a420231d636::server:SECRET \--datastore-endpoint="mysql://k3s:k3s@tcp(172.28.64.151:3306)/k3s"# master1 节点执行,可以看到两个master节点,代表成功kubectl get node

node节点

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://192.168.0.200:6443 K3S_TOKEN=K10695c2c3c138a1660decfcb0800314f9e119406a7386ded5558141a420231d636::server:7826fe1a6a495ef77bfdcb217a771120 sh -kubectl get node

问题反馈

若对文中有任何的疑问,或者需要帮助可以通过以下方式进行反馈

直接进行评论或者单独私聊

发送邮件到:mr_xuansu@163.com

参考文档:

高可用外部数据库 | K3s

0 阅读:0