kubernetes:靜態pod

什麼是靜態Pod
靜態Pod是由kubectl進行管理的僅存於特定Node上的Pod。他們不能通過API Server管理,無法與ReplicationController、Deployment或者DaemonSet進行關聯,並且kubelet也無法對他們進行健康檢查。靜態Pod總是由kubectl進行創建,並且總是在kubelet所在的Node上運行。

創建Pod有兩種方式:配置文件或HTTP方式,這裏只說常用的配置文件方式

配置文件方式
在目錄/etc/kubelet.d中放入static-web.yaml文件,內容:

apiVersion: v1
kind: Pod
metadata:
  name: static-web
  labels:
    name: static-web
  spce:
    containers:
    - name: static-web
      image: nginx
      ports:
      - name: web
        containerPort: 80

查看本機中已經啓動的容器:

docker ps
就可以看到一個Nginx容器已經被Kubelet成功創建了出來。

到Master節點查看Pod列表,可以看到這個static pod:

kubectl get pods
由於靜態Pod無法通過API Server直接管理,所以在Master節點嘗試刪除這個Pod,將會使其標爲Pending狀態,且不會被刪除。

kubectl delete pod static-web-node1
刪除該Pod的操作只能是到其所在Node上,將其自定義文件static-web.yaml從/etc/kubelet.d目錄下刪除

rm /etc/kubelet.d/static-web.yaml
docker ps
容器已經刪除了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章