kubernetes學習-概念5

服務(Service)

Kubernetes 中 Service 是 將運行在一個或一組?Pod?上的網絡應用程序公開為網絡服務的方法。

Kubernetes 中 Service 的一個關鍵目標是讓你無需修改現有應用以使用某種不熟悉的服務發現機制。 你可以在 Pod 集合中運行代碼,無論該代碼是為云原生環境設計的, 還是被容器化的老應用。 你可以使用 Service 讓一組 Pod 可在網絡上訪問,這樣客戶端就能與之交互。

如果你使用?Deployment?來運行你的應用, Deployment 可以動態地創建和銷毀 Pod。 在任何時刻,你都不知道有多少個這樣的 Pod 正在工作以及它們健康與否; 你可能甚至不知道如何辨別健康的 Pod。 Kubernetes?Pod?的創建和銷毀是為了匹配集群的預期狀態。 Pod 是臨時資源(你不應該期待單個 Pod 既可靠又耐用)。

每個 Pod 會獲得屬于自己的 IP 地址(Kubernetes 期待網絡插件來保證這一點)。 對于集群中給定的某個 Deployment,這一刻運行的 Pod 集合可能不同于下一刻運行該應用的 Pod 集合。

這就帶來了一個問題:如果某組 Pod(稱為“后端”)為集群內的其他 Pod(稱為“前端”) 集合提供功能,前端要如何發現并跟蹤要連接的 IP 地址,以便其使用負載的后端組件呢?

Kubernetes 中的 Service

Service API 是 Kubernetes 的組成部分,它是一種抽象,幫助你將 Pod 集合在網絡上公開出去。 每個 Service 對象定義端點的一個邏輯集合(通常這些端點就是 Pod)以及如何訪問到這些 Pod 的策略。

Service 所對應的 Pod 集合通常由你定義的選擇算符來確定。

如果你的工作負載使用 HTTP 通信,你可能會選擇使用?Ingress?來控制 Web 流量如何到達該工作負載。Ingress 不是一種 Service,但它可用作集群的入口點。 Ingress 能讓你將路由規則整合到同一個資源內,這樣你就能將工作負載的多個組件公開出去, 這些組件使用同一個偵聽器,但各自獨立地運行在集群中。

用于 Kubernetes 的?Gateway?API 能夠提供 Ingress 和 Service 所不具備的一些額外能力。 Gateway 是使用?CustomResourceDefinitions?實現的一系列擴展 API。 你可以添加 Gateway 到你的集群中,之后就可以使用它們配置如何訪問集群中運行的網絡服務。

云原生服務發現

如果你想要在自己的應用中使用 Kubernetes API 進行服務發現,可以查詢?API 服務器, 尋找匹配的 EndpointSlice 對象。 只要 Service 中的 Pod 集合發生變化,Kubernetes 就會為其更新 EndpointSlice。

對于非本地應用,Kubernetes 提供了在應用和后端 Pod 之間放置網絡端口或負載均衡器的方法。

定義 Service

Kubernetes 中的 Service 是一個對象?(與 Pod 或 ConfigMap 類似)。你可以使用 Kubernetes API 創建、查看或修改 Service 定義。 通常你會使用?kubectl?這類工具來替你發起這些 API 調用。

你可以定義一個 Service 來發布該 TCP 偵聽器。

apiVersion: v1
kind: Service
metadata:name: my-service
spec:selector:app.kubernetes.io/name: MyAppports:- protocol: TCPport: 80targetPort: 9376

系統將創建一個名為 "my-service" 的、?服務類型默認為 ClusterIP 的 Service。 該 Service 指向帶有標簽?app.kubernetes.io/name: MyApp?的所有 Pod 的 TCP 端口 9376。

Kubernetes 為該服務分配一個 IP 地址(稱為 “集群 IP”),供虛擬 IP 地址機制使用。?

此 Service 的控制器不斷掃描與其選擇算符匹配的 Pod 集合,然后對 Service 的 EndpointSlice 集合執行必要的更新。

Service 能夠將任意入站?port?映射到某個?targetPort。 默認情況下,出于方便考慮,targetPort?會被設置為與?port?字段相同的值。

端口定義

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/161033.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/161033.shtml
英文地址,請注明出處:http://en.pswp.cn/news/161033.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

nginx使用詳解:轉發規則、負載均衡、server_name

文章目錄 一、nginx常用的轉發規則location 指令說明location轉發使用 二、upstream負載均衡使用三、server_name使用四、其他常用配置限制請求類型處理靜態資源目錄遍歷問題限制客戶端使用的ip或者域名 五、需要注意的地方location /api1 探討location ~ /api1 探討&#xff0…

DataFunSummit:2023年OLAP引擎架構峰會-核心PPT資料下載

一、峰會簡介 OLAP技術是當前大數據領域的熱門方向,該領域在各個行業都有廣泛的使用場景,對OLAP引擎的功能有豐富多樣的需求。同時,在性能、穩定性和成本方面,也有諸多挑戰。目前,OLAP技術沒有形成統一的事實標準&…

