网站首页 > 教程文章 正文
Kubernetes(K8s)作为容器编排的标准,虽然功能强大,但对于资源受限的环境(如边缘计算、IoT 设备或开发测试环境)来说,其复杂性和资源占用可能过高。K3s 由 Rancher Labs 开发,是一个轻量级、简化版的 Kubernetes,专为低资源环境设计。本篇文章将从 0 到 1,带你快速掌握 K3s 的安装、配置及应用。
1. 为什么选择 K3s?
相比标准 Kubernetes,K3s 具有以下优势:
o 轻量级:单个二进制文件,内存占用小,适用于低资源环境。
o 内置 SQLite 支持:默认使用 SQLite 代替 etcd,简化部署。
o 集成常用组件:内置 Traefik、CoreDNS 等,减少额外配置。
o 适用于边缘计算:适配 ARM 架构,适合 Raspberry Pi、IoT 设备等。
2. 安装 K3s
2.1 在单节点上安装 K3s
在 Linux 服务器(Ubuntu/Debian/CentOS)上执行以下命令即可快速安装:
curl -sfL https://get.k3s.io | sh -
安装完成后,K3s 会自动启动,可以使用 kubectl 进行管理:
kubectl get nodes
2.2 在多节点集群中安装 K3s
1. 在主节点(Master)上安装 K3s:
curl -sfL https://get.k3s.io | sh -s - server --cluster-init
运行 cat
/var/lib/rancher/k3s/server/node-token 获取 token。
2. 在工作节点(Worker)上加入 K3s 集群:
curl -sfL https://get.k3s.io | K3S_URL="https://
运行 kubectl get nodes 查看节点是否成功加入集群。
3. 使用 K3s 部署应用
3.1 创建一个 Nginx 部署
使用 K3s 运行 Nginx 作为示例应用:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
应用部署:
kubectl apply -f nginx-deployment.yaml
kubectl get pods
3.2 使用 Traefik 进行 Ingress 访问
K3s 默认集成了 Traefik 作为 Ingress 控制器,可以直接使用 Ingress 资源来暴露应用:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: nginx-ingress
spec:
rules:
- host: nginx.local
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: nginx-service
port:
number: 80
执行:
kubectl apply -f nginx-ingress.yaml
4. K3s 高级用法
4.1 配置 K3s 使用外部数据库(MySQL)
默认情况下,K3s 使用 SQLite 存储数据。要改为使用 MySQL,可以安装时指定:
curl -sfL https://get.k3s.io | sh -s - server --datastore-endpoint="mysql://user:password@tcp(192.168.1.100:3306)/k3s"
4.2 K3s + Helm 部署应用
安装 Helm:
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
使用 Helm 在 K3s 上部署 Prometheus:
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm install prometheus prometheus-community/kube-prometheus-stack
5. 总结
本篇文章介绍了 K3s 的特点、安装、基本应用部署及高级配置。如果你的应用场景是边缘计算、物联网或资源受限的服务器,K3s 是 Kubernetes 的绝佳替代方案。你是否已经开始使用 K3s?欢迎在评论区交流你的实践经验!
- 上一篇: 从零开始,搭建你的专属私有云存储系统
- 下一篇: 电脑分别有什么系统?(电脑有哪几大系统)
猜你喜欢
- 2025-03-28 辞职后全职开发的操作系统 SerenityOS 到底是个怎样的系统
- 2025-03-28 后Centos时代,服务器究竟选择什么操作系统比较合适
- 2025-03-28 开源&Docker:何必nextcloud,新晋神级私人云盘,在线office编辑
- 2025-03-28 如何在 Linux 上检查 CPU 和硬盘温度?
- 2025-03-28 电脑分别有什么系统?(电脑有哪几大系统)
- 2025-03-28 从零开始,搭建你的专属私有云存储系统
- 2025-03-28 如何检查 Linux 中所有正在运行的服务?
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)