1. 程式人生 > 其它 >k8s基礎之二 Pod

k8s基礎之二 Pod

什麼是pod?

pod是kubernetes中最小的單元,他由一組、一個或者多個容器組成,每個pod還包含了一個pause容器是pod的父容器。主要負責殭屍程序的回收管理,通過通過pause容器可以使同一個pod裡面的多個容器共享儲存網路pid、ipc等

pod探針

startupProbe:k8s1.16 後新加的探測方式,用於判斷容器內程式是否啟動,如果配置了startupProbe就會先禁止其他探測,直到他成功為止,成功後startupProbe將不在探測,不成功就根據策略做相應的處理

LivenssProbe:用於探測容器是否執行,如果探測失敗,kubelet會根據配置的重啟策略進行相應的處理,如果沒有配置該探針,預設就是success

ReadinessProbe:一般用於探測容器內的程式是否健康,他的返回值如果為success,那麼就代表這個容器完全啟動。並且程式已經是可以接收流量的狀態。

#   startupProbe: # 可選,檢測容器內程序是否完成啟動
#      httpGet:      # httpGet檢測方式,生產環境建議使用httpGet實現介面級健康檢查,健康檢查由應用程式提供。
#            path: /api/successStart # 檢查路徑
#            port: 80


    readinessProbe: # 可選,健康檢查
      httpGet:      # httpGet檢測方式,生產環境建議使用httpGet實現介面級健康檢查,健康檢查由應用程式提供。
            path: 
/ # 檢查路徑 port: 80 # 監控埠 livenessProbe: # 可選,健康檢查 #exec: # 執行容器命令檢測方式 #command: #- cat #- /health #httpGet: # httpGet檢測方式 # path: /_health # 檢查路徑 # port: 8080 # httpHeaders: # 檢查的請求頭 #
- name: end-user # value: Jason

探針的檢測方式:

ExecAction:在容器內執行一個命令,如果返回值為0,則容器健康

TCPSockerAction: 通過tcp連結檢車容器內的埠是否是通的,如果是通的就認為容器健康

HTTPGetAction: 通過應用程式暴露的api地址來檢查程式是否是正常的,如果狀態碼為200-400之間則認為容器健康

pod退出流程:

首先是使用者執行刪除操作--------->pod變成terminating(終止)
                            同時Endpoint刪除該pod ip地址
                            PreStop的指令

用命令啟動一個busybox映象

kubectl run busybox --image=busybox:1.28 -n kube-publi