pod和container的资源请求和限制node
#cpu上限 spec.containers[].resources.limits.cpu #内存上限 spec.containers[].resources.limits.memory #建立时分配的基本cpu资源 spec.containers[].resources.requests.cpu #建立时分配的基本内存资源 spec.containers[].resources.requests.memory
vim pod2.yaml apiVersion: v1 kind: Pod metadata: name: frontend #Pod资源的名称 spec: containers: - name: db #容器1的名称 image: mysql env: - name: MYSQL_ROOT_PASSWORD value: "password" resources: requests: memory: "64Mi" cpu: "250m" limits: memory: "128Mi" cpu: "500m" - name: wp #容器2的名称 image: wordpress resources: requests: memory: "64Mi" cpu: "250m" limits: memory: "128Mi" cpu: "500m"
kubectl apply -f pod2.yaml
kubectl describe pod frontend
kubectl describe nodes 192.168.142.130
kubectl get ns
1:Always:当容器终止推出后,老是重启容器,默认策略 2:Onfailure:当容器异常退出(退出码为非0)时,重启容器 3:Never:当容器终止退出,从不重启资源 注意:k8s中不支持重启pod资源,只有删除重建
kubectl edit deploy #输入/restartPolicy查找 restartPolicy: Always #没有设定重启策略时默认为Always #建立pod3.yaml文件 vim pod3.yaml apiVersion: v1 kind: Pod metadata: name: foo spec: containers: - name: busybox image: busybox args: #参数 - /bin/sh #在shell环境中 - -c #command命令 - sleep 30; exit 3 #容器启动后休眠30s,异常退出返回状态码为非0值 #建立资源 kubectl apply -f pod3.yaml kubectl get pods #此时会出现Error报错,因刚刚设置的异常退出,一会再查看时RESTARTS重启值会变为一、
#修改pod3.yaml文件 vim pod3.yaml apiVersion: v1 kind: Pod metadata: name: foo spec: containers: - name: busybox image: busybox args: - /bin/sh - -c - sleep 10 #修改休眠时间为10s restartPolicy: Never #添加剧启策略 #建立资源 kubectl apply -f pod3.yaml
livenessProbe 若是检查失败,将杀死容器,根据Pod的restartPolicy来操做 ReadinessProbe 若是检查失败,kubernetes会把Pod从service endpoints后端节点中中剔除
httpGet 发送http请求,返回200-400范围状态码为成功 exec 执行Shell命令返回状态码是0为成功 tcpSocket 发起TCP Socket创建成功
#建立pod4.yaml文件 vim pod4.yaml apiVersion: v1 kind: Pod metadata: labels: test: liveness name: liveness-exec spec: containers: - name: liveness image: busybox args: - /bin/sh - -c - touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy #建立一个空文件,休眠30s,删除这个空文件 livenessProbe: exec: #探测健康 command: #command命令 - cat #执行查看命令 - /tmp/healthy #建立的空文件 initialDelaySeconds: 5 #容器建立完成5秒以后开始健康检查 periodSeconds: 5 #检查的间隔频率为5秒
#建立资源 kubectl apply -f pod4.yaml kubectl get pods #当中状态不断改变,就表明它正在不断的进行检查,而后不断的执行重启策略,其中的RESTARTS重启值也会随之增长