kubernetes 概念介紹二

      第一篇主要介紹了k8s的幾個大的組件,kube-apiserver,scheduler,kubelet等,本文接着第一篇繼續對kubernetes的一些組件進行介紹。

pod

kubernetes的基本管理單位,可以包含一個或多個container,pod運行在具體的node節點上,kubernetes通過scheduler模塊來對

pod進行調度,已決定具體pod具體運行在那個節點上。具體調度算法後面通過一篇文章來具體介紹。在node節點上,kubelet負責具

體的pod創建,刪除和更新。pod間的通信通過service和kube-proxy進行代理。


node

node可以理解爲kubernetes管理的具體虛擬機,通過納管流程,虛擬機註冊到kubernetes,調度的時候只會調度這些納管的節點。


納管流程分爲靜態納管和動態納管兩種方式,靜態納管是對已經存在的虛擬機進行納管,動態納管需要動態的通過具體的I層去創建

虛擬機,納管節點主要是controller Manage遠程登陸該虛擬機,從倉庫中下載base_agent.sh腳本,然後在機器上執行

base_agent.sh腳本,該腳本主要實現下載agent包,安裝kubelet,kube-proxy和monit,安裝成功修改節點狀態,納管成功。


service

服務,是一個虛擬概念,邏輯上代理後端pod。衆所周知,pod生命週期短,狀態不穩定,pod異常後新生成的pod ip會發生變化,之前pod的訪問方式均不可達。通過service對pod做代理,service有固定的ip和port,ip:port組合自動關聯後端pod,即使pod發生改變,kubernetes內部更新這組關聯關系,使得service能夠匹配到新的pod。這樣,通過service提供的固定ip,用戶再也不用關心需要訪問哪個pod,以及pod會否發生改變,大大提高了服務質量。如果pod使用rc創建了多個副本,那麼service就能代理多個相同的pod,通過kube-proxy,實現負載均衡。

deployment

Deployment爲Pod和ReplicaSet提供了一個聲明式定義(declarative)方法,用來替代以前的ReplicationController來方便的管理應用。典型的應用場景包括:

  • 定義Deployment來創建Pod和ReplicaSet

  • 滾動升級和回滾應用
  • 擴容和縮容
  • 暫停和繼續Deployment
具體介紹地址:https://www.kubernetes.org.cn/deployment

labeles

標籤,在kubernetes中可以給各個實體打標籤,在調度選擇的時候通過labeles來進行選擇和分類





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