真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Cilium多集群詳細(xì)介紹

這篇文章主要介紹“Cilium多集群詳細(xì)介紹”,在日常操作中,相信很多人在Cilium多集群詳細(xì)介紹問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Cilium多集群詳細(xì)介紹”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

創(chuàng)新互聯(lián)是網(wǎng)站建設(shè)專家,致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營銷,專業(yè)領(lǐng)域包括成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、電商網(wǎng)站制作開發(fā)、微信平臺小程序開發(fā)、微信營銷、系統(tǒng)平臺開發(fā),與其他網(wǎng)站設(shè)計(jì)及系統(tǒng)開發(fā)公司不同,我們的整合解決方案結(jié)合了恒基網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗(yàn)和互聯(lián)網(wǎng)整合營銷的理念,并將策略和執(zhí)行緊密結(jié)合,且不斷評估并優(yōu)化我們的方案,為客戶提供全方位的互聯(lián)網(wǎng)品牌整合方案!

本文是對ClusterMesh(Cilium的多集群實(shí)現(xiàn))的深入研究。簡而言之,ClusterMesh 提供:

  • 通過隧道或直接路由,以本地性能對多個Kubernetes集群進(jìn)行Pod IP路由,而無需任何網(wǎng)關(guān)或代理。

  • 使用標(biāo)準(zhǔn)Kubernetes服務(wù)和coreDNS/kube-dns的透明服務(wù)發(fā)現(xiàn)。

  • 跨多個集群的網(wǎng)絡(luò)策略實(shí)施。 策略可以指定為Kubernetes NetworkPolicy資源或擴(kuò)展的CiliumNetworkPolicy CRD。

  • 透明加密,用于本地集群中的節(jié)點(diǎn)之間以及跨集群邊界的所有通信。

Cilium多集群詳細(xì)介紹

多集群功能以層為單位構(gòu)建,您可以選擇使用所有層,也可以僅選擇和使用所需的層。

用例

在深入研究實(shí)現(xiàn)細(xì)節(jié)之前,讓我們回顧一下連接多個Kubernetes集群的一些用例。

用例:高可用性

對于大多數(shù)人來說,高可用性是最明顯的用例。 此用例包括在多個區(qū)域(regions)或可用區(qū)(availability zones)中運(yùn)行Kubernetes集群,并在每個集群中運(yùn)行相同服務(wù)的副本。 一旦失敗,請求可以故障轉(zhuǎn)移到其他集群。 此用例中涵蓋的故障情形主要不是整個區(qū)域或故障域的完全不可用。 更可能的情況是一個集群中資源暫時不可用或配置錯誤導(dǎo)致無法在一個集群中運(yùn)行或擴(kuò)展特定服務(wù)。

用例:共享服務(wù)

基于Kubernetes的平臺的最初趨勢是構(gòu)建大型多租戶Kubernetes集群。 為每個租戶構(gòu)建單個集群或?yàn)椴煌悇e的服務(wù)構(gòu)建集群越來越普遍,例如, 不同級別的安全敏感度。 Cilium多集群詳細(xì)介紹但是,某些服務(wù)(如密鑰管理,日志記錄,監(jiān)控或DNS)通常仍在所有集群之間共享。 這避免了在每個租戶集群中維護(hù)這些服務(wù)的操作開銷。

此模型的主要動機(jī)是租戶集群之間的隔離,為了維持該目標(biāo),租戶集群連接到共享服務(wù)集群但未連接到其他租戶集群。

用例:拆分有狀態(tài)和無狀態(tài)服務(wù)

運(yùn)行有狀態(tài)或無狀態(tài)服務(wù)的操作復(fù)雜性是非常不同的。 無狀態(tài)服務(wù)易于擴(kuò)展,遷移和升級。 完全使用無狀態(tài)服務(wù)運(yùn)行集群可使集群保持靈活和敏捷。 從一個云提供商遷移到另一個云提供商非常簡單。

有狀態(tài)服務(wù)可能會引入潛在的復(fù)雜依賴鏈。 遷移服務(wù)通常涉及存儲遷移。 Cilium多集群詳細(xì)介紹

Pod IP 路由

