【Kubernetes】Service 的類型有哪些?ClusterIP、NodePort 和 LoadBalancer 的區別?

  • 在 Kubernetes 中,Service 是一種抽象的方式,用于將一組 Pod 進行連接并暴露給外部或集群內部訪問。
  • 它的主要目的是通過提供穩定的 IP 地址和端口來允許其他服務或客戶端與一組 Pod 進行通信。

Service 類型

Kubernetes 中 Service 有四種主要類型,分別是:

  1. ClusterIP (默認類型)
  2. NodePort
  3. LoadBalancer
  4. ExternalName

各種類型的區別

1. ClusterIP
  • 作用:這是默認的 Service 類型,主要用于集群內部的訪問。它為 Service 分配一個集群內的 IP 地址。
  • 訪問范圍:僅限于 Kubernetes 集群內部的其他 Pod 可以訪問該 Service,不能從外部直接訪問。
  • 適用場景:用于集群內部服務之間的通信,例如微服務架構中的內部通信。
  • 示例
    kind: Service
    apiVersion: v1
    metadata:name: my-service
    spec:type: ClusterIPselector:app: my-appports:- port: 80targetPort: 8080
    
2. NodePort
  • 作用:通過為每個 Node 分配一個端口號(NodePort)來暴露 Service,從而可以通過集群中任意 Node 的 IP 和指定端口訪問 Service。
  • 訪問范圍:可以從集群外部通過 <NodeIP>:<NodePort> 的方式訪問服務。通常會與 ClusterIP 配合使用,前者處理集群內部流量,后者則暴露端口給外部。
  • 適用場景:適用于需要從外部訪問 Kubernetes 集群內服務的場景,比如開發測試環境。
  • 示例
    kind: Service
    apiVersion: v1
    metadata:name: my-service
    spec:type: NodePortselector:app: my-appports:- port: 80targetPort: 8080nodePort: 30007  # 端口號通常在 30000-32767 之間
    
3. LoadBalancer
  • 作用:為 Service 提供一個外部負載均衡器(例如 AWS ELB、GCP Load Balancer 等)。當使用 LoadBalancer 類型時,Kubernetes 會自動請求云服務提供商來創建一個負載均衡器并將流量轉發到集群中的 Service
  • 訪問范圍:可以通過外部負載均衡器的 IP 地址或域名訪問集群中的 Service。
  • 適用場景:適用于需要高可用、可伸縮、并且從外部可以訪問的服務,如生產環境中的 Web 應用。
  • 示例
    kind: Service
    apiVersion: v1
    metadata:name: my-service
    spec:type: LoadBalancerselector:app: my-appports:- port: 80targetPort: 8080
    
4. ExternalName
  • 作用:通過一個 CNAME 記錄,將 Service 映射到外部的 DNS 名稱。這意味著該 Service 不會指向集群內的 Pod,而是指向外部的某個 DNS 記錄。
  • 訪問范圍:用于從 Kubernetes 集群內部訪問外部服務。
  • 適用場景:適用于需要將外部服務映射到集群內部的場景,例如訪問外部的數據庫或 API 服務。
  • 示例
    kind: Service
    apiVersion: v1
    metadata:name: my-service
    spec:type: ExternalNameexternalName: example.com  # 外部 DNS 名稱
    

總結:ClusterIP、NodePort 和 LoadBalancer 的區別

類型訪問范圍適用場景是否支持外部訪問使用場景例子
ClusterIP集群內部訪問集群內服務間的通信微服務之間的內部通信
NodePort集群內外訪問,外部通過 Node IP 和端口訪問需要從集群外部訪問服務測試環境或開發環境中訪問服務
LoadBalancer集群內外訪問,提供外部負載均衡器從外部訪問服務,需要高可用、負載均衡生產環境中需要外部訪問的 Web 應用
ExternalName外部 DNS 名稱映射將外部服務映射為 Kubernetes 內部服務訪問外部的數據庫或 API 服務

小結

  • ClusterIP:只限內部訪問,適合內部服務通信。
  • NodePort:允許外部通過指定端口訪問集群,適合開發測試環境。
  • LoadBalancer:提供外部負載均衡器,適合生產環境。
  • ExternalName:通過外部 DNS 名稱訪問服務,適合連接外部資源。

