0

0

仅需60秒,使用k3sup快速部署高可用K3s集群

雪夜

雪夜

发布时间:2025-08-17 08:12:24

|

446人浏览过

|

来源于php中文网

原创

前言

云原生领域正努力解决在资源受限环境中运行时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
。在0.2.0版本中,你甚至可以将其他节点加入到任何现有的K3s集群中。

以下是README中提到的k3sup用例:

  • 将K3s的Kubernetes引导(bootstrap)到任何VM——在CI期间或通过
    cloudinit
    手动进行
  • 在Raspberry Pi(RPi)、VM、AWS EC2、Packet裸机、DigitalOcean、Civo、Scaleway等上使用K3s
  • 直接与kubectl连接
  • 从现有的K3s集群中获取可用的KUBECONFIG
  • 使用
    k3sup join
    ,将节点加入现有K3s集群

安装k3sup

k3sup作为静态Go二进制文件分发,你可以在MacOS和Linux上使用安装程序,也可以从Release页面下载适用于Windows的可执行文件。你还可以通过k3sup README文件找到详细的安装说明。

代码语言:txt

Litero
Litero

AI co-writer for students

下载
$ 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
并且用户名是ubuntu,然后你可以运行以下命令:

运行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文件,可用于远程访问集群。

仅需60秒,使用k3sup快速部署高可用K3s集群 图片来源:k3sup README

具体步骤:

  • 为你的操作系统下载etcher.io
  • 使用Raspbian Lite flash你的SD卡
  • 在启动分区中通过创建一个名为ssh的空文件启动SSH
  • 如果你还没有ssh-keygen,请生成一个ssh-key
  • 使用
    ping -c raspberrypi.local
    寻找RPi IP,然后使用IP设置
    export SERVER_IP=""
  • 使用
    ssh-copy-id pi@raspberrypi.local
    复制你的ssh密钥
  • 运行命令
    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中贡献内容。

相关专题

更多
windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

494

2023.07.26

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1037

2023.07.27

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

730

2023.08.01

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

402

2023.08.02

windows无法访问共享电脑
windows无法访问共享电脑

在现代社会中,共享电脑是办公室和家庭的重要组成部分。然而,有时我们可能会遇到Windows无法访问共享电脑的问题。这个问题可能会导致数据无法共享,影响工作和生活的正常进行。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2342

2023.08.08

windows自动更新
windows自动更新

Windows操作系统的自动更新功能可以确保系统及时获取最新的补丁和安全更新,以提高系统的稳定性和安全性。然而,有时候我们可能希望暂时或永久地关闭Windows的自动更新功能。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

763

2023.08.10

windows boot manager
windows boot manager

windows boot manager无法开机的解决方法:1、系统文件损坏,使用Windows安装光盘或USB启动盘进入恢复环境,选择修复计算机,然后选择自动修复;2、引导顺序错误,进入恢复环境,选择命令提示符,输入命令"bootrec /fixboot"和"bootrec /fixmbr",然后重新启动计算机;3、硬件问题,使用硬盘检测工具进行扫描和修复;4、重装操作系统。本专题还提供其他解决

1479

2023.08.28

windows锁屏快捷键
windows锁屏快捷键

windows锁屏快捷键是Windows键+L、Ctrl+Alt+Del、Windows键+D、Windows键+P和Windows键+R。本专题为大家提供windows相关的文章、下载、课程内容,供大家免费下载体验。

1577

2023.08.30

ip地址修改教程大全
ip地址修改教程大全

本专题整合了ip地址修改教程大全,阅读下面的文章自行寻找合适的解决教程。

27

2025.12.26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
马士兵spring视频教程
马士兵spring视频教程

共25课时 | 9万人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 6.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号