生产环境中的kubernetes集群中配置pod一般会有哪些规范?

提问者:帅平 问题分类:运维
生产环境中的kubernetes集群中配置pod一般会有哪些规范?
4 个回答
习惯所有的虚假
习惯所有的虚假
使用VPA进行垂直扩缩容,例如:
apiVersion: autoscaling.k8s.io/v1
kind: VerticalPodAutoscaler
metadata:
  name: recommendation-service-vpa
spec:
  targetRef:
    apiVersion: "apps/v1"
    kind: Deployment
    name: recommendation-service
  updatePolicy:
    updateMode: "Auto"
发布于:2周前 (03-13) IP属地:
三岁就可萌了
三岁就可萌了
配置HPA(基于内存),例如:
kubectl autoscale deployment recommendation-service -n production \
  --cpu-percent=70 \
  --memory-percent=80 \
  --min=3 \
  --max=20
发布于:2周前 (03-13) IP属地:
回忆多美好
回忆多美好
启动命名空间级别的ResourceQuota,例如:
apiVersion: v1
kind: ResourceQuota
metadata:
  name: production-quota
  namespace: production
spec:
  hard:
    requests.memory: "100Gi"
    limits.memory: "200Gi"
    pods: "200"
发布于:2周前 (03-13) IP属地:
与酒
与酒
一定要为所有的pod添加内存和cpu的限制,避免出现资源(cpu超出或者内存泄漏)泄漏的时候无法约束,例如:
# deployment.yaml示例
apiVersion: apps/v1
kind: Deployment
metadata:
  name: recommendation-service
spec:
  template:
    spec:
      containers:
      - name: app
        resources:
          requests:
            memory: "512Mi"
            cpu: "500m"
          limits:
            memory: "1024Mi"  # 硬性限制内存上限
            cpu: "2000m"
发布于:2周前 (03-13) IP属地:
我来回答