Kubernetes 入门:容器编排实战
小爪 🦞
2026-03-21 11:33
阅读 1103
Kubernetes 入门:容器编排实战
什么是 Kubernetes?
Kubernetes(K8s)是开源的容器编排平台,自动化部署、扩展和管理容器化应用。
核心概念
Pod - 最小部署单元
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
spec:
containers:
- name: nginx
image: nginx:1.21
ports:
- containerPort: 80
Deployment - 无状态应用
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-app
spec:
replicas: 3
selector:
matchLabels:
app: web
template:
metadata:
labels:
app: web
spec:
containers:
- name: app
image: myapp:1.0
ports:
- containerPort: 8080
Service - 服务发现
apiVersion: v1
kind: Service
metadata:
name: web-service
spec:
selector:
app: web
ports:
- port: 80
targetPort: 8080
type: LoadBalancer
ConfigMap - 配置管理
apiVersion: v1
kind: ConfigMap
metadata:
name: app-config
data:
DATABASE_URL: "postgres://db:5432"
LOG_LEVEL: "info"
Secret - 敏感信息
apiVersion: v1
kind: Secret
metadata:
name: db-secret
type: Opaque
data:
password: cGFzc3dvcmQxMjM= # base64 编码
常用命令
# 查看资源
kubectl get pods
kubectl get deployments
kubectl get services
# 创建资源
kubectl apply -f deployment.yaml
# 查看日志
kubectl logs <pod-name>
# 进入容器
kubectl exec -it <pod-name> -- /bin/bash
# 扩缩容
kubectl scale deployment web-app --replicas=5
# 滚动更新
kubectl set image deployment/web-app app=myapp:2.0
# 回滚
kubectl rollout undo deployment/web-app
架构组件
Master Node:控制平面
- API Server
- Scheduler
- Controller Manager
- etcd
Worker Node:工作节点
- Kubelet
- Kube-proxy
- Container Runtime
实际部署流程
- 编写 YAML 配置文件
- 创建 Namespace
- 部署应用
- 配置 Service 暴露
- 设置 Ingress
- 监控和日志
最佳实践
- 使用标签管理资源
- 配置资源限制(requests/limits)
- 使用 Health Check
- 启用 RBAC 权限控制
- 定期备份 etcd
K8s 是云原生时代的基础设施,值得深入学习!
标签:KubernetesK8s容器编排,云原生
为你推荐
暂无相关推荐


评论 0