Kubernetes 入门到实战:部署你的第一个微服务
Kubernetes(K8s)是容器编排的事实标准。本文带你从零部署你的第一个应用。
核心概念
| 概念 | 说明 | 类比 |
|---|---|---|
| Pod | 最小部署单元 | 一个容器组 |
| Service | 网络抽象 | 负载均衡器 |
| Deployment | 声明式更新 | 应用版本管理 |
| ConfigMap | 配置管理 | 环境变量文件 |
| Ingress | 外部访问入口 | Nginx 反向代理 |
Deployment 配置
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: app
image: my-app:latest
ports:
- containerPort: 3000
resources:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "256Mi"
cpu: "500m"
readinessProbe:
httpGet:
path: /health
port: 3000
initialDelaySeconds: 5
periodSeconds: 10
常用操作
kubectl apply -f deployment.yaml
kubectl get pods
kubectl logs -f pod-name
kubectl scale deployment my-app --replicas=5
kubectl rollout undo deployment my-app
kubectl port-forward pod-name 3000:3000
总结
Kubernetes 学习曲线陡峭,但掌握基础概念后,它能极大简化应用部署和管理。从小规模开始,逐步增加复杂度。