Servercore是一个动态的云平台,最近在肯尼亚充满活力的城市内罗毕推出了其服务器。我被他们提供的免费优惠券所吸引,可以体验他们的云资源,于是忍不住去探索了他们引以为豪的独特服务器规格,包括Raspberry Pi 4B服务器。
Servercore:https://servercore.com/
在本指南中,我们将介绍如何在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。