https://github.com/0voice

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

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

相關文章

MapReduce處理數據流程

&#xff08;一&#xff09;Shuffle MapReduce中的Shuffle過程指的是在Map方法執行后、Reduce方法執行前對數據進行分區排序的階段 &#xff08;二&#xff09;處理流程 1. 首先MapReduce會將處理的數據集劃分成多個split&#xff0c;split劃分是邏輯上進行劃分&#xff0c;…

OrioleDB: 新一代PostgreSQL存儲引擎

PostgreSQL 12 引入了可插拔式的表存儲方法接口&#xff0c;允許為不同的表選擇不同的存儲機制&#xff0c;例如用于 OLTP 操作的堆表&#xff08;HEAP、默認&#xff09;、用于 OLAP 操作的列式表&#xff08;Citus&#xff09;&#xff0c;以及用于超快速搜索處理的內存表。 …

電腦自動關機故障維修案例分享

電腦基本配置&#xff1a; C P U: AMD A10 9700 內存&#xff1a;8G 硬盤&#xff1a;金邦512G固態硬盤 主板&#xff1a;華碩 A320M-F 顯卡&#xff1a;集成&#xff08;核心顯卡&#xff09; 操作系統&#xff1a;Win10專業版 故障描述&#xff1a; 使用一段時間會黑屏…

JVM垃圾收集器相關面試題(1)

垃圾收集與內存管理摘要 一.核心垃圾收集算法對比 算法原理優點缺點適用場景標記-清除兩次遍歷&#xff08;標記存活對象→清除未標記對象&#xff09;實現簡單內存碎片化、雙遍歷效率低老年代&#xff08;結合整理&#xff09;標記-復制內存對半分&#xff0c;存活對象復制到…

棧(LIFO)算法題

1.刪除字符串中所有相鄰的重復字符 注意&#xff0c;我們需要重復處理&#xff0c;而不是處理一次相鄰的相同元素就結束了。對示例來說&#xff0c;如果只進行一次處理&#xff0c;結果為aaca&#xff0c;但是處理之后又出現了相鄰的重復元素&#xff0c;我們還得繼續處理&…

conda的基本使用及pycharm里設置conda環境

創建conda環境 conda create --name your_env_name python3.8 把your_env_name換成實際的conda環境名稱&#xff0c;python后邊的根據自己的需要&#xff0c;選擇python的版本。 激活conda環境 conda activate your_env_name 安裝相關的包、庫 conda install package_name …

Python基于深度學習的多模態人臉情緒識別研究與實現

一、系統架構設計 A[數據采集] --> B[預處理模塊] B --> C[特征提取] C --> D[多模態融合] D --> E[情緒分類] E --> F[系統部署] F --> G[用戶界面] 二、數據準備與處理 1. 數據收集 - 視頻數據&#xff1a;FER2013&#xff08;靜態圖像&#xff0…

synchronized與 Java內置鎖(未寫完)

文章目錄 一、 synchronized 關鍵字二、Java對象結構1. 對象頭2. 對象體3. 對齊字節4. 對象頭中的字段長度5. Mark Word 的結構信息6. 使用 JOL 工具查看對象的布局 三、Java 內置鎖機制3.1 內置鎖的演進過程1. 無鎖狀態2. 偏向鎖狀態3. 輕量級鎖狀態4. 重量級鎖狀態 一、 sync…

LLM(3): Transformer 架構

Transformer 架構是當前大語言模型的主力架構和基礎技術&#xff0c;本文以通俗易懂的方式&#xff0c;對此作簡要介紹。 1.4 介紹 Transformer 架構 大多數現代的大規模語言模型&#xff08;LLMs&#xff09;依賴于 Transformer 架構&#xff0c;這是一種在 2017 年的論文《…

11.【.NET 8 實戰--孢子記賬--從單體到微服務--轉向微服務】--微服務基礎工具與技術--Ocelot 網關--整合日志

網關作為微服務架構的入口&#xff0c;承載著各服務間的請求轉發與安全校驗&#xff0c;其日志信息尤為關鍵。通過整合網關日志&#xff0c;可以將分散在不同系統中的訪問記錄、錯誤提示和異常信息集中管理&#xff0c;為問題排查提供全景視角。在排查故障時&#xff0c;統一日…

