iT邦幫忙

2021 iThome 鐵人賽

DAY 6
0
DevOps

k8s歷險記系列 第 6

Day6-控制器是在控什麼 controller說明

  • 分享至 

  • xImage
  •  

pod的管理與控制

對k8s來說,pod是k8s最小的元件,但是當我們在使用時,通常不會直接對pod進行部屬或操作,而是會透過控制器(controller)來對pod進行操作。
雖說叫做控制器,不過並不是有個元件叫做控制器,而是多種類型的物件,下面是主要常見的控制器:

  1. Deployment:
    告訴k8s如何去建立pod的實體,透過ReplicaSets來控制pod更新,rolling-update等行為。
    由於只要在Deployment設定好,k8s就會自動完成,
    因此官方也建議使用Deployment加ReplicaSets來處理部署pod的部署和管理。
  2. ReplicaSets:
    算是替代了ReplicationController的工作
    (官網建議現在以 ReplicaSet 和 Deployment來建立副本管理機制 )
    能夠確保pod的數量以及版本,透過deployment和ReplicaSets,
    可以達成rolling-update和roll-back等操作,詳細會在之後章節說明。
  3. DaemonSet
    用來確保節點(node)上會運行指定pod,當有節點加入叢集(cluster)時,就會在節點上生成一個pod。
    而當節點從叢集被移除時,pod也會被回收。通常會用於監控用或是log收集用。
  4. StatefulSets:
    當pod有需要穩定,唯一,持久化的需求時,就需要透過statefulSets來部屬。
    例如你希望能夠建立一個持久化的redis,不要因為重啟pod將redis內的資料刪除,
    就可以考慮用StatefulSets部屬.
  5. ReplicationController:
    (官方建議用Deployment和ReplicaSet 來取代他)
    基本功能和ReplicaSets差不多,都是確保pod的數量,太多砍掉,太少增加。
    唯一和ReplicaSets的差別是ReplicationController只支援equality-based label selector。

在這章我們知道了用來控制pod的控制器有哪些,那麼對於架構的解說大概在這告一段落,下一章我們會開始介紹如何安裝k8s以及各式各樣的本機k8s。


上一篇
Day5-容器通通塞這裡 pod是啥
下一篇
Day7-aws或gcp 我選擇本機建立k8s
系列文
k8s歷險記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言