Kubernetes/5.Pod資源清單配置基礎

Pod資源清單配置基礎

Docker中我們都說容器、docker,大家耳熟能詳。但到了kubernetes中,這個專有名詞彷彿就被"取而代之"了。kubernetes的語境中,我們將一個容器集合稱之爲Pod

  • What is Pod?
  • Pod的特徵
  • Pod對象的配置格式
  • Pod對象的申明類型
  • 命令補充
  • 三種網絡代理方式
  • 參考文檔
  • 備註

1.What is Pod?

What is Pod
那什麼是Pod?如圖所示,Pod中有一個pause容器,和一堆業務容器,他們有各自的PIDMOUNTUSER,但他們共享IPCUTSNETWORK。對於這六個專屬名詞的描述,可以看下面的表格:

簡稱 描述
UTS 主機名
IPC 進程間通信
PID "chroot"進程樹
MOUNT 掛載點
NETWORK 網絡訪問,包括接口
USER 將本地的虛擬user-id映射到真實的user-id

2.Pod的特徵

  • 通過使用"各自"的IPC,使得可以在一個Pod中通信
  • 容器可以通過localhost相互訪問
  • 每個容器繼承Pod的名稱
  • 每個Pod有一個平滑共享網絡名稱空間的ip地址
  • Pod內部的存儲卷是共享的

3.Pod對象的配置格式

kind:定義資源類型,例如deployment、service等
apiVersion:定義調用的api版本,所支持的版本可以通過kubectl  api-resources查看 
metadata:資源提供源數據信息,如名稱、隸屬的名稱空間和標籤等
spec:用於定義用戶期望的狀態,不同的資源類型
Status:記錄活動對象的當前狀態信息,由k8s系統自行維護,對用戶來說爲只讀字段

4.Pod對象的申明類型

陳述式:
    kubectl create -f xx.yaml

申明式:
    kubectl apply -f xx.yaml

5.命令補充

#相關資源的命令查詢:
kubectl explain pods(.spec.tolerations….)

#導出pod對應的yaml模版:
kubectl  get pod ngx-new-cb79d555-gqwf8 -o yaml --export > ngx-new-demo.yaml

#Docker 策略    
Docker:
    imagePullPolicy:
        Always:無論本地有沒有鏡像,都要去互聯網拖(常用於拉取latest的鏡像)
        IfNotPresent:如果本地沒有鏡像,就不啓動(常用於拉取指定版本的鏡像)
        Nerver:本地有就直接用,沒有再去拖

6.三種網絡代理方式

Service:申明NodePort類型,可以通過任意節點訪問
hostPort:直接將容器的端口與所調度的節點上的端口路由,這樣用戶就可以通過宿主機的IP加上來訪問Pod了
hostNetwork:共享宿主機的網絡名稱空間

7.參考文檔

reference文檔:https://kubernetes.io/docs/reference/using-api/api-overview/

API文檔:https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.16/

8.備註

本文原址位於我的Github,我會陸續將所有專題更新過來,其中包括docker、k8s、ceph、istio和prometheus,旨在分享雲原生中大而全的技術知識點和實操過程,如果對你有用,請follow、star我的github,這也是我更新、分享下去的動力,謝謝~

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