高可用部署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