亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于Kubernetes服務機制怎么理解

發布時間:2021-12-14 14:11:04 來源:億速云 閱讀:143 作者:iii 欄目:大數據

本篇內容主要講解“基于Kubernetes服務機制怎么理解”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“基于Kubernetes服務機制怎么理解”吧!

服務注冊

注冊中?作為一般的RPC/Web服務中的底層設施提供了服務進程元數據(IP, Port, Interface, Group,Method等)存儲,被Watch的功能,每個服務進程均需接?同?組持久化的K/V介質集群(?如: zookeeper,etcdv3等)。各進程均需將本進程的元數據存儲于注冊中?,并且能夠Watch到其他服務進程的元數據變化(包括創建,更新等)。

Kubernetes

Kubernetes作為容器集群化管理?案管理資源的維度可主觀的分為服務進程管理和服務接?管理。服務進程管理,主要體現?式為Pod設計模式加控制器模式,控制器保證具有特定標簽(Kubernetes-Label)的Pod保持在恒定的數量(多刪,少補)。服務接?管理,主要為Kubernetes-Service,該Service默認為具有特定標簽(KubernetesLabel)的Pod統?提供?個VIP(Kubernetes-ClusterIP)所有需要請求該組Pod的請求都會按照round-robin的負載策略轉發到真正提供服務的Pod。并且CoreDNS為該Kubernetes-Service提供集群內唯?的域名。

Service 與 RPC/Web服務存在的沖突點

  • Kubernetes-Service標準的資源對象具有的服務描述字段 中并未提供完整的服務進程元數據字段因此,?法直接使?Kubernetes-Service進?服務注冊與發現。

  • RPC/Web服務的服務注冊是基于每個進程的,每個服務進程均需進?獨?的注冊。

  • Kubernetes-Service默認為服務創建VIP,提供round-robin的負載策略也與RPC/Web服務?有的負載策略形成了沖突。

拋棄Service對象,選擇Pod對象進?注冊

  • Kubernetes-Service與RPC/Web服務現有架構的沖突導致RPC/Web服務在選擇服務注冊與發現的時候只能選擇放棄該資源對象。

  • RPC/Web服務既然選擇了每個RPC/Web服務進程獨?注冊,因此RPC/Web服務選擇將該進程具有的獨有的元數據寫?運?該RPC/Web服務進程的Pod在Kubernetes中的Pod資源對象的描述信息中。

  • 每個運?RPC/Web服務進程的Pod將本進程的元數據寫?Kubernetes-Pod Annotations字段。為了避免與其他使?Annotations字段的Operator或者其他類型的控制器(Istio)的字段沖突,使?Key為 app.io/annotation value為具體存儲的K/V對的數組的json編碼后的base64編碼。

樣例:

  apiVersion: v1kind: Podmetadata: annotations:    app.io/annotation: 5LiN55So55yL5LqG5bCx5piv5LiA5Liq5paH5pys5Y2P6K6u

由于每個RPC/Web服務的Pod均只負責注冊本進程的元數據,因此Annotations字段?度也不會因為運?RPC/Web服務進程的Pod數量增加?增加。

服務發現

解決掉了服務注冊問題,接下來需要解決的是服務發現的問題。Kubernetes Api-Server提供了Watch的功能,可以觀察特定namespace甚?整個集群內各類資源的變化。RPC/Web服務為了避免RPC/Web服務進程watch到與RPC/Web服務進程?關的Pod的變化,RPC/Web服務將watch的條件限制在當前Pod所在的namespace,以及 watch 具有 app.io/label Value為app.io-value 的Pod。在Watch到對應Pod的變化后實時更新本地Cache,并通過Registry提供的Subscribe通知建?在注冊中?之上的服務集群管理,或者其他功能。

?作流程

  • 啟動RPC/Web服務的Deployment或其他類型控制器使?Kubernetes Downward-Api將本Pod所在namespace通過環境變量的形式注?RPC/Web服務進程。

  • RPC/Web服務進程的Pod啟動后通過環境變量獲得當前的namespace以及該Pod名稱, 調?
    Kubernetes-Apiserver PATCH 功能為本Pod添加Key為app.io/label Value為app.io-value的label。

  • RPC/Web服務進程調?Kubernetes-Apiserver 將本進程的元數據通過PATCH接?寫?當前Pod的Annotations字段。

  • RPC/Web服務進程 LIST 當前namespace下其他具有同樣標簽的Pod,并解碼對應的Annotations字段獲取其他Pod的信息。

  • RPC/Web服務進程 WATCH 當前namespace下其他具有同樣標簽的Pod的Annotations的字段變化。

到此,相信大家對“基于Kubernetes服務機制怎么理解”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海丰县| 龙州县| 罗江县| 芷江| 伊宁市| 乐都县| 都匀市| 玛多县| 从化市| 阿拉善盟| 长阳| 图们市| 灵寿县| 巴东县| 科尔| 镇江市| 方城县| 苗栗市| 鄂托克前旗| 华亭县| 莫力| 乌苏市| 永寿县| 扎赉特旗| 潞城市| 武夷山市| 清流县| 双城市| 西丰县| 抚顺县| 大兴区| 凯里市| 讷河市| 沙湾县| 蒙阴县| 阿荣旗| 甘洛县| 揭东县| 武山县| 即墨市| 都匀市|