k8s资源限制资源限制、重启策略与探针

资源限制

  在对于docker来说,是和宿主机共享内核资源的,这样并不安全,我们需要对其资源进行限制,类似cgroup
Pod和Container的资源请求和限制:

  • spec.containers[].resources.limits.cpu cpu上限
  • spec.containers[].resources.limits.memory 内存上限
  • spec.containers[].resources.requests.cpu 创建时分配的基本CPU资源
  • spec.containers[].resources.requests.memory 创建时分配的基本内存资源

创建一个资源对它进行资源限制
其中requests下的是创建时分配的资源,在limits下的是使用资源的上限

[root@master demo]# vim pod-limit.yaml
apiVersion: v1
kind: Pod
metadata:
  name: frontend
spec:
  containers:
  - name: db
    image: mysql
    env:
    - name: MYSQL_ROOT_PASSWORD
      value: "password"
    resources:
      requests:
        memory: "64Mi"
        cpu: "250m"
      limits:
        memory: "128Mi"
        cpu: "500m"
  - name: wp
    image: wordpress
    resources:
      requests:
        memory: "64Mi"
        cpu: "250m"

由文件创建资源,并查看资源限制

[root@master demo]# kubectl create -f pod-limit.yaml
pod/frontend created
[root@master demo]# kubectl get pods
我们可以看到资源被分配到了20.0.0.30的node节点
[root@master demo]# kubectl get pods -o wide
NAME                         READY   STATUS             RESTARTS   AGE     IP            NODE        NOMINATED NODE
frontend                     1/2     CrashLoopBackOff   3          4m50s   172.17.3.3    20.0.0.30   
[root@master demo]# kubectl describe pod frontend
[root@master demo]# kubectl describe node 20.0.0.30
  Namespace                  Name        CPU Requests  CPU Limits  Memory Requests  Memory Limits
  ---------                  ----        ---

你可能感兴趣的:(k8s,docker,kubernetes,资源限制,重启策略,探针)