两台电脑怎么搭建k3服务器,搭建服务器需要什么软件?

两台电脑建立K3s服务器的核心思路是:一台机器做中控节点(Server),另一台做工作节点(Agent),通过K3s内置的轻量级网络组件插上即用,整个过程大约20分钟就能跑通。

为什么两台电脑更适合用K3s而不是K8s

行业共识认为,原生Kubernetes集群最低配置通常需要三台机器,且内存资源要求较高,两台电脑组集群时,K3s的轻量架构优势就比较明显了。

FileZilla:如何快速搭建FTP服务器
加载中
FileZilla:如何快速搭建FTP服务器

K3s是经过CNCF认证的Kubernetes发行版,把etcd、API Server、Scheduler等组件打包进一个二进制文件,安装包只有几十兆,内存占用相当大幅度降低,两台电脑跑K3s,建k3服务器时资源分配压力比原生K8s小很多,这一点在低配笔记本或老旧台式机上差异尤其明显。

两台电脑建立K3s服务器,工作原理上采用单Server节点加一个Agent节点的拓扑,控制面与数据面分离部署,这也是K3s双节点集群最常见的部署形态,另一台机器出现故障时,集群的调度能力会受限,但已运行的工作负载不会立刻中断。

两台电脑搭建K3s集群前的硬件与系统准备

动手前先把两台机器的身份理清楚:

  • 机器A:安装Server组件,管控整个集群,需要固定内网IP
  • 机器B:安装Agent组件,承担实际工作负载,IP可动态获取但建议也固定

K3s server节点的最低配置通常认为1核CPU、512MB内存即可运行,实际体验下来,配置在2核2GB以上的机器做中控节点会更顺畅,Agent节点需要视工作负载而定,跑容器多的那台尽量给足内存,K3s服务器需要多大内存这个问题没有固定答案,两台机器合计内存4GB以上属于常规操作区间,低于这个值跑轻量应用也能跑,只是容器密度要控制。

操作系统方面,64位Linux(Ubuntu、Debian、CentOS、openEuler等)支持最完善,两台机器均需开放特定端口:

两台电脑怎么搭建k3服务器,搭建服务器需要什么软件?

节点类型 需要放行的端口 用途
Server 6443(Kubernetes API)、8472(Flannel VXLAN)、10250(kubelet) 控制面通信、容器网络、节点管理
Agent 8472、10250 容器网络、节点管理

需要留意的是,如果两台电脑跨网段组集群,路由器需支持UDP广播转发,否则Flannel网络模式下节点间通信会异常,同网段组网则没有这个顾虑,这也是组k3集群前最值得优先确认的环境因素。

两台电脑建立K3s集群实操步骤:中控节点安装

先在中控机器A上操作,使用官方安装脚本,指定节点角色并禁用自带Traefik(后续可自定义Ingress):

curl -sfL https://get.k3s.io | sh -s - server --disable=traefik --write-kubeconfig-mode=644

--write-kubeconfig-mode=644是为了让普通用户能读取kubeconfig文件,方便后续用kubectl控制集群。

安装完成后,记录中控节点的Token,Agent节点加入时需要用到:

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

验证Server节点状态:

sudo k3s kubectl get nodes

看到STATUS列为Ready即说明中控节点就绪,此时执行集群配置检查,确认kube-system命名空间中各Pod均处于Running状态:

sudo k3s kubectl get pods -A

如果某个Pod处于ContainerCreating状态,多半是镜像拉取中断或网络策略问题,可稍等几十秒再查看。

Agent工作节点的加入与配置

在工作节点机器B上执行:

curl -sfL https://get.k3s.io | K3S_URL=https://中控节点IP:6443 K3S_TOKEN=中控节点Token sh -

这里的K3S_URL必须填写机器A的内网IP,不能填localhost或外网IP,否则Agent进程无法定位到中控节点。K3S_TOKEN就是上一个步骤里获取的那段字符串。

安装完成后,回到中控节点执行:

sudo k3s kubectl get nodes

此时应该能看到两台机器都在线,ROLES列区分CONTROL-PLANE和<none>,STATUS都为Ready,若Agent状态一直NotReady,优先排查两台机器的8472端口连通性:

nc -uv 中控节点IP 8472

业内专家指出,K3s双节点集群的排障思路与原生K8s基本一致,先查节点状态,再查Pod事件,最后看网络插件日志,按顺序排查效率最高。

两台电脑怎么搭建k3服务器,搭建服务器需要什么软件?

部署测试应用验证集群可用

集群状态Ready后,部署一个简单的Nginx应用来做验证:

# test-deploy.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-test
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:latest
        ports:
        - containerPort: 80

