靜態pod是由kubelet進行管理的僅存在與特定node上的pod,他們不能通過api server進行管理,無法與rc,deployment,ds進行關聯,並且kubelet無法對他們進行健康檢查。
靜態pod總是由kubelet創建的,並且總在kubelet所在的node上運行。
創建靜態pod有兩種方式:配置文件方式和HTTP方式。
配置文件方式:
首先需要設置kubelet 的啓動參數"--config",指定kubelet需要監控的配置文件所在的目錄,kubelet會定期掃描該目錄,並根據該目錄下的.yaml或.json文件進行創建操作。
假設配置目錄爲/etc/kubernetes/conf/,配置啓動參數爲"--config=/etc/kubernetes/conf/",然後重啓kubelet服務。
等待一會,查看本機中已經啓動的容器,可以看到容器已經被kubelet創建出來了。
由於靜態pod無法通過api server直接管理,所以在master上刪除這個pod時,會使其變成pending狀態,且不會被刪除。
刪除該pod的操作只能是到其所在node上將其定義文件.yaml從/etc/kubernetes/conf/目錄下刪除。
HTTP方式:
通過設置kubelet的啓動參數“--manifest-url”,kubelet將會定期從該URL地址下載pod的定義文件,並以.yaml或.json文件的格式進行解析,然後創建pod。其實現方式與配置文件方式是一致的。