k3s

分享在不同的服务商 构建轻量化k8s集群k3s 的教程 并通过配置 转发实现 双栈访问以及可控面板

前言

  • K3s 是轻量级的 Kubernetes。K3s 易于安装,仅需要 Kubernetes 内存的一半,所有组件都在一个小于 100 MB 的二进制文件中。
  • WireGuard® automation from homelab to enterprise

对于目前来说我有四台机子,两台香港的,两台洛杉矶的,只有两台机子有ipv6的地址,对于香港的机子来说有一台是阿里云,不是经典网络,直接解析是获取到的内部的ip地址,直接用公网地址我觉得又有一点不太安全所以使用netmaker 来构建内部网络,同时使用netmaker提供了便携的面板来控制和观察自己的服务

  • 规划
    • 有一台2C6G 不限流量洛杉矶
    • 一台1C1G的香港机子双栈
    • 一台1C2G的洛杉矶双栈
    • 阿里云香港VPC网络

局域网构建

netmaker

对于netmaker来说可以直接使用他们的脚本然后自己手动降级成社区版本

1
2
sudo wget -qO /root/nm-quick.sh https://raw.githubusercontent.com/gravitl/netmaker/master/scripts/nm-quick.sh 
sudo chmod +x /root/nm-quick.sh && sudo /root/nm-quick.sh

这里会有一个要配置域名的我的建议是配置自己的域名而不是使用他提供的,按照解析要求解析到管理的地址上面

image-20240821232341106

跟着教程走完就可以了然后打开面板去添加网络 添加设备

image-20240821232744261image-20240821232929157

然后我们就获得了一堆在同一个虚拟网段的主机,我们可以手动的去控制之间的连通以及查看状态

后续我们就需要去安装k3s了

k3s 搭建

按照文档 大体是这样有一点需要注意的是需要自己指定nodeip避免获取的是不是自己构建的局域网的ip

1
2
3
4
curl -sfL https://get.k3s.io | K3S_TOKEN=SECRET sh -s - server \
--cluster-init \
--node-ip=0.0.0.0

节点加入

1
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="agent" sh -s   -   --token xxxx  --node-ip xxx  --server https://xxxx:6443 

这样我们就配置好了我们的k3s集群,现在就可以开始上服务了,习惯性给装一个traefik作为网关