应用这份文件:

sudo k3s kubectl apply -f test-deploy.yaml

观察Pod是否在两个节点上各运行一个:

sudo k3s kubectl get pods -o wide

NODE列显示两个不同主机名,说明调度器正确的把Pod分散到两台电脑上了,用两层网络验证集群内部通信:

sudo k3s kubectl expose deployment nginx-test --type=NodePort --port=80 --name=nginx-service
sudo k3s kubectl get svc nginx-service

访问中控节点的NodePort端口,浏览器能打开Nginx欢迎页,集群网络路径就基本确认畅通了。

内网环境下两台电脑K3s集群的离线安装方案

完全无外网的内网环境里安装,官方脚本方式不可用,团队内部源码交付、政企内网部署K3s的场景下,多数采用离线安装包的方式,这也是K3s双节点集群离线搭建时的主流做法。

在有网的一台电脑上,先下载K3s二进制文件和安装脚本,再从https://github.com/k3s-io/k3s/releases获取对应版本的k3s-airgap-images-amd64.tar镜像包,将这些文件拷贝到两台机器上后,执行:

sudo mkdir -p /var/lib/rancher/k3s/agent/images/
sudo cp k3s-airgap-images-amd64.tar /var/lib/rancher/k3s/agent/images/
sudo chmod +x k3s
sudo cp k3s /usr/local/bin/
sudo INSTALL_K3S_SKIP_DOWNLOAD=true ./install.sh

Server和Agent安装时都加上INSTALL_K3S_SKIP_DOWNLOAD=true参数,脚本会跳过从外网下载的步骤,直接使用本地文件,离线方式下,--disable=traefik参数的用法保持一致,存储类和默认配置与在线安装完全一致。

两台电脑怎么搭建k3服务器,搭建服务器需要什么软件?

两台电脑建立K3s集群时,Agent节点的镜像加载方式与Server节点一致,都需要将airgap镜像包放入对应目录。

双节点K3s集群的局限与可扩展方向

两台电脑的K3s集群作为学习环境或轻量生产环境是够用的,但有一个明显短板:中控节点是单点,一旦宕机,整个集群的控制面就失去响应,若后续需要高可用,可以升级为三节点或更多节点的K3s集群,数据存储模式上选用内置etcd或外部数据库,但需要额外增加一台中控节点。

集群存储默认使用local-path,即数据落在各节点本地磁盘,两台电脑组K3s集群时,如果关心数据在节点迁移时的持久性,建议预留一块独立的存储路径,或提前规划好PV与PVC的绑定关系。

K3s节点认证信息管理

中控节点的/etc/rancher/k3s/config.yaml文件可以预设一些常用参数,

token: "自定义的集群密钥"
node-ip: "中控节点内网IP"
flannel-iface: "内网网卡名"

设置flannel-iface在多网卡机器上尤为重要,它能让Flannel确定走哪块网卡,避免VXLAN流量错误穿透到外部网络。

常见问题与排查建议

两台电脑建立K3s服务器时,Agent节点一直NotReady是什么原因?

先看Agent节点k3s-agent的日志,重点检查与Server节点的6443端口通信和8472端口隧道建立,端口不通是常见现象,大多情况下是两台机器位于不同网段,且网络设备未开启VXLAN相关转发,同一网段下检查防火墙规则,放行所需端口后重启agent服务即可。

双节点下Pod一直Pending无法调度?

用kubectl describe pod查看事件,如果提示节点资源不足,说明内存请求超过可分配值,两台电脑组建K3s集群前应提前评估负载,或在Deployment的resources字段缩小请求量。

K3s双节点能不能实现滚动更新?

可以,K3s本身是完整的K8s发行版,Deployment的滚动更新策略完整支持,多副本运行情况下,更新过程会逐个替换Pod,不会同时中断所有服务,单副本情况下更新会有短暂的服务中断,这是由单副本特性决定的,而非K3s的限制。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/743463.html

赞 (0)
服务器多少钱一平方,价格怎么计算才靠谱?
上一篇 2026年10月13日 17:22
IIS服务器301重定向怎么做,301跳转规则怎么设置?
下一篇 2026年10月13日 17:25

