中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

kubernetes中Service是什么

發布時間:2021-12-24 15:55:06 來源:億速云 閱讀:150 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“kubernetes中Service是什么”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“kubernetes中Service是什么”這篇文章吧。

一:Service概念
kubernetes中Service是什么

Kubernetes里的每個Service其實就是微服務架構中的一個微服務。 它產生的背景在于:一是Pod的IP地址不是固定的,需要一個代理來確保需要使用Pod的應用不需要知道pod的真實IP地址;另一個是RC創建多個Pod副本時,需要一個代理來為這些pod做負載均衡

Service 主要由一個IP地址和一個label selector組成。

Service定義了一個服務的訪問入口地址,前端的應用通過這個入口地址訪問其背后的一組由Pod副本組成的集群實例。Service與其后端Pod副本集群直接則是通過Label Selector來實現無縫對接的。而RC的作用實際上是保證Service的服務能力和服務質量始終處于預期的標準。

二:Service工作原理

Kubernetes集群的每個節點上都運行著一個kube-proxy,它是負責整個Service實現的主要組件。

對應每個Service(無論其Pod 是否在該節點上),kube-proxy都會在宿主機上監聽一個端口與Service對應起來。它會在宿主機上建立iptables規則。 Service請求經過iptables重定向到它對應的隨機端口,再經過kube-proxy的代理到某個后端pod.  kube-proxy里會維護端口和Service的映射關系,以及Service代理的Pod清單。

kube-proxy還會實時監測Master節點上etcd中service和Endpoints對象的增加和刪除信息,從而保證后端被代理pod的IP和端口變化可以及時更新到它維護的路由信息中。

三:Service發現機制

一旦一個Service被創建,該Service的信息都可以被注入到Pod中工他們使用。

環境變量方式: kubelet創建pod時會自動添加所有可用的service環境變量到該pod中,如果有需要,這些環境變量就被注入pod內的容器里。

DNS方式:DNS服務器使用kubernetes的WatchAPI,不間斷地監測新Service的創建并為每個Service新建一個DNS記錄。如果DNS在整個集群范圍內都可用,那么所有的Pod都能夠自動解析Service的域名。

四:Service外部訪問

Node IP:Node節點的IP地址。每個節點的物理網卡的IP地址,這是一個真實存在的物理網絡。Kubernetes集群之外的節點訪問集群之內的某個節點或者TCP/IP服務的時候,必須通過Node IP進行通信。

Pod IP:每個Pod的IP地址,它是Docker Engine 根據docker0網橋的IP地址段進行分配的。通常是一個虛擬的二層網絡。kubernetes要求位于不同Node上的Pod能夠彼此直接通信,所有Kubernetes里一個pod里的容器訪問另外一個Pod里的容器,就是通過pod ip所在的虛擬二層網絡進行通信的,而真實的tcp/ip流量則是通過node ip所在的物理卡流出的。

Cluseter IP: 一個虛擬的IP 僅僅作用域Service這個對象,由kubernetes管理和分配IP地址。 它是無法ping通的。只能結合Service Port組成一個具體的通信端口,她屬于kubernetes集群這樣一個封閉的空間。集群之外的節點如果要訪問這個通信端口,則需要做一些額外的工作。

采用NodePort解決外部對集群內服務的訪問時最直接,最有效,最常用的方法。

NodePort的實現方式是在k8s集群里的每個Node上為需要外部訪問的service開啟一個對應的TCP監聽端口,外部系統只要用任意一個Node的IP地址+具體的Node Port端口號即可訪問此服務。

但NodePort還沒有完全解決外部訪問Service的所有問題,比如負載均衡問題,假如我們集群中有10個Node,則此時最好有一個負載均衡器,外部只需要訪問此負載均衡器的IP地址,由負載均衡器轉發流量到后面某個Node的NodePort上。

負載均衡器可以采用硬件或軟件(HAProxy,Nginx)的方式來實現。但這樣又帶來了另外一個問題,對于每個Service都需要手動配置一個對應的負載轉發實例。

以上是“kubernetes中Service是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

太和县| 文登市| 大石桥市| 十堰市| 岳西县| 澜沧| 济南市| 苗栗县| 峨眉山市| 霍林郭勒市| 珠海市| 陕西省| 安徽省| 漳州市| 临澧县| 宁强县| 乐至县| 盐源县| 长武县| 郁南县| 鹰潭市| 调兵山市| 临颍县| 清流县| 宜春市| 平遥县| 庆元县| 罗源县| 顺昌县| 南郑县| 临海市| 九江县| 曲松县| 汉川市| 海门市| 贞丰县| 禹城市| 天等县| 高阳县| 沙坪坝区| 伽师县|