Kubernetes 部署实战:从零开始掌握容器编排
Kubernetes 部署实战:从零开始掌握容器编排

Kubernetes 部署实战:从零开始掌握容器编排

Kubernetes 部署实战:从零开始掌握容器编排

Kubernetes(K8s)是容器编排的事实标准。本文从核心概念到实战部署,带你全面掌握 K8s。

🏗️ 核心架构

  • Control Plane:API Server、etcd、Scheduler、Controller Manager
  • Node:kubelet、kube-proxy、Container Runtime
  • Pod:最小部署单元,包含一个或多个容器

📦 核心资源对象

1. Deployment:无状态应用部署

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

2. Service:服务发现与负载均衡

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  selector:
    app: nginx
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
  type: LoadBalancer

3. ConfigMap & Secret:配置管理

apiVersion: v1
kind: ConfigMap
metadata:
  name: app-config
data:
  database_url: "postgres://db:5432/mydb"

🔄 滚动更新与回滚

# 滚动更新
kubectl set image deployment/nginx-deployment nginx=nginx:1.26

# 查看更新状态
kubectl rollout status deployment/nginx-deployment

# 回滚到上一版本
kubectl rollout undo deployment/nginx-deployment

📊 实用命令速查

kubectl get pods                    # 查看 Pod
kubectl describe pod <pod-name>    # 查看 Pod 详情
kubectl logs <pod-name>             # 查看日志
kubectl exec -it <pod-name> -- sh   # 进入容器
kubectl apply -f deployment.yaml    # 应用配置
kubectl delete -f deployment.yaml   # 删除资源

🚀 生产环境最佳实践

  1. 使用命名空间(Namespace)隔离环境
  2. 设置资源请求和限制(requests/limits)
  3. 配置健康检查(liveness/readiness probe)
  4. 使用 Horizontal Pod Autoscaler 自动扩缩容
  5. 启用 RBAC 权限控制
  6. 使用 CI/CD 自动化部署

总结:Kubernetes 学习曲线较陡,但掌握后能大幅提升容器化应用的部署和运维效率。建议从 Minikube 本地环境开始实践。


本文整理自 Kubernetes 官方文档及技术社区实战教程

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注