iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 2
0
自我挑戰組

SDN/NFV 網路虛擬化調度平台系列 第 2

Day 2 - Kubernetes安裝與配置

前言

延續昨天沒說到的架構,這邊跟各位稍微介紹Kubernetes的架構以及配置。

Kubernetes 架構

https://ithelp.ithome.com.tw/upload/images/20190918/2012107052RDmS1rjk.png

  • API-Server :
    可以和 etcd 資料庫互動的元件,透過 kubectl呼叫api server 的 api
  • Etcd :
    用於儲存叢集中所有物件產生的資料,並維持叢集的設定和執行狀態
  • Scheduler :
    kubernetes Scheduler運行在master節點,它的核心功能是監聽apiserver來取得PodSpec.NodeName為 空的pod,然後為每個這樣的pod提供資訊並調度到指定節點上。
  • Controller Manager:
    叢集內部的管理控制中心,負責叢集內的 Node、Pod、Namespace、ServiceAccount、ResourceQuota 的 管理。

Kubernetes 的介面

  • Container Runtime Interface (CRI)
    1. Docker
    2. rocket
    3. cri-o
  • Container Stroage Interface (CSI)
    1. local
    2. NFS
    3. Ceph
  • Container Network Interface (CNI)
    1. Flannel
    2. Calico
    3. WeaveNet

Container Network Interface (CNI) 是一套規範,用來處理容器本身的網路設定,至於要提供什麼樣的網路能力本身並沒有定義,而是根據不同的 CNI 實現自行決定,根據不同的情境與設定來提供不同的功能與效果。

最基本的CNI Plugin 有
1.bridge
2.host-device
3.ipvlan
4.macvlan...
這些都是我們在container上所能實現的網路模式。

這邊就介紹一下兩個常見的CNI Plugin,flannel是最常見也是最多人使用的CNI,如果沒特殊情境需求就使用這個CNI Plugin,它的功能很簡單就是只有提供overlay network ,使的跨節點的容器能夠進行溝通。

Calico 建立一個扁平化的三層網絡,每個容器會分配一個可路由的IP。由於通訊時不需要解封裝和封裝,網路效能的消耗比較小,它的特性就是容易排查問題與水平擴展,他還提供可以設定ACL的功能。

Weave Net 它提供的模式和我們目前為止討論的所有網路方案都不同。Weave在叢集中的每個節點之間建立網狀overlay網路,如果希望網路功能很多元,同時希望不要增加大量複雜性或管理難度的人來說,可以使用這個CNI。

參考連結


上一篇
Day 1 - 淺談 Kubernetes 與架構
下一篇
Day 3 - Kubernetes安裝1
系列文
SDN/NFV 網路虛擬化調度平台30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言