Pods與Nodes


Pod是Kubernetes抽象出來表示一組應用容器(比如Docker、rkt),還有這些容器共享的資源。這些資源包括:

  • 共享存儲,比如Volumes
  • 網絡,比如獨立的集群IP地址
  • 如何去運行每個容器的信息,比如容器鏡像版本、要使用的端口

Pod塑造出一個應用專用的"邏輯主機",它能包含不同的應用容器(緊密耦合的)。舉例來說:一個Pod可以包含Node.js應用和另外一個產生Node.js webserver需要數據的應用。Pod的容器共享IP地址和端口空間,可以互相協作和調用,它們在同一個Node的上的共享上下文。

Pod是Kubernetes平台上的原子單位。當我們在Kubernetes上創建一個Deployment時,它將創建附帶容器的Pods。每個Pod與被調度的Node綁定直到被刪除。萬一Node故障了,一個新Pod會被調度到其它可用的Node上。

Nodes


 

Pod總是運行在Node之上。Node是Kubernetes中的一個工作機器,通常是一個虛擬機或者物理機。每個Node被Master管理。一個節點能有多個pod,同時Kubernetes master在集群之上自動調度pod。Master的自動調度考慮到每個Node上的可用資源。

每個Kubernetes Node至少運行:

  • Kubelet,一個負責Kubernetes Master和Node之間通訊的進程;它管理着運行在機器上Pods和Containers
  • 容器運行時(比如Docker,rkt),負責從registry拉取容器鏡像,取出容器,運行應用。

kubectl排查故障


通過kubectl可以獲取已部署應用的信息以及它們的環境。大多數常規操作可以通過以下kubectl命令來完成:

  • kubectl get - 列出resources
  • kubectl describe - 顯示resource的詳細信息
  • kubectl logs - 打印pod中container的日志
  • kubectl exec - 對pod的container執行一個命令

在應用部署之后,你可以通過這些命令去查看它們的狀態、它們運行在哪里以及它們的配置。

注:參考https://kubernetes.io/docs/tutorials/kubernetes-basics/explore/explore-intro/翻譯,部分內容有刪減及修改。



作者:卡卡rot
鏈接:https://www.jianshu.com/p/c2cbe3b84813
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM