前言
云原生领域正努力解决在资源受限环境中运行时Kubernetes资源消耗过多的问题。为此,推出了一个轻量级Kubernetes发行版K3s,它简化了K8S的功能,适用于在边缘计算环境和小型设备上运行Kubernetes集群。自发布以来,K3s在社区中迅速走红,短短几个月内Github Star数已达10,000(现已超过12,000)。这种受欢迎程度为项目带来了巨大优势,社区用户积极为K3s贡献了许多周边工具。本文将介绍由Alex Ellis创建的k3sup(发音为“ketchup”),它能帮助你在基础架构中快速启动K3s。
什么是k3sup?尽管安装K3s已经非常简单,并且你也可以使用bash脚本轻松启动类似程序,但K3s的开发旨在自动化原本需要手动操作的复杂流程,以节省开发人员宝贵的时间。
当你配置好喜欢的工具后,k3sup可以让你在60秒内在自己的计算机上运行
kubectl get pod
以下是README中提到的k3sup用例:
cloudinit
k3sup join
安装k3sup
k3sup作为静态Go二进制文件分发,你可以在MacOS和Linux上使用安装程序,也可以从Release页面下载适用于Windows的可执行文件。你还可以通过k3sup README文件找到详细的安装说明。
代码语言:txt
$ curl -sLS https://get.k3sup.dev | sh $ sudo install k3sup /usr/local/bin/ $ k3sup --help
Windows用户请注意:你可以通过Windows Command Prompt(cmd)使用
k3sup install
k3sup join
使用k3sup
k3sup主要在台式机/笔记本电脑上运行,但也提供了针对MacOS、Windows和Linux(包括ARM)的二进制文件。
使用k3sup设置K8S server
你可以设置一个server并在此处停止,或者继续使用join命令将一些agent,或者称为节点或worker添加到集群中以扩展其计算能力。
配置一个运行在兼容操作系统(如Ubuntu、Debian、Raspbian等)上的新VM,确保你选择了将要注册的SSH密钥自动复制到新的VM或主机上。
假设IP是
192.168.0.1
运行k3sup:
代码语言:txt
$ export IP=192.168.0.1 $ k3sup install --ip $IP --user ubuntu
现在尝试访问:
代码语言:txt
$ export KUBECONFIG=`pwd`/kubeconfig $ kubectl get node
加入一些agent到K8S server
假设你有一台server,并且已经运行以下内容:
代码语言:txt
$ export SERVER_IP=192.168.0.100 $ export USER=root $ k3sup install --ip $SERVER_IP --user $USER
接下来,加入一个或更多的agent到集群中:
代码语言:txt
$ export AGENT_IP=192.168.0.101 $ export SERVER_IP=192.168.0.100 $ export USER=root $ k3sup join --ip $AGENT_IP --server-ip $SERVER_IP --user $USER
大功告成!因此,无论使用的是本地VM、Raspberry Pi、64位ARM还是EC2上的Cloud VM,使用以上命令你都可以启动并运行两个节点的集群。
创建multi-master(HA)设置
从k3s 1.0开始,可通过sqlite获得HA multi-master配置,这将需要quorum的master,这意味着至少具有三个节点。
用第一台server初始化集群,请注意
--cluster
代码语言:txt
$ export SERVER_IP=192.168.0.100
$ export USER=root
$ k3sup install \
--ip $SERVER_IP \
--user $USER \
--cluster加入额外的server,注意新的
--server
代码语言:txt
$ export USER=root
$ export SERVER_IP=192.168.0.100
$ export NEXT_SERVER_IP=192.168.0.101
$ k3sup join \
--ip $NEXT_SERVER_IP \
--user $USER \
--server-user $USER \
--server-ip $SERVER_IP \
--server现在检查
kubectl get node
代码语言:txt
$ kubectl get node NAME STATUS ROLES AGE VERSION paprika-gregory Ready master 8m27s v1.16.3-k3s.2 cave-sensor Ready master 27m v1.16.3-k3s.2
在树莓派上部署K8S(2、3或4版本均适用)
完成以下步骤后,你将在树莓派2、3或4上启动一个Kubernetes,并且安装迅速。最后,你将在本地计算机上拥有一个KUBECONFIG文件,可用于远程访问集群。
图片来源:k3sup README
具体步骤:
ping -c raspberrypi.local
export SERVER_IP=""
ssh-copy-id pi@raspberrypi.local
k3sup install --ip $SERVER_IP --user pi
代码语言:txt
$ export KUBECONFIG=`pwd`/kubeconfig $ kubectl get node -o wide
现在,你可以从你的笔记本电脑使用kubectl访问运行K3s的树莓派。如果你想加入一些节点,为每个附加的RPi运行
export IP=""
代码语言:txt
$ k3sup join --ip $IP --server-ip $SERVER_IP --user pi
下一步
现在下一步呢?这完全取决于你。这是一个快速发展的项目,每天都有更多更新的内容问世。你可以尝试查看可以将哪些标志和配置合并到集群中以demo该工具,甚至尝试在Github repo中贡献内容。
以上就是仅需60秒,使用k3sup快速部署高可用K3s集群的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号