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

溫馨提示×

溫馨提示×

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

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

怎么使用Kubernetes服務暴露app

發布時間:2022-01-04 14:10:06 來源:億速云 閱讀:158 作者:iii 欄目:云計算

本篇內容介紹了“怎么使用Kubernetes服務暴露app”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

Kubernetes服務概述

Kubernetes Pods 是會掛掉的。 Pods 實際上是有生命周期的。 當一個工作節點死亡時,運行在該節點上的 Pods也會丟失。 ReplicaSet能通過創建新的pod來動態地將集群恢復到所需狀態,以保持應用程序運行。 另一個例子是,考慮一個帶有3個副本的圖像處理后端。 這些副本是可以交換的; 前端系統不應該關心后端副本,甚至不應該關心Pod丟失和重新創建。 也就是說,Kubernetes集群中的每個Pod都有一個惟一的IP地址,甚至是同一個節點上的Pod,因此需要一種自動協調Pod之間更改的方法,以便您的應用程序繼續運行。

Kubernetes中的服務是一個抽象概念,它定義了一組邏輯Pods和訪問它們的策略。 服務支持獨立的Pods之間的松散耦合。 服務是使用YAML (preferred) 或JSON定義的,就像所有Kubernetes對象一樣。 服務所針對的pod集合通常由標簽選擇器決定。

雖然每個Pod都有一個惟一的IP地址,但是如果沒有服務,這些IP不會暴露在集群之外。 服務允許應用程序接收流量。 通過在ServiceSpec中指定類型,可以以不同的方式公開服務:

ClusterIP(默認) -- 在集群中的內部IP上暴露服務。 這種類型使得服務只能從集群內部訪問。

NodePort -- 使用NAT在集群中每個選定節點的相同端口上暴露服務。 使用 <NodeIP>:<NodePort> 讓服務可以從集群外部訪問。 Superset of ClusterIP.

LoadBalancer -- 在當前云中創建一個外部負載均衡器(如果支持),并向服務分配一個固定的外部IP。 Superset of NodePort.

ExternalName -- 通過返回帶有名稱的CNAME記錄,使用任意名稱(由規范中的externalName指定)暴露服務。 不使用代理。 這種類型需要v1.7或更高的 kube-dns

關于不同類型的服務的更多信息可以在使用源IP教程中找到。 也請看 Connecting Applications with Services.

另外,請注意,有些服務用例沒有在 spec 中定義 selector 。 沒有 selector 的服務被創建時也不會創建相應的端點對象。 這允許用戶手動將服務映射到特定的端點。 沒有選擇器的另一種可能是您嚴格使用type: ExternalName。

服務和標簽

怎么使用Kubernetes服務暴露app

服務在一組 Pods 之間路由流量。 服務是一種抽象,它允許pod死亡并且在Kubernetes中存在多復本而不會影響應用程序。 依賴于 Pods (如應用程序中的前端和后端組件)之間的發現和路由是由Kubernetes服務處理。 服務使用標簽和選擇器匹配一組pod,選擇器是允許對Kubernetes中的對象進行邏輯操作的分組原語。 標簽是附加到對象上的 key/value對,可以以任何方式使用:

  • 為開發、測試和生產指定對象

  • 嵌入版本標記

  • 使用標記對對象進行分類

怎么使用Kubernetes服務暴露app

標簽可以在創建時或以后附加到對象上。 它們可以隨時被修改。 可以使用下面的環境練習服務暴露。

  1. kubectl get 命令可以查看現有的Pods: kubectl get pods

  2. kubectl get services命令可以查現有的服務: kubectl get services 命令結果可以看到有一個名為kubernetes的服務,它是在minikube啟動集群時默認創建的。

  3. 要創建一個新服務并將其公開給外部流量,我們將使用帶有NodePort參數的expose命令 (minikube還不支持LoadBalancer選項): kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port 8080 ,接著再運行kubectl get services查看服務。 我們現在有一個正在運行的服務叫做kubernetes-bootcamp。 在這里,我們看到服務接收到一個惟一的集群ip、一個內部端口和一個外部ip ( 節點的IP )。

  4. 為了查明外部打開了哪個端口(通過NodePort選項),我們將運行describe service命令 : kubectl describe services/kubernetes-bootcamp

  5. 創建一個名為 NODE_PORT的環境變量,該變量具有指定的節點端口的值 : export NODE_PORT=$(kubectl get services/kubernetes-bootcamp -o go-template='{{(index .spec.ports 0).nodePort}}');echo "NODE_PORT=$NODE_PORT"

  6. 現在,我們可以使用curl、節點的IP和外部公開的端口測試應用程序是否在集群外部公開 curl $(minikube ip):$NODE_PORT

“怎么使用Kubernetes服務暴露app”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

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

AI

西宁市| 永福县| 谢通门县| 北辰区| 定日县| 紫阳县| 田阳县| 天津市| 永丰县| 大英县| 正蓝旗| 于都县| 平武县| 临泽县| 南投县| 临江市| 钟祥市| 武夷山市| 襄城县| 临湘市| 嘉祥县| 阿瓦提县| 千阳县| 万州区| 达州市| 孟津县| 锡林浩特市| 吉林市| 阿克| 公安县| 孙吴县| 拉孜县| 云霄县| 桑日县| 铜山县| 绿春县| 定远县| 泸州市| 酒泉市| 锡林浩特市| 会同县|