小小树莓派,竟在 Servercore 上撑起轻量 Kubernetes 集群大梦想!

描述

 

Servercore是一个动态的云平台,最近在肯尼亚充满活力的城市内罗毕推出了其服务器。我被他们提供的免费优惠券所吸引,可以体验他们的云资源,于是忍不住去探索了他们引以为豪的独特服务器规格,包括Raspberry Pi 4B服务器。

 

 

在本指南中,我们将介绍如何在Servercore上配置Raspberry Pi 4B,并顺利创建一个强大的Kubernetes集群。我们将一起导航配置所有必要元素的复杂性,最终建立一个功能齐全的集群。

 

对于本设置,我将使用Rancher labs的K3s发行版,因为它针对ARM服务器进行了优化,并且与Pi配合使用效果极佳。你也可以使用其他发行版,如K0s进行设置。

 

前提条件

 

1.拥有Servercore账户

 

2.了解Kubernetes和K3s

 

配置Raspberry Pi 4B

 

1.在你的主账户页面选择“Servers”

 

2.通过选择“MicroSD”来筛选结果

 

树莓派

3.选择“Raspberry Pi 4B”

 

树莓派

注意:目前,Pi 只在 Saint Petersburg 提供。

 

4.选择Ubuntu版本

 

树莓派

注意:你也可以添加你的SSH密钥

 

5.点击“Pay Now”(立即支付)

 

树莓派

6.查看已配置的服务器

 

树莓派

7.通过深入了解服务器并选择“Operating System”选项卡来获取密码

 

树莓派

配置和更新Pi 4B

 

以下步骤需要在主节点和工作节点上都执行

 

更新和升级

 

  •  

sudo apt update | sudo apt upgrade

 

启用IP表

 

  •  

sudo iptables -f

 

建议关闭ufw(不复杂的防火墙):

 

  •  

ufw disable

 

安装curl和其他必要工具:

 

  •  

sudo apt install curl unzip -y

 

由于你在Raspberry Pi 4B上使用的是Ubuntu,默认情况下cgroup未启用,你需要手动启用它。

 

注意:它未在/boot/cmdline.txt中配置。

 

配置cgroup

 

移动到/boot/firmware

 

  •  

cd /boot/firmware

 

编辑cmdline.txt文件夹

 

  •  

sudo nano /boot/firmware/cmdline.txt

 

在行的末尾添加以下cgroup设置

 

  •  

cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory

 

重启Raspberry Pi节点

 

  •  

sudo reboot

 

在主节点上安装K3s

 

下载并运行K3s脚本

 

  •  

curl -SL https://get.k3s.io | sh -

 

树莓派

这将下载并在管理节点上启动k3s,你可以通过检查节点是否正在运行来查看。

 

  •  

kubectl get nodes

 

树莓派

获取并复制用于连接两个节点的加入令牌

 

  •  

sudo cat /var/lib/rancher/k3s/server/node-token

 

工作节点

 

安装k3s并将其加入到主节点

 

  •  

curl -sfL https://get.k3s.io | K3S_TOKEN="YOUR TOKEN" K3S_URL="https://[your server ip]:6643" K3S_NODE_NAME="servername" sh -

这将下载K3s二进制文件并将其加入到主节点。

 

检查节点

 

查看节点是否已加入。

 

  •  

kubect get nodes

 

树莓派

工作节点已加入到主节点,我们准备通过在集群上运行一个应用程序来测试我们的集群。

 

测试集群

 

让我们运行一个NGINX容器来检查集群是否运行良好

 

  •  

kubectl create deployment nginx-deployment --image=nginx

 

查看Pod是否正在运行

 

  •  

kubectl get pods -o wide

 

树莓派

我们可以看到Pod正在工作节点上运行。现在让我们公开该应用程序。

 

  •  

kubectl expose deployment nginx-deployment --port=80 --type=NodePort --name=nginx-service

树莓派

最后,让我们将应用程序端口转发,以便我们可以在集群外部查看它。

 

  •  

kubectl port-forward deployment/nginx-deployment 8080:80

 

树莓派

我们可以在浏览器中查看正在运行的应用程序

 

树莓派

结论

 

在本博客中,我们成功地在Servercore上配置了Raspberry Pi 4B集群,并使用K3s配置了Kubernetes。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分