国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

集群里跑了上百個 Pod,我該怎么訪問它們?——深入理解 K8S Service

運維
在生產環境中,Service 不僅可以幫助實現服務間的可靠通信,還能為外部用戶提供負載均衡和高可用的訪問入口。

一、相關概念

1. 什么是Service?

在 Kubernetes 中,Service 是一種抽象的資源,它提供了穩定的訪問接口,將外部或集群內部的流量路由到對應的 Pod 上。 Pod 是 Kubernetes 中的基本調度單元,但它們是臨時的,IP 地址和生命周期都可能發生變化。Service 為 Pod 提供一個穩定的訪問方式,解決了 Pod 的動態 IP 問題。

Kubernetes 的 Service 有幾種不同的類型,能夠幫助我們根據不同的需求將服務暴露給外部用戶或者集群內部的其他服務。

2. Service的核心概念

(1) Pod 和 Service

在 Kubernetes 中,Pod 是部署應用的基本單位。每個 Pod 都會有一個 IP 地址,但這個 IP 地址只在 Pod 生命周期內有效。當 Pod 被銷毀、重建或調度到其他節點時,Pod 的 IP 地址會發生變化。這使得直接依賴 Pod IP 地址來訪問服務變得不可行。

Service 解決了這個問題,它為一組 Pod 提供一個穩定的訪問入口,不會隨著 Pod 的變化而變化。Service 將流量路由到匹配標簽的 Pod 上,并為客戶端提供一個固定的 IP 地址和 DNS 名稱來訪問這些 Pod。

(2) Service 和 Endpoints

Endpoints 是與 Service 關聯的資源,它記錄了與該 Service 匹配的 Pod 的 IP 地址。當 Service 創建時,Kubernetes 會根據標簽選擇器(selector)找到符合條件的 Pod,并自動生成 Endpoints,確保流量能夠正確地路由到這些 Pod。

容易混淆的幾個端口的關系:

3. Service 類型

Kubernetes 提供了幾種不同的 Service 類型,適應不同的網絡通信需求。每種類型都有自己的特性和應用場景。

(1) ClusterIP(默認類型)

功能:ClusterIP 類型的 Service 只能在集群內部訪問,外部無法直接訪問該服務。它為服務分配一個虛擬 IP 地址(ClusterIP),客戶端通過該 IP 與服務進行通信。

用途:適用于集群內部的微服務通信,常見于服務間通信。

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: my-app  # 選擇標簽為 app=my-app 的 Pod
  ports:
    - protocol: TCP
      port: 80        # 服務對外暴露的端口
      targetPort: 8080  # 實際服務運行的 Pod 端口
  clusterIP: 10.96.0.1  # Kubernetes 自動分配 ClusterIP

這個 Service 會將請求轉發到符合條件的 Pod 上(標簽為 app=my-app)。 訪問該服務時,Kubernetes 會自動通過虛擬 IP 地址 10.96.0.1 來路由流量。

(2) NodePort

功能:NodePort 類型的 Service 將服務暴露到每個 Node 上的指定端口,外部客戶端可以通過訪問任意 Node 的 IP 地址和指定端口來訪問該服務。

用途:適用于開發和測試場景,或者希望通過某個特定端口暴露服務的場景。

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: my-app
  ports:
    - protocol: TCP
      port: 80         # 外部客戶端訪問的端口
      targetPort: 8080  # Pod 上的目標端口
      nodePort: 30001    # 每個 Node 暴露的端口
  type: NodePort

在這個例子中,nodePort 為 30001,可以通過集群中任意一個節點的 NodeIP:30001 訪問服務。nodePort也可以不指定,會隨機生成。

(3) LoadBalancer

功能:LoadBalancer 類型的 Service 會在云環境中創建一個外部負載均衡器,將外部流量自動分發到集群中的多個 Pod 上。

用途:適用于需要對外暴露服務,并且需要自動負載均衡的生產環境。

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: my-app
  ports:
    - protocol: TCP
      port: 80         # 外部訪問的端口
      targetPort: 8080  # Pod 上的目標端口
  type: LoadBalancer

創建該 Service 后,Kubernetes 會自動請求云平臺(如 AWS、阿里云,華為云)創建一個負載均衡器,將流量轉發到集群中的 Pod 上。

(4) ExternalName

功能:ExternalName 類型的 Service 將流量路由到外部的 DNS 名稱,而不是內部的 Pod。

用途:適用于需要訪問集群外部服務(如外部數據庫或第三方 API)的場景。

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  type: ExternalName
  externalName: example.com  # 外部服務的 DNS 名稱

在這種配置下,my-service 將請求轉發到 example.com,而不是集群內部的 Pod。

二、Service 工作原理

(1) Pod 的 IP 和生命周期管理

每個 Pod 都有一個自己的 IP 地址,當 Pod 被刪除或重新調度時,IP 地址會發生變化。Kubernetes 會監控這些變化,并確保流量能夠正確地轉發到新的 Pod 上。

(2) 標簽選擇器