88.HarmonyOS NEXT 性能監控與調試指南:構建高性能應用

溫馨提示&#xff1a;本篇博客的詳細代碼已發布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下載運行哦&#xff01; HarmonyOS NEXT 性能監控與調試指南&#xff1a;構建高性能應用 文章目錄 HarmonyOS NEXT 性能監控與調試指南&#xff1a;構建高性能應用1. 性能監…

012---狀態機的基本知識

1. 摘要 文章為學習記錄。主要介紹狀態機概述、狀態轉移圖、狀態編碼、狀態機寫法、狀態機代碼示例。 2. 狀態機概述 狀態機 &#xff08;Finite State Machine&#xff09;&#xff0c;也稱為同步有限狀態機&#xff0c;用于描述有先后順序或時序規律的事情。 “同步”&…

deepseek+kimi做ppt教程記錄

1.首先注冊deepseek和kimi deepseek官網&#xff1a;https://chat.deepseek.com/ kimi官網&#xff1a;https://kimi.moonshot.cn/ 以下以一篇工作總結報告為例 2.使用deepseek生成ppt大綱 讓deepseek生成kimi生成ppt所需要的內容時&#xff0c;需要注意提示詞內容&#xff0c;…

Java Module介紹

Java模塊系統自Java 9開始引入&#xff0c;旨在提供更強大的封裝機制、清晰的依賴關系定義以及可靠的配置。Java平臺本身也被模塊化了&#xff0c;提供了多個核心模塊以及其他用于支持不同功能的模塊。以下是一些重要的Java標準模塊&#xff1a; java.base - 這是最基礎的模塊…

SOME/IP:用Python實現協議訂閱、Offer、訂閱ACK與報文接收

文章目錄 前言一、代碼層次二、詳細代碼1. eth_scapy_sd.py2、eth_scapy_someip.py3、network_define.py4、packet_define.py5、unpack_define.py6、someip_controller.py 前言 1、需要pip安裝scapy庫 2、需要修改根據實際情況配置network_define.py 3、執行someip_controller…

【Linux內核系列】:文件系統收尾以及軟硬鏈接詳解

&#x1f525; 本文專欄&#xff1a;Linux &#x1f338;作者主頁&#xff1a;努力努力再努力wz &#x1f4aa; 今日博客勵志語錄&#xff1a; 世界上只有一種個人英雄主義&#xff0c;那么就是面對生活的種種失敗卻依然熱愛著生活 內容回顧 那么在之前的學習中&#xff0c;我們…

最新版Chrome瀏覽器加載ActiveX控件技術--allWebPlugin中間件一鍵部署瀏覽器擴展

allWebPlugin簡介 allWebPlugin中間件是一款為用戶提供安全、可靠、便捷的瀏覽器插件服務的中間件產品&#xff0c;致力于將瀏覽器插件重新應用到所有瀏覽器。它將現有ActiveX控件直接嵌入瀏覽器&#xff0c;實現插件加載、界面顯示、接口調用、事件回調等。支持Chrome、Firefo…

基于SpringBoot和MybatisPlus實現通用Controller

基于SpringBoot和MybatisPlus實現通用Controller&#xff0c;只需要創建實體類和mapper接口&#xff0c;單表增刪改查接口就已經實現&#xff0c;提升開發效率 1.定義通用controller package com.xian.controller;import cn.hutool.core.map.MapUtil; import com.baomidou.my…

Axure大屏可視化原型模板及素材:數據可視化的高效解決方案

數據可視化已成為企業決策、運營分析、市場洞察的重要工具。數據可視化大屏&#xff0c;作為數據展示和交互的直觀平臺&#xff0c;能夠實時呈現關鍵數據&#xff0c;幫助企業快速做出決策。Axure作為原型設計領域的領先工具&#xff0c;以其豐富的組件庫、強大的交互設計能力和…

YOLOE:實時查看任何事物

摘要 https://arxiv.org/pdf/2503.07465v1 目標檢測和分割在計算機視覺應用中得到了廣泛應用&#xff0c;然而&#xff0c;盡管YOLO系列等傳統模型高效且準確&#xff0c;但它們受限于預定義的類別&#xff0c;阻礙了在開放場景中的適應性。最近的開放集方法利用文本提示、視覺…