k3s 公网混合云高可用集群搭建部署

sudo apt update && sudo apt install -y wireguard

# master1
sudo ufw disable && sudo swapoff -a && sudo apt update && sudo apt upgrade -y
hostnamectl set-hostname ks-master1
echo "127.0.0.1 ks-master1" >> /etc/hosts
echo "115.190.18.46 ks-master2" >> /etc/hosts
echo "43.167.238.150 ks-node1" >> /etc/hosts

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - server \
--node-external-ip="101.126.129.63" \
--flannel-backend=wireguard-native \
--flannel-external-ip \
--datastore-endpoint="mysql://root:123456@tcp(47.115.140.28:3306)/k3s" \
--tls-san="101.126.129.63"
# --disable=traefik \ 可选,若不需要内置 Ingress(如已用 Nginx)
# --disable=servicelb \  # 可选,若不需要内置负载均衡器(如已用云 LB)

# 查看token
cat /var/lib/rancher/k3s/server/node-token

# master2
sudo ufw disable && sudo swapoff -a && sudo apt update && sudo apt upgrade -y
hostnamectl set-hostname ks-master2
echo "101.126.129.63 ks-master1" >> /etc/hosts
echo "127.0.0.1 ks-master2" >> /etc/hosts
echo "43.167.238.150 ks-node1" >> /etc/hosts

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - server \
--node-external-ip="115.190.18.46" \
--flannel-backend=wireguard-native \
--flannel-external-ip \
--datastore-endpoint="mysql://root:123456@tcp(47.115.140.28:3306)/k3s" \
--tls-san="115.190.18.46" \
--server="https://101.126.129.63:6443" \
--token="K10......"
# --disable=traefik \ 可选,若不需要内置 Ingress(如已用 Nginx)
# --disable=servicelb \  # 可选,若不需要内置负载均衡器(如已用云 LB)

# node1
sudo ufw disable && sudo swapoff -a && sudo apt update && sudo apt upgrade -y
hostnamectl set-hostname ks-node1
echo -e "101.126.129.63 ks-master1" >> /etc/hosts
echo -e "115.190.18.46 ks-master2" >> /etc/hosts
echo "127.0.0.1 ks-node1" >> /etc/hosts

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | \
INSTALL_K3S_MIRROR=cn \
K3S_URL="https://101.126.129.63:6443" \
K3S_TOKEN="K107cd41639f752d5384a952fe2450e13a277acff2d43ac4668d65bdb147e8da0dc::server:a5965f85036c3faa3f8b4ef52a31960a" \
sh -s - agent \
--node-external-ip="43.167.238.150" \
--node-ip="43.167.238.150"

kubectl get node
NAME         STATUS   ROLES                  AGE     VERSION
ks-master1   Ready    control-plane,master   32m   v1.32.4+k3s1
ks-master2   Ready    control-plane,master   28m   v1.32.4+k3s1
ks-node1     Ready    <none>                 27s   v1.32.4+k3s1
# 添加污点
kubectl taint nodes ks-master1 node-role.kubernetes.io/master=:NoSchedule
kubectl taint nodes  ks-master2 node-role.kubernetes.io/master=:NoSchedule
# 重启
systemctl daemon-reload && systemctl restart k3s
systemctl daemon-reload && systemctl restart k3s-agent

# 卸载
/usr/local/bin/k3s-uninstall.sh
/usr/local/bin/k3s-agent-uninstall.sh

# 删除节点
kubectl delete node ks-node1 --force

# 停止 K3s
systemctl stop k3s

# 轮换证书
k3s certificate rotate

# 启动 K3s
systemctl start k3s
# 配置
mkdir -p /etc/rancher/k3s/
sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
sudo chown $(id -u):$(id -g) ~/.kube/config

# /etc/systemd/system/k3s.service
# /etc/systemd/system/k3s-agent.service
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容