Service 通過標簽選擇器來匹配需要暴露的 Pod。當 Service 創建時,Kubernetes 會根據該標簽選擇器找到所有匹配的 Pod,并通過 Endpoints 記錄它們的 IP 地址。

(3) DNS 解析

Kubernetes 會為每個 Service 分配一個 DNS 名稱,Pod 可以通過 DNS 名稱訪問 Service,而不需要關心具體的 IP 地址。這使得服務發現變得非常容易。

三、Service常用操作

(1) 創建service

# 命令行創建,通過暴露deployment創建Service
kubectl expose deployment <deployment-name> --type=<service-type> --port=<port> --target-port=<target-port>

kubectl expose deploy nginx  --port=80 --target-port=80  --type=NodePort

# 基于yaml文件創建
# 創建Service資源清單
apiVersion: v1
kind: Service
metadata:
  name: nginx
spec:
  selector:
    app: nginx
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
      nodePort: 30080  # 指定節點上的端口
type: type: NodePort

# 創建
kubectl apply -f service.yaml

(2) 查看service

# 查看所有service信息
kubectl get svc
kubectl get svc -o wide -n prod

# 查看指定service的詳細信息
kubectl get svc nginx -o yaml -n prod
kubectl describe svc nginx -n prod

# 查看Service的endpoint信息
kubectl get endpoints <service-name>
kubectl get ep nginx

(3) 編輯更新Service

注意:修改后,service會立即重啟

kubectl edit service <service-name> 
  
kubectl edit svc nginx -n prod

# 更新端口
kubectl patch service my-service -p '{"spec":{"ports":[{"port":80,"targetPort":8081}]}}'

(4) 刪除Service

# 命令行刪除
kubectl delete svc <service-name>

kubectl delete svc nginx

# 基于yaml文件刪除
kubectl delete -f service.yaml

Service為 Pod 提供了穩定的訪問入口,解決了 Pod 生命周期變化帶來的網絡問題。通過不同類型的 Service(如 ClusterIP、NodePort、LoadBalancer 和 ExternalName),Kubernetes 可以滿足各種網絡通信需求。

在生產環境中,Service 不僅可以幫助實現服務間的可靠通信,還能為外部用戶提供負載均衡和高可用的訪問入口。

Service提供4層的代理,基于 TCP/UDP 端口 轉發流量;,而七層的代理主要是通過Ingress實現,可以根據 域名、URL 路徑、Header 等內容 進行轉發。后續會進行詳細講解。

責任編輯:趙寧寧 來源: 運維李哥不背鍋
相關推薦

2025-01-03 09:07:51

2013-07-23 16:43:28

Android開源項目

2022-12-28 10:52:34

Etcd備份

2023-08-03 08:36:30

Service服務架構

2023-07-04 07:30:03

容器Pod組件

2013-07-31 10:04:42

hadoopHadoop集群集群和網絡

2012-08-31 10:00:12

Hadoop云計算群集網絡

2012-11-08 14:47:52

Hadoop集群

2024-12-06 08:00:00

K8s

2020-12-07 10:21:39

漏洞Google Play攻擊

2023-03-05 21:50:46

K8s集群容量

2023-09-03 23:58:23

k8s集群容量

2022-08-18 15:08:16

智能AI

2022-11-02 10:21:41

K8s pod運維

2020-09-02 13:51:12

K8S項目日志

2020-07-21 08:26:08

SpringSecurity過濾器

2010-06-01 15:25:27

JavaCLASSPATH

2016-12-08 15:36:59

HashMap數據結構hash函數

2022-02-22 10:30:49

Kubernetes集群

2020-06-23 14:33:52

惡意軟件谷歌監控活動
點贊
收藏

51CTO技術棧公眾號

