本文檔將介紹 Kube-OVN 的總體架構(gòu),和各個(gè)組件的功能以及其之間的交互。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供宿遷網(wǎng)站建設(shè)、宿遷做網(wǎng)站、宿遷網(wǎng)站設(shè)計(jì)、宿遷網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、宿遷企業(yè)網(wǎng)站模板建站服務(wù),10多年宿遷做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。總體來看,Kube-OVN 作為 Kubernetes 和 OVN 之間的一個(gè)橋梁,將成熟的 SDN 和云原生相結(jié)合。 這意味著 Kube-OVN 不僅通過 OVN 實(shí)現(xiàn)了 Kubernetes 下的網(wǎng)絡(luò)規(guī)范,例如 CNI,Service 和 Networkpolicy,還將大量的 SDN 領(lǐng)域能力帶入云原生,例如邏輯交換機(jī),邏輯路由器,VPC,網(wǎng)關(guān),QoS,ACL 和流量鏡像。
1. 組件介紹Kube-OVN 的組件可以大致分為三類:
該類型組件來自 OVN/OVS 社區(qū),并針對(duì) Kube-OVN 的使用場(chǎng)景做了特定修改。 OVN/OVS 本身是一套成熟的管理虛機(jī)和容器的 SDN 系統(tǒng),我們強(qiáng)烈建議 對(duì) Kube-OVN 實(shí)現(xiàn)感興趣的用戶先去讀一下 ovn-architecture(7) 來了解什么是 OVN 以及 如何和它進(jìn)行集成。Kube-OVN 使用 OVN 的北向接口創(chuàng)建和調(diào)整虛擬網(wǎng)絡(luò),并將其中的網(wǎng)絡(luò)概念映射到 Kubernetes 之內(nèi)。
所有 OVN/OVS 相關(guān)組件都已打包成對(duì)應(yīng)鏡像,并可在 Kubernetes 中運(yùn)行。
ovn-central
ovn-central Deployment 運(yùn)行 OVN 的管理平面組件,包括 ovn-nb, ovn-sb, 和 ovn-northd。
多個(gè) ovn-central 實(shí)例會(huì)通過 Raft 協(xié)議同步數(shù)據(jù)保證高可用。
ovs-ovn
ovs-ovn 以 DaemonSet 形式運(yùn)行在每個(gè)節(jié)點(diǎn),在 Pod 內(nèi)運(yùn)行了 openvswitch, ovsdb, 和 ovn-controller。這些組件作為 ovn-central 的 Agent 將邏輯流表翻譯成真實(shí)的網(wǎng)絡(luò)配置。
該部分為 Kube-OVN 的核心組件,作為 OVN 和 Kubernetes 之間的一個(gè)橋梁,將兩個(gè)系統(tǒng)打通并將網(wǎng)絡(luò)概念進(jìn)行相互轉(zhuǎn)換。 大部分的核心功能都在該部分組件中實(shí)現(xiàn)。
以 Pod 事件為例, kube-ovn-controller 監(jiān)聽到 Pod 創(chuàng)建事件后,通過內(nèi)置的內(nèi)存 IPAM 功能分配地址,并調(diào)用 ovn-central 創(chuàng)建 邏輯端口,靜態(tài)路由和可能的 ACL 規(guī)則。接下來 kube-ovn-controller 將分配到的地址,和子網(wǎng)信息例如 CIDR,網(wǎng)關(guān),路由等信息寫會(huì)到 Pod 的 annotation 中。該 annotation 后續(xù)會(huì)被 kube-ovn-cni 讀取用來配置本地網(wǎng)絡(luò)。
該 DaemonSet 會(huì)復(fù)制 kube-ovn 二進(jìn)制文件到每臺(tái)機(jī)器,作為 kubelet 和 kube-ovn-cni 之間的交互工具,將相應(yīng) CNI 請(qǐng)求 發(fā)送給 kube-ovn-cni 執(zhí)行。該二進(jìn)制文件默認(rèn)會(huì)被復(fù)制到 /opt/cni/bin 目錄下。
kube-ovn-cni 會(huì)配置具體的網(wǎng)絡(luò)來執(zhí)行相應(yīng)流量操作,主要工作包括:
該部分組件主要提供監(jiān)控,診斷,運(yùn)維操作以及和外部進(jìn)行對(duì)接,對(duì) Kube-OVN 的核心網(wǎng)絡(luò)能力進(jìn)行擴(kuò)展,并簡(jiǎn)化日常運(yùn)維操作。
kube-ovn-speaker
該組件為一個(gè) DaemonSet 運(yùn)行在特定標(biāo)簽的節(jié)點(diǎn)上,對(duì)外發(fā)布容器網(wǎng)絡(luò)的路由,使得外部可以直接通過 Pod IP 訪問容器。
kube-ovn-pinger
該組件為一個(gè) DaemonSet 運(yùn)行在每個(gè)節(jié)點(diǎn)上收集 OVS 運(yùn)行信息,節(jié)點(diǎn)網(wǎng)絡(luò)質(zhì)量,網(wǎng)絡(luò)延遲等信息,收集的監(jiān)控指標(biāo)可參考 Kube-OVN 監(jiān)控指標(biāo)。
kube-ovn-monitor
該組件為一個(gè) Deployment 收集 OVN 的運(yùn)行信息,收集的監(jiān)控指標(biāo)
kubectl-ko
該組件為 kubectl 插件,可以快速運(yùn)行常見運(yùn)維操作
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