redis性能管理

redis的數據庫是存放在內存當中,所以對內存的監控至關重要 redis內存監控和解析 1.如何查看redis內存使用情況 [rootlocalhost utils]# redis-cli -h 20.0.0.170 -p 6379 20.0.0.170:6379> info memory used_memory:853336 //redis中數據占用的內存 use…

觸發設備離線

業務場景 業務開發過程中,我們經常會需要判斷遠程終端是否在線,當終端離線的時候我們需要發送消息告知相應的系統, 環形隊列 1.創建一個index從0到30的環形隊列(本質是個數組) 2.環上每一個slot是一個Set&#xf…

python 執行系統命令

subprocess 模塊和 os.system 或 os.popen 等函數相比,功能更為強大和靈活,是 Python 官方推薦的執行系統命令的方法。主要的優勢包括: 更強的錯誤處理:subprocess 模塊可以更精細地控制錯誤輸出和錯誤代碼,而 os.syst…

自定義springboot的生命周期函數在項目啟動完成后去取配置文件中的值

主要是實現smartLifecycle類 package com.ruoyi.workflow.util;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.ApplicationContext; import org.springfr…

MYSQL索引使用注意事項

索引使用注意事項: 1.索引列運算 不要在索引列上進行運算操作,否則索引將失效; 2.字符串不加引號 字符串類型使用時,不加引號,否則索引將失效; 3.模糊查詢 如果僅僅是尾部模糊匹配,索引將不會失…

防火墻暴露端口

如果你想開通防火墻上的端口,具體的操作方式可能會取決于你所使用的操作系統。以下是一些常見操作系統的步驟: 1. Linux(例如,Ubuntu 或 CentOS): 使用 ufw(適用于 Ubuntu): # 開…

RK平臺查看板子上的dts信息

簡介 dts文件描述了硬件每個模塊的信息,我們嵌入式軟件的調試很多時候都是在改dts文件,有時候我們不確定板子上的固件是否已經更新了我們的修改,這時候我們可以直接讀取板子上的dts信息,下面來演示一下。 進入uboot命令行模式 …

關于軟raid的實現及常見問題

RAID概念 磁盤陣列(Redundant Arrays of Independent Disks,RAID),有“獨立磁盤構成的具有冗余能力的陣列”之意。 磁盤陣列是由很多價格較便宜的磁盤,以硬件(RAID卡)或軟件(MDADM&…

關于用css設置input輸入框hover的時候的樣式以及當input為disabled的時候,不要讓hover樣式生效

效果如果&#xff1a; 編輯狀態下的時候&#xff1a; 只讀狀態下的時候&#xff1a; 代碼如圖&#xff1a; <input type"text" name"dataForm.exportCode" id"exportCodeItem" required :disabled"editDisabled" />input:not(…

【前端學java】語法練習-工具類的封裝(13)

往期回顧&#xff1a; 【前端學java】JAVA開發的依賴安裝與環境配置 &#xff08;0&#xff09;【前端學 java】java的基礎語法&#xff08;1&#xff09;【前端學java】JAVA中的packge與import&#xff08;2&#xff09;【前端學java】面向對象編程基礎-類的使用 &#xff08…

java.net.UnknownHostException: eureka

java.net.UnknownHostException: eureka 哦。HOST漏了 #linux /etc/hosts #windows C:\Windows\System32\drivers\etc\hosts 127.0.0.1 eureka7000 127.0.0.1 eureka7001 127.0.0.1 eureka7002

maven打包可執行jar含依賴lib

修改pom.xml <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><!-- jdk8可用&#xff0c;其他jdk版本可能需改插件版本 --><version>2.3.7.RE…

sql調優

慢查詢 SQL 治理方案 一、SQL 性能下降的原因 在對 SQL 進行分析之前&#xff0c;需要明確可能導致 SQL 執行性能下降的原因進行分析&#xff0c;執行性能下降可以體現在很多方面&#xff1a; 查詢語句寫的爛索引沒加好表數據過大數據庫連接數不夠查詢的數據量過大被其他慢s…

MyBatisPlus代碼生成

基礎依賴 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.…

visual studio 如何建立 C 語言項目

安裝這個 模塊。 新建 空項目 創建完成 寫demo 點擊運行&#xff1a;

【1day】泛微e-office OA系統user_page接口未授權訪問漏洞學習

注:該文章來自作者日常學習筆記,請勿利用文章內的相關技術從事非法測試,如因此產生的一切不良后果與作者無關。 目錄 一、漏洞描述 二、影響版本 三、資產測繪 四、漏洞復現

Web項目從Tomcat遷移到TongWeb

注意事項 1. 使用JNDI方式獲取數據源&#xff1a; ①在TongWeb創建JDBC連接池; ②修改Web項目數據源配置. #spring.datasource.urljdbc:mysql://127.0.0.1:3306/demo #spring.datasource.usernametest #spring.datasource.passwordspring.datasource.jndi-namedemo2. 修…