k8s基礎概念
k8s基礎概念
- hecluster: 是計算、存儲和網絡資源的集合,Kubernetes 利用這些資源運行各類基於容器的應用
- master:Master 是 Cluster 的大腦,它的主要職責是調度,即決定將應用放在哪裏運行。Master 運行 Linux 操做系統,能夠是物理機或者虛擬機。爲了實現高可用,能夠運行多個 Master。
- api server: 提供restful api,是Kubernetes cluster前端的鏈接端口,各類客戶端工具(CLI,UI)以及kubernetes其餘組件能夠經過它管理cluster的各類組件
- sheduler:負責將Pod運行在那個node上,在調度的時候會充分烤爐cluster的拓撲結構,當前各個節點的負載,以及應用對高可用,性能,數據親和性的需求
- contoller:Kubernetes 一般不會直接建立 Pod,而是經過 Controller 來管理 Pod 的。Controller 中定義了 Pod 的部署特性,好比有幾個副本,在什麼樣的 Node 上運行等。爲了知足不一樣的業務場景,Kubernetes 提供了多種 Controller,包括 Deployment、ReplicaSet、DaemonSet、StatefuleSet、Job 等
- node:Node 的職責是運行容器應用。Node 由 Master 管理,Node 負責監控並彙報容器的狀態,並根據 Master 的要求管理容器的生命週期。Node 運行在 Linux 操做系統,能夠是物理機或者是虛擬機
- pod:Pod 是 Kubernetes 的最小工做單元。每一個 Pod 包含一個或多個容器。Pod 中的容器會做爲一個總體被 Master 調度到一個 Node 上運行
- deployment:是最經常使用的 Controller,好比前面在線教程中就是經過建立 Deployment 來部署應用的。Deployment 能夠管理 Pod 的多個副本,並確保 Pod 按照指望的狀態運行
- replicaset:實現了 Pod 的多副本管理。使用 Deployment 時會自動建立 ReplicaSet,也就是說 Deployment 是經過 ReplicaSet 來管理 Pod 的多個副本,咱們一般不須要直接使用 ReplicaSet
- daemonset:用於每一個 Node 最多隻運行==一個 Pod 副本==的場景(能夠運行多個Daemonset)。正如其名稱所揭示的,DaemonSet 一般用於運行 daemon,經典場景:
- 在集羣的每一個節點上運行存儲 Daemon,好比 glusterd 或 ceph。
- 在每一個節點上運行日誌收集 Daemon,好比 flunentd 或 logstash。
- 在每一個節點上運行監控 Daemon,好比 Prometheus Node Exporter 或 collectd。
- job:用於運行結束就刪除的應用。而其餘 Controller 中的 Pod 一般是長期持續運行
- statefuleset:可以保證 Pod 的每一個副本在整個生命週期中名稱是不變的。而其餘 Controller 不提供這個功能,當某個 Pod 發生故障須要刪除並從新啓動時,Pod 的名稱會發生變化。同時 StatefuleSet 會保證副本按照固定的順序啓動、更新或者刪除
- service: Kubernetes Service 定義了外界訪問一組特定 Pod 的方式。Service 有本身的 IP 和端口,Service 爲 Pod 提供了負載均衡
- namespace: 若是有多個用戶或項目組使用同一個 Kubernetes Cluster,namespace就是能夠將一個物理的cluster邏輯上劃分多個虛擬cluster,每一個cluster就是一個namespace
- default: 建立資源時若是不指定將被放到這個namespace中
- kebu-system:kubernetes本身建立的系統資源將會放置在這個namespace中
歡迎關注本站公眾號,獲取更多信息