pod IP路由是多集群能力的基礎(chǔ)。 它允許跨集群的pod通過其pod IP相互聯(lián)系。 Cilium可以在多種模式下運(yùn)行以執(zhí)行pod IP路由。 所有這些模式都能夠執(zhí)行多集群pod IP路由。

隧道模式

隧道模式將pod中發(fā)出的所有網(wǎng)絡(luò)數(shù)據(jù)包封裝在所謂的封包頭中。 封包頭可以包含VXLAN或Geneve幀。 然后通過標(biāo)準(zhǔn)UDP包頭傳輸該封裝幀。 該概念類似于VPN隧道。

  • 優(yōu)點(diǎn):pod IP在底層網(wǎng)絡(luò)上永遠(yuǎn)不可見。 網(wǎng)絡(luò)只能看到工作節(jié)點(diǎn)的IP地址。 這可以簡化安裝和防火墻規(guī)則。

  • 缺點(diǎn):所需的額外網(wǎng)絡(luò)標(biāo)頭將降低網(wǎng)絡(luò)的理論最大吞吐量。 確切的成本取決于配置的MTU,與使用MTU 9000的巨型幀相比,使用1500的傳統(tǒng)MTU時會更加明顯。

  • 缺點(diǎn):為了不消耗過多CPU,包括底層硬件在內(nèi)的整個網(wǎng)絡(luò)堆棧必須支持校驗(yàn)和和分段卸載,以計(jì)算校驗(yàn)和并在硬件中執(zhí)行分段,就像對“常規(guī)”網(wǎng)絡(luò)數(shù)據(jù)包所做的那樣。如今,這種卸載功能的可用性非常常見。

直接路由模式

Cilium多集群詳細(xì)介紹

在直接路由模式中,所有網(wǎng)絡(luò)數(shù)據(jù)包都直接路由到網(wǎng)絡(luò)。 這要求網(wǎng)絡(luò)能夠路由pod IP。 可以使用多個選項(xiàng)實(shí)現(xiàn)跨節(jié)點(diǎn)傳播pod IP路由信息:

  • 使用--auto-direct-node-routes選項(xiàng),這是通過kvstore的超輕量級路由傳播方法,如果所有工作節(jié)點(diǎn)共享一個單一的2層網(wǎng)絡(luò),該選項(xiàng)將起作用。 對于所有形式的基于云提供商的虛擬網(wǎng)絡(luò),通常都滿足此要求。

  • 使用kube-router集成運(yùn)行BGP路由守護(hù)進(jìn)程。

  • 使用任何其他路由守護(hù)進(jìn)程將路由注入標(biāo)準(zhǔn)Linux路由表(bird,quagga,…)

當(dāng)網(wǎng)絡(luò)不再理解pod IP時,網(wǎng)絡(luò)數(shù)據(jù)包地址需要偽裝。

  • 優(yōu)點(diǎn):減少的網(wǎng)絡(luò)數(shù)據(jù)包標(biāo)頭可以優(yōu)化網(wǎng)絡(luò)吞吐量和延遲。

  • 缺點(diǎn):整個網(wǎng)絡(luò)必須能夠路由pod IP,這會增加操作的復(fù)雜性。

混合路由模式

混合路由模式允許在可用時使用直接路由,這通常在本地集群或同一VPC中的其他集群中,而當(dāng)跨越VPC或云提供商時可以回退到隧道模式。 這可以限制操作復(fù)雜性并且允許僅在需要時支付優(yōu)化成本。

服務(wù)發(fā)現(xiàn)

Cilium的多集群模型的服務(wù)發(fā)現(xiàn)是使用標(biāo)準(zhǔn)的Kubernetes services 構(gòu)建的,旨在對現(xiàn)有的Kubernetes應(yīng)用程序部署完全透明:

