从 0 到 1 掌握 K3s:轻量级 Kubernetes 集群的快速部署
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://<MASTER_IP>:6443" K3S_TOKEN="<TOKEN>" sh -
运行 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?欢迎在评论区交流你的实践经验!
相关文章
- 微软为Windows 11带来新安全功能,提升系统防护!
- 微软专家示警:个人PC最大安全隐患在于日常使用管理员账户
- 外媒:微软将安全工作与员工绩效考核紧密联系
- 微软承认Win10/Win11家庭安全功能导致Chrome等浏览器崩溃
- 微软Azure云计算服务第四财季收入增长放缓
- 微软Azure AI落地印度Yotta云平台,加速本土AI发展
- 微软Azure再下一城:娱乐软件零售巨头GameStop
- 微软发布Azure Orbary,与亚马逊竞争卫星的云端接入
- 微软上线Azure H200 v5系列AI虚拟机:吞吐量提升35%
- 微软预览主权私有云服务Azure Local和Microsoft 365 Local