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属地:
我来回答
您需要 登录 后回答此问题!