apiVersion: v1
   kind: Service
   metadata:
     name: rebel-base
     annotations:
       io.cilium/global-service: "true"
   spec:
     type: ClusterIP
     ports:
     - port: 80
     selector:
       name: rebel-base
  • Cilium通過一個注釋io.cilium/global-service: "true" 來監(jiān)控Kubernetes服務(wù)和端點(diǎn)以及監(jiān)聽服務(wù)。 對于此類服務(wù),具有相同名稱和命名空間信息的所有服務(wù)將自動合并在一起,并形成跨集群可用的全局服務(wù)。

  • 根據(jù)標(biāo)準(zhǔn)Kubernetes運(yùn)行狀況檢查邏輯,任何到全局服務(wù)的ClusterIP的流量都將自動負(fù)載平衡到所有集群中的端點(diǎn)。

  • 每個集群繼續(xù)為每個服務(wù)維護(hù)自己的ClusterIP,這意味著Kubernetes和kube-dns / coredns不知道其他集群。 DNS服務(wù)器繼續(xù)返回僅在本地集群中有效的ClusterIP,Cilium將透明地執(zhí)行負(fù)載平衡。

  • 對于細(xì)粒度控制存在若干附加注釋,例如單向暴露或親和策略。

frontend-1到ClusterIP 30.1.1.1的所有流量將自動負(fù)載均衡到集群1 的后端pod IP[10.0.0.1,10.0.0.2]以及集群2的后端pod IP[20.0.0.1,20.0.0.2]。 每個集群將執(zhí)行本地后端實(shí)例的運(yùn)行狀況檢查,并在容器創(chuàng)建,銷毀或變得不健康時通知其他集群。

透明加密

Cilium 1.4中引入的透明加密與多集群兼容。確保使用公共密鑰配置所有集群中的所有節(jié)點(diǎn),如此節(jié)點(diǎn)之間的所有通信都會自動加密。

Cilium多集群詳細(xì)介紹

多集群的網(wǎng)絡(luò)策略

簡單版本是您從單個集群中熟悉的策略實(shí)施將簡單地?cái)U(kuò)展并跨集群工作。 由于策略是使用pod標(biāo)簽指定的,因此允許frontendbackend通信的策略將應(yīng)用于集群流量,就像流量跨越集群一樣。

Cilium不會跨集群自動傳播NetworkPolicy或CiliumNetworkPolicy。 用戶有責(zé)任將策略導(dǎo)入所有集群。 這是有意為之,因?yàn)檫@意味著每個集群都可以決定是否允許集群接收來自遠(yuǎn)程集群的通信或者發(fā)出到遠(yuǎn)程集群的通信。

允許特定集群的交叉路徑

可以僅建立適用于特定集群中的pod的策略。 集群名稱由Cilium表示為每個pod上的標(biāo)簽,允許匹配的集群名稱可以是endpointSelector或者是由toEndpointsfromEndpoints構(gòu)造的matchLabels標(biāo)簽:

apiVersion: "cilium.io/v2"
kind: CiliumNetworkPolicy
metadata:
  name: "allow-cross-cluster"
  description: "Allow x-wing in cluster1 to contact rebel-base in cluster2"
spec:
  endpointSelector:
    matchLabels:
      name: x-wing
      io.cilium.k8s.policy.cluster: cluster1
  egress:
  - toEndpoints:
    - matchLabels:
        name: rebel-base
        io.cilium.k8s.policy.cluster: cluster2

上面的示例策略將允許cluster1中的x-wing與cluster2中的rebel-base對話。 除非存在將通信列入白名單的附加策略,否則x-wing將無法與本地集群中的rebel-base通信。

與Istio多集群的關(guān)系

這兩個項(xiàng)目都是獨(dú)立的,但可以很好地相互補(bǔ)充。 組合Cilium和Istio多集群的常用方法是使用Cilium的多集群Pod IP路由層來滿足Istio多集群指南的以下要求:

每個集群中的所有pod CIDR必須可以相互路由。

此外,Cilium策略執(zhí)行功能可用于保護(hù)與Istio控制平面之間的通信,以及通過不支持的協(xié)議(如UDP或IPV6)保護(hù)sidecar的旁路嘗試,以及防止受損的sidecar代理。

還可以同時運(yùn)行全局Istio服務(wù)和Cilium全局服務(wù)。 所有Istio托管服務(wù)都可以獲得Cilium的全局服務(wù),因?yàn)樗鼈兛梢韵癯R?guī)服務(wù)一樣通過DNS發(fā)現(xiàn)。

到此,關(guān)于“Cilium多集群詳細(xì)介紹”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!


網(wǎng)站欄目:Cilium多集群詳細(xì)介紹
網(wǎng)站網(wǎng)址:http://weahome.cn/article/gjcsje.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部