欧美精品自拍偷拍| 久久99精品国产麻豆不卡| 国产区在线观看| 亚洲成a人片77777在线播放| 亚洲欧洲av一区二区三区久久| 久久九九免费视频| 黄在线免费看| 色网综合在线观看| aaaaaaa大片免费看| 99久久久精品免费观看国产蜜| 色爱av美腿丝袜综合粉嫩av| 欧美,日韩,国产在线| 亚洲欧美高清| 亚洲视频在线观看| www.日本三级| 免费日韩一区二区三区| 久久影视电视剧免费网站清宫辞电视| 成人羞羞国产免费网站| 国产999精品久久| 欧美福利视频在线| 尤物视频在线观看| 亚洲精品成人精品456| 97在线资源站| 国产写真视频在线观看| 91成人在线精品| 满满都是荷尔蒙韩剧在线观看| 亚洲午夜精品在线| 亚洲男人天堂| 欧美日韩黄色一区二区| 在线看一级片| 亚洲欧美资源在线| 国产999精品在线观看| 欧美大片在线看免费观看| 老司机精品在线| 欧美中文字幕在线播放| 国产高清一区| 日韩精品久久久久久久玫瑰园| 18免费在线视频| 99免费精品视频| 欧美二区在线视频| 久久久久久久网| 成人自拍性视频| 小说区亚洲自拍另类图片专区| 日韩免费看网站| 大香伊人中文字幕精品| 中文字幕亚洲专区| 日韩成人av在线资源| 国产精品三级久久久久久电影| 青青草视频在线免费直播| 欧美精品一区二区三区久久久| 天堂资源在线| 久久久人成影片一区二区三区观看| 国产一区二区电影在线观看| 亚洲精品久久久久久久久| 国产女女做受ⅹxx高潮| 国产精品视频你懂的| 老司机在线免费视频| 亚洲一区日本| 青草全福视在线| 亚洲国产一区二区在线观看| 久久青青草综合| av午夜一区麻豆| 美女激情网站| 日韩欧美另类在线| 136导航精品福利| 成人av中文| 日韩电影在线观看完整免费观看| 亚洲综合中文字幕在线观看| 亚洲精品一区二区三区在线| 91精品美女在线| 日本伊人久久| 国产一区喷水| 九九精品久久| 久久久影院一区二区三区 | 亚洲美女视频网站| 欧美男男同志| 日本一区二区动态图| 国产精品秘入口| 日韩亚洲综合在线| 亚洲第一区色| 天天爱天天做色综合| 精品成a人在线观看| 久久成人高清| 极品美女扒开粉嫩小泬| 欧美日韩日日夜夜| 国产区精品区| 日本精品一区在线观看| 91精品国产91综合久久蜜臀| 国产91精品对白在线播放| 亚洲精品偷拍视频| 性色av一区二区怡红| 国产精品人人妻人人爽人人牛| 在线不卡a资源高清| 青青视频在线观| 亚洲超碰精品一区二区| 欧美男男tv网站在线播放| 欧美一级搡bbbb搡bbbb| 里番精品3d一二三区| 秋霞在线一区二区| 美女精品自拍一二三四| 四虎永久在线| 欧美麻豆久久久久久中文 | 亚洲午夜精品久久久久久人妖| 亚洲成人av中文| 亚洲国产一区二区在线播放| 日韩avvvv在线播放| 欧美激情精品久久久| 久久免费国产| 性xxxx丰满孕妇xxxx另类| 社区色欧美激情 | 精品88久久久久88久久久| 99视频有精品高清视频| 国产999精品视频| caoporn97在线视频| 国产成人高清激情视频在线观看| 国产麻豆日韩欧美久久| 91免费国产精品| 欧美视频一二三区| 国产一区二区三区网| 日本新janpanese乱熟| 国产一区二区三区久久精品| 国内精品久久久久久久影视蜜臀| 裸体av在线| 人体精品一二三区| 一区二区中文视频| 欧美福利在线播放网址导航| 欧美日韩在线一| 亚洲精品综合精品自拍| 久久精品天堂| 久操免费在线| 久草精品电影| 在线不卡中文字幕| 欧美日一区二区在线观看 | 色噜噜一区二区| 日韩成人av在线| 不卡福利视频| 日韩欧美在线播放| lutube成人福利在线观看| 国产精品极品美女在线观看免费 | 国产自产高清不卡| 手机在线免费av| 亚洲美女动态图120秒| 日韩电影在线看| 妞干网在线观看视频| 亚洲乱码中文字幕| 久久精品国产99久久| 91天堂在线观看| 在线精品视频免费观看| 欧美日韩1区| 3d成人动漫在线| 蜜桃视频在线观看91| 久久精品国产亚洲高清剧情介绍 | 大白屁股一区二区视频| 免费在线观看亚洲视频| 久久夜色精品国产| 中文字幕精品三区| 精品视频日韩| 日本激情在线观看| 亚洲AV无码成人精品一区| 色偷偷88888欧美精品久久久| 国产午夜一区二区三区| 国产日韩精品在线看| 97超级碰碰| 日韩美女主播在线视频一区二区三区| 久久99精品网久久| 韩国三级成人在线| 濑亚美莉一二区在线视频| 国产精品一区二区三区不卡| 亚洲国产精品va在线看黑人动漫| 国产成人亚洲综合色影视| 波多野结衣欧美| 九色在线播放| 九九热视频这里只有精品| 综合电影一区二区三区 | 亚洲精品影视| 韩日一区二区| 成人国产精品av| 日韩一级在线观看| 成人在线视频一区二区| 亚洲区小说区| 呦呦在线视频| 国产福利在线免费| 久久偷看各类wc女厕嘘嘘偷窃| xxx欧美精品| 在线精品国精品国产尤物884a| 高清在线不卡av| 日韩精品影视| 久久久一本精品| 欧美日韩激情视频一区二区三区| 玖玖精品在线视频| 国产精品自产拍在线观看| 欧美精品一区二区三区四区| 成人欧美一区二区三区黑人麻豆| 久热综合在线亚洲精品| jizz性欧美23| 岛国片av在线| 亚洲校园欧美国产另类| 国内外成人激情视频| 久久久7777| 国产精品91免费在线|