K8s 太吃资源?我换成 k3s 后,开发环境瞬间快到飞起!

做微服务的朋友应该都有这个感受:

Kubernetes 很强,但真的太重了。

我在 16G 内存的电脑上跑个本地 K8s:

  • minikube 启动半天不动
  • kubeadm 装一次要折腾几十分钟
  • etcd + apiserver 一启动,风扇就起飞
  • 跑几个服务直接占掉 3、4GB 内存

搞个本地环境比上线还累。直到我遇到——k3s。第一次用它的时候我就一个感受:

这才是给开发者用的 Kubernetes!

K8s 太吃资源?我换成 k3s 后,开发环境瞬间快到飞起!

截图引用Github项目

什么是 k3s?一句话:轻、快、省心!

k3s 是 Rancher 官方打造的一个轻量化 Kubernetes 发行版

你可以理解成:

「把 Kubernetes 精简到极致,但能力还在。」

和原生 K8s 相比:

  • 内存占用直接砍半
  • 安装从几十分钟变成几秒
  • 自带负载均衡、Ingress、SQLite
  • 单台小服务器都能跑
  • 超级适合本地测试环境

第一次用的时候甚至怀疑自己是不是装了假 K8s。

K8s 太吃资源?我换成 k3s 后,开发环境瞬间快到飞起!

截图引用官网

一条命令安装,太爽了

原生 K8s 装起来像做开题报告。而 k3s:

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

没错,就是这一行。不到 10 秒,你的 Kubernetes 环境就好了。

查看状态:

systemctl status k3s

配置文件:

cat /etc/rancher/k3s/k3s.yaml

把里面的 localhost 换成服务器 IP,就能用 kubectl 连了。真的就是这么简单。

实测:k3s 有多轻?

我在一台 2 核 4G 云服务器上跑:

  • k3s 启动用时:5 秒
  • 内存占用:700〜900MB
  • 部署微服务:无压力

同样配置跑 kubeadm:

  • 启动慢
  • 内存飙到 2G+
  • 各种组件依赖麻烦

做本地环境、测试环境、边缘设备?k3s 完全碾压。

给你看一个最基础示例(真的简单)

部署个 nginx:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: web
spec:
  replicas: 1
  selector:
    matchLabels:
      app: web
  template:
    metadata:
      labels:
        app: web
    spec:
      containers:
        - name: web
          image: nginx
          ports:
            - containerPort: 80

再配个 Service:

apiVersion: v1
kind: Service
metadata:
  name: web
spec:
  type: LoadBalancer
  selector:
    app: web
  ports:
    - port: 80

应用:

kubectl apply -f web.yaml

访问一下 Service,完事。速度飞快。

本地开发环境更推荐 k3d!

如果你不想折腾虚拟机、云主机:本地电脑直接用 Docker 跑 k3s:k3d!装好 k3d 后:

k3d cluster create demo

10 秒,一个完整 k3s 集群直接拉起来!本地开发微服务的福音。

什么时候用 k3s?什么时候用 k8s?

给你总结成这一句话:

开发环境、测试环境、个人环境 → k3s
大型复杂系统、企业生产集群 → k8s

日常写微服务、做前后端联调、本地自测?k3s足够强,还更轻。

写在最后

以前我本地跑 K8s 时,风扇像飞机起飞。
目前用 k3s:

  • 资源占用小
  • 部署速度快
  • 配置简单
  • 开发体验极佳

如果你也被原生 Kubernetes 折磨过,提议你真的试一次 k3s 或 k3d。

你会发现:原来 Kubernetes 也可以用得这么爽。

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 共10条

请登录后发表评论