前言

K3S是一个轻量级Kubernetes发行版,特别适合边缘计算和云边端架构,也可以作为标准K8S集群使用。

FabEdge是一个专门针对边缘计算场景设计的,基于kubernetes的容器网络方案,它符合CNI规范,可以无缝集成任何K8S环境,解决边缘计算场景下云边协同,边边协同,服务发现等难题。

GitHub - FabEdge/fabedge: Secure Edge Networking Solution Based On Kubernetes

VPS的资源那么贵,自己用的话,搞个k3s就够用了。

节点之间互联使用了FabEdge,因为FabEdge的配置简单。

<aside> ⚠️ Edge节点之间跨公网互通有问题。因为现在还不支持,配置community之后是通过本地的内网地址进行ipsec通道来建立连接。

</aside>

新建服务器 安装k3s

  1. 新建三台腾讯云的服务器
master 42.193.249.123
edge1 1.14.250.108
edge2 119.91.131.254

在安全组放通所有端口。因为懒得测需要放开那些端口。

  1. 所有节点安装docker
curl -fsSL <https://get.docker.com> | bash -s docker --mirror Aliyun

如果镜像拉取速度太慢,请自行配置镜像加速器。

  1. 在master节点上安装 k3s,需要指定master的公网IP
curl -sfL <http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh> | INSTALL_K3S_MIRROR=cn INSTALL_K3S_EXEC='--docker' sh -s - --node-external-ip publicip

example:
curl -sfL <http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh> | INSTALL_K3S_MIRROR=cn INSTALL_K3S_EXEC='--docker' sh -s - --node-external-ip 42.193.249.123
  1. 在Edge节点上面,安装k3s并加入集群
# 先在master节点查看 token
cat /var/lib/rancher/k3s/server/node-token
tokenxxx

example:
root@master:~# cat /var/lib/rancher/k3s/server/node-token
K10348801fa1c0dab0266f0c7677e1b77681ebe3e8738d9c5249a6959b33ba0e21d::server:604272115ff731d8ae519c2d236fa9ff

# 安装k3s并加入集群

curl -sfL <http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh> | INSTALL_K3S_MIRROR=cn  INSTALL_K3S_EXEC='--docker --flannel-backend none' K3S_URL=https://publicip:6443 K3S_TOKEN=tokenxxxxxx sh -

example:
curl -sfL <http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh> | INSTALL_K3S_MIRROR=cn  INSTALL_K3S_EXEC='--docker --flannel-backend none' K3S_URL=https://42.193.249.123:6443 K3S_TOKEN=K10348801fa1c0dab0266f0c7677e1b77681ebe3e8738d9c5249a6959b33ba0e21d::server:604272115ff731d8ae519c2d236fa9ff sh -

# 查看节点状态

root@master:~# kubectl get node
NAME     STATUS   ROLES                  AGE   VERSION
master   Ready    control-plane,master   18m   v1.21.5+k3s2
edge1    Ready    <none>                 45s   v1.21.5+k3s2
edge2    Ready    <none>                 45s   v1.21.5+k3s2