默认的情况下, k8s不会限制pod的cpu和内存的, 也就是只要pod内应用需要, 完全可以占满宿主机的cpu和内存, 如果是这种情况, 当有大量的服务一起部署时, 相互之间是会相互影响的, 所以k8s也有相应的办法限制pod及里面容器的cpu和内存
准备工作
# 创建namespace xxx
kubectl create namespace xxx
# 下载官方提供的示例文件
wget https://k8s.io/docs/tasks/configure-pod-container/limits.yaml
# 内容如下
##############################
apiVersion: v1
kind: LimitRange
metadata:
name: mylimits
spec:
limits:
- max:
cpu: "2"
memory: 1Gi
min:
cpu: 200m
memory: 6Mi
type: Pod
- default:
cpu: 300m
memory: 200Mi
defaultRequest:
cpu: 200m
memory: 100Mi
max:
cpu: "2"
memory: 1Gi
min:
cpu: 100m
memory: 3Mi
type: Container
##############################
Pod相关限制
cpu最大限制2