Pod 与工作负载

Kubernetes 教程 · 第 3 章 · 5 次浏览

Pod 是 K8s 的最小单元(一组容器),Deployment 声明"我要几个副本、什么镜像",K8s 负责维持这个状态。

Deployment 工作方式

声明式:你写 YAML 说"跑 3 个 nginx 副本",K8s 自动创建 Pod;Pod 挂了自动重建;更新镜像滚动升级不中断服务。

常用操作

kubectl create deployment 创建;kubectl scale 扩缩容;kubectl rollout restart 重启滚动;kubectl delete deployment 删除。

代码示例

# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: web
spec:
  replicas: 3                # 3 个副本
  selector:
    matchLabels:
      app: web
  template:
    metadata:
      labels:
        app: web
    spec:
      containers:
        - name: web
          image: nginx:alpine
          ports:
            - containerPort: 80

# 应用
kubectl apply -f deployment.yaml

# 扩缩容
kubectl scale deployment web --replicas=5

# 看状态
kubectl get pods -o wide
kubectl describe pod web-xxx

# 删除
kubectl delete deployment web