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重啓值也會隨之增長