相关推荐

  • win7服务器登录密码忘了怎么解决,有哪些找回方法?

    Win7服务器登录密码忘了,解决办法就一条:用PE工具或命令行重置密码,不必重装系统、不会丢失数据,完全能在不改动现有环境的前提下找回登录权限,作为一个常年泡在机房、天天跟服务器打交道的老运维,说实话,这种事我见得太多了,很多朋友一碰到“win7服务器密码忘了”就慌了神,脑子里第一个念头是重装系统,打住,千万别……

    2026年9月16日
    200
  • 服务器与客户端代码如何实现,有哪些注意事项?

    服务器与客户端代码实现的核心在于定义清晰的通信协议和接口,确保数据交换的可靠性和效率, 无论你选择TCP Socket、HTTP还是WebSocket,掌握两者之间的协作逻辑都是开发者必备技能,下面我们直接进入实操层面,从协议选择到配合方式,再到具体代码实现,一步步拆解,服务器与客户端代码实现的基础协议选择在开……

    2026年7月21日
    1200
  • YYYHost特价VPS值得买吗?洛杉矶CN2 GIA服务器推荐

    YYYHost洛杉矶CN2 GIA与香港BGP双线路VPS凭借6核6GB配置及不限流量特性,成为2026年追求低延迟与高稳定性的建站及开发首选方案,在服务器选型日益复杂的当下,单纯追求低价已无法满足业务需求,用户需要在性能、稳定性和成本之间找到最佳平衡点,YYYHost推出的这款特价VPS,正是针对这一痛点设计……

    2026年6月25日
    1810
  • ASP.NET服务器空间不足怎么办 | ASP.NET服务器空间问题

    ASP.NET服务器空间是指托管和运行ASP.NET Web应用程序所需的特定计算资源与环境,它不仅仅是一块物理硬盘空间,更是一个集成了操作系统、Web服务器(如IIS)、.NET运行时框架、数据库连接支持(如SQL Server)以及必要安全配置的综合性运行平台,专门为高效执行基于.NET技术栈的Web应用而……

    2026年2月13日
    11830
  • 笔记本开机显示rpc服务器不可用怎么办?,什么原因?

    笔记本开机提示RPC服务器不可用,核心解决思路是检查并重启RPC相关服务、修复网络协议栈以及排查系统文件完整性,大多数情况下按本文步骤操作即可恢复正常,笔记本开机显示RPC服务器不可用怎么办遇到这个报错,别急着重装系统,先试试最简单的办法,检查RPC服务状态按下Win+R,输入services.msc回车,在服……

    2026年7月30日
    1900
  • 服务器增加硬盘后如何扩展D盘?,服务器磁盘扩容有哪些方法

    服务器增加一块硬盘想扩展D盘,核心答案是:在Windows Server系统下,若想增大原D盘分区容量,正确操作是使用“磁盘管理”中的“扩展卷”功能,但前提是新硬盘必须转化为动态磁盘且与D盘位于同一磁盘组中;若新硬盘是独立物理盘,则无法直接合并到现有D盘,需通过数据迁移或跨区卷实现,服务器加硬盘扩展D盘前先搞清……

    2026年10月9日
    100
  • 计算机服务器IP端口怎么查询,端口查询方法是什么

    服务器端口怎么查?先明确你要查的是“本地”还是“远程”查询服务器IP的端口,本质是确认某个IP地址上的某个端口是否开放、被哪个程序占用,最直接的办法是用操作系统的netstat命令查本地端口,用telnet或在线工具测远程端口, 如果你有服务器登录权限,直接在命令行里敲命令是最快的;如果没权限,只能从外部做连通……

    2026年9月28日
    000
  • 怎么选MT4服务器看沪深300,有哪些技巧?

    选择MT4服务器看沪深300指数,核心结论是:服务器本身不分“看哪只股票”,关键在于你选择的经纪商是否提供沪深300的CFD(差价合约)报价,并优先考虑执行速度快、点差稳定且拥有监管资质的平台服务器,那些所谓“专门看A股的服务器”只是平台方的宣传话术,并不存在独立的指数通道,这篇文章将带你理清选服务器的逻辑,教……

    2026年9月8日
    100
  • ajax前台怎么连接数据库,前端ajax连接数据库报错怎么解决

    AJAX本身无法直接连接数据库,必须通过后端服务器(如PHP、Node.js、Java)作为中介,由前端发送异步请求,后端查询数据库并返回JSON数据,前端再解析渲染,很多初学者容易陷入一个误区,认为JavaScript可以直接操作MySQL或SQL Server,这种想法在2026年的Web开发语境下不仅过时……

    2026年6月4日
    3900
  • 服务器2008如何远程连接?服务器2008远程桌面设置方法

    远程管理Windows Server 2008的核心价值在于:在保障系统稳定性的前提下,实现高效、安全、低成本的跨地域运维, 尽管微软已于2020年1月终止对Server 2008的支持,但仍有大量企业因兼容性、成本或合规原因持续使用该系统,正确配置远程访问功能,是延缓系统淘汰周期、降低运维风险的关键举措, 以……

    程序编程 2026年4月16日
    7500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注