亚洲精品亚洲人成人网_免费看日韩精品_6080日韩午夜伦伦午夜伦_欧美日韩一区久久_国产精品电影一区_一道本成人在线_日产国产欧美视频一区精品_69视频在线播放_久久久久亚洲蜜桃_亚洲国产你懂的

首頁>國內 > 正文

k8s入門到實戰(zhàn)--跨服務調用

2023-09-08 09:25:57來源:crossoverJie

背景

在做傳統(tǒng)業(yè)務開發(fā)的時候,當我們的服務提供方有多個實例時,往往我們需要將對方的服務列表保存在本地,然后采用一定的算法進行調用;當服務提供方的列表變化時還得及時通知調用方。

student:     url:        - 192.168.1.1:8081        - 192.168.1.2:8081

這樣自然是對雙方都帶來不少的負擔,所以后續(xù)推出的服務調用框架都會想辦法解決這個問題。

以spring cloud為例:


(相關資料圖)

圖片

服務提供方會向一個服務注冊中心注冊自己的服務(名稱、IP等信息),客戶端每次調用的時候會向服務注冊中心獲取一個節(jié)點信息,然后發(fā)起調用。

但當我們切換到k8s后,這些基礎設施都交給了k8s處理了,所以k8s自然得有一個組件來解決服務注冊和調用的問題。

也就是我們今天重點介紹的service。

service

在介紹service之前我先調整了源碼:

func main() {     http.HandleFunc("/ping", func(w http.ResponseWriter, r *http.Request) {        name, _ := os.Hostname()        log.Printf("%s ping", name)        fmt.Fprint(w, "pong")     })     http.HandleFunc("/service", func(w http.ResponseWriter, r *http.Request) {        resp, err := http.Get("http://k8s-combat-service:8081/ping")        if err != nil {           log.Println(err)           fmt.Fprint(w, err)           return        }        fmt.Fprint(w, resp.Status)     })       http.ListenAndServe(":8081", nil)  }

新增了一個/service的接口,這個接口會通過 service 的方式調用服務提供者的服務,然后重新打包。

make docker

同時也新增了一個deployment-service.yaml:

apiVersion: apps/v1  kind: Deployment  metadata:    labels:      app: k8s-combat-service # 通過標簽選擇關聯(lián)    name: k8s-combat-service  spec:    replicas: 1    selector:      matchLabels:        app: k8s-combat-service    template:      metadata:        labels:          app: k8s-combat-service      spec:        containers:          - name: k8s-combat-service            image: crossoverjie/k8s-combat:v1            imagePullPolicy: Always            resources:              limits:                cpu: "1"                memory: 100Mi              requests:                cpu: "0.1"                memory: 10Mi  ---  apiVersion: v1  kind: Service  metadata:    name: k8s-combat-service  spec:    selector:      app: k8s-combat-service # 通過標簽選擇關聯(lián)    type: ClusterIP    ports:      - port: 8081        # 本 Service 的端口        targetPort: 8081  # 容器端口        name: app

使用相同的鏡像部署一個新的 deployment,名稱為k8s-combat-service,重點是新增了一個kind: Service的對象。

這個就是用于聲明service的組件,在這個組件中也是使用selector標簽和deployment進行了關聯(lián)。

也就是說這個service用于服務于名稱等于k8s-combat-service的deployment。

下面的兩個端口也很好理解,一個是代理的端口, 另一個是 service 自身提供出去的端口。

至于type: ClusterIP是用于聲明不同類型的service,除此之外的類型還有:

NodePortLoadBalancerExternalName等類型,默認是ClusterIP,現(xiàn)在不用糾結這幾種類型的作用,后續(xù)我們在講到Ingress的時候會具體介紹。負載測試

我們先分別將這兩個deployment部署好:

k apply -f deployment/deployment.yamlk apply -f deployment/deployment-service.yaml? k get podNAME                                  READY   STATUS    RESTARTS   AGEk8s-combat-7867bfb596-67p5m           1/1     Running   0          3h22mk8s-combat-service-5b77f59bf7-zpqwt   1/1     Running   0          3h22m

由于我新增了一個/service的接口,用于在k8s-combat中通過service調用k8s-combat-service的接口。

resp, err := http.Get("http://k8s-combat-service:8081/ping")

其中k8s-combat-service服務的域名就是他的服務名稱。

如果是跨 namespace 調用時,需要指定一個完整名稱,在后續(xù)的章節(jié)會演示。

我們整個的調用流程如下:

圖片

相信大家也看得出來相對于spring cloud這類微服務框架提供的客戶端負載方式,service是一種服務端負載,有點類似于Nginx的反向代理。

為了更直觀的驗證這個流程,此時我將k8s-combat-service的副本數(shù)增加到 2:

spec:    replicas: 2

只需要再次執(zhí)行:

? k apply -f deployment/deployment-service.yamldeployment.apps/k8s-combat-service configuredservice/k8s-combat-service unchanged

圖片

image.png

不管我們對deployment的做了什么變更,都只需要apply這個yaml文件即可, k8s 會自動將當前的deployment調整為我們預期的狀態(tài)(比如這里的副本數(shù)量增加為 2);這也就是k8s中常說的聲明式 API。

可以看到此時k8s-combat-service的副本數(shù)已經(jīng)變?yōu)閮蓚€了。如果我們此時查看這個service的描述時:

? k describe svc k8s-combat-service |grep EndpointsEndpoints:         192.168.130.133:8081,192.168.130.29:8081

會發(fā)現(xiàn)它已經(jīng)代理了這兩個Pod的 IP。

圖片

此時我進入了k8s-combat-7867bfb596-67p5m的容器:

k exec -it k8s-combat-7867bfb596-67p5m bashcurl http://127.0.0.1:8081/service

并執(zhí)行兩次/service接口,發(fā)現(xiàn)請求會輪訓進入k8s-combat-service的代理的 IP 中。

由于k8s service是基于TCP/UDP的四層負載,所以在http1.1中是可以做到請求級的負載均衡,但如果是類似于gRPC這類長鏈接就無法做到請求級的負載均衡。

換句話說service只支持連接級別的負載。

如果要支持gRPC,就得使用 Istio 這類服務網(wǎng)格,相關內容會在后續(xù)章節(jié)詳解。

總結

總的來說k8s service提供了簡易的服務注冊發(fā)現(xiàn)和負載均衡功能,當我們只提供 http 服務時是完全夠用的。

關鍵詞:

相關新聞

Copyright 2015-2020   三好網(wǎng)  版權所有 聯(lián)系郵箱:435 22 640@qq.com  備案號: 京ICP備2022022245號-21
亚洲精品亚洲人成人网_免费看日韩精品_6080日韩午夜伦伦午夜伦_欧美日韩一区久久_国产精品电影一区_一道本成人在线_日产国产欧美视频一区精品_69视频在线播放_久久久久亚洲蜜桃_亚洲国产你懂的
日韩一区二区不卡| 国产乱码字幕精品高清av| 99久久伊人久久99| 久久综合久久综合久久综合| 欧美国产亚洲另类动漫| 国产精品不卡一区| 欧美一区二区在线观看| 中文字幕精品在线不卡| 91久久精品一区二区二区| 亚洲国产毛片aaaaa无费看 | 亚洲电影中文字幕在线观看| 丰满少妇久久久久久久| 国产精品天干天干在线综合| 成人午夜激情影院| 综合自拍亚洲综合图不卡区| 一本色道久久综合亚洲91| 午夜精品久久久久影视| 久久久久国产精品厨房| 91福利在线播放| 日本人妖一区二区| 国产精品网站在线播放| 欧美视频你懂的| 狠狠色丁香久久婷婷综合丁香| 国产精品麻豆视频| 欧美一区二区三区在| 成人av午夜影院| 免费xxxx性欧美18vr| 亚洲少妇屁股交4| 日韩一区二区三区在线观看| www.日韩av| 极品美女销魂一区二区三区| 亚洲女与黑人做爰| 欧美一区二区三区视频免费| 国产91在线|亚洲| 免费的成人av| 亚洲sss视频在线视频| 国产精品传媒视频| 日韩欧美一级片| 欧美午夜精品久久久| 懂色av一区二区夜夜嗨| 精品一区二区三区不卡| 亚洲va国产天堂va久久en| 久久这里都是精品| 欧美一区二区三区喷汁尤物| 欧美综合欧美视频| 色综合亚洲欧洲| 99在线精品免费| 成人黄色免费短视频| 国产在线精品视频| 青青草一区二区三区| 一区二区三区蜜桃网| 亚洲视频一区二区在线| 综合色中文字幕| 亚洲欧洲制服丝袜| 亚洲欧洲精品一区二区三区| 国产日韩欧美一区二区三区综合| 日韩一二三四区| 欧美日韩中文另类| 欧美色窝79yyyycom| 91久久精品一区二区三区| 在线看一区二区| 欧美日韩成人在线| 欧美一级淫片007| 欧美精品一区二区三| 久久久久国产一区二区三区四区| 久久久久久久av麻豆果冻| 久久精品亚洲国产奇米99| 国产精品资源在线观看| 奇米精品一区二区三区四区| 一区二区成人在线| 午夜激情一区二区| 日本伊人色综合网| 久草这里只有精品视频| 成人激情小说乱人伦| 国产精品一区免费视频| 欧美大白屁股肥臀xxxxxx| 日韩欧美黄色影院| 国产三级一区二区| 一区二区三区在线视频观看58| 视频一区视频二区在线观看| 久久99久国产精品黄毛片色诱| 国产精品99久久久| 欧美色综合网站| 久久久蜜臀国产一区二区| 亚洲六月丁香色婷婷综合久久| 奇米精品一区二区三区在线观看 | 中文字幕日韩精品一区| 天堂成人免费av电影一区| 国产风韵犹存在线视精品| 欧美网站一区二区| 久久久久久一级片| 日韩电影一区二区三区四区| av在线播放一区二区三区| 日韩三级高清在线| 亚洲综合男人的天堂| 成人小视频免费在线观看| 日韩视频在线永久播放| 亚洲精品高清在线| 高清不卡在线观看| 久久奇米777| 久久成人久久爱| 7777精品伊人久久久大香线蕉经典版下载 | 自拍偷拍国产亚洲| 国内成人精品2018免费看| 欧美主播一区二区三区美女| 国产农村妇女毛片精品久久麻豆| 日韩av在线播放中文字幕| 欧美性色综合网| 亚洲人成影院在线观看| 国产成人亚洲综合色影视 | 国产精品一区二区男女羞羞无遮挡| 久久久九九九九| 岛国一区二区三区| 日本欧美一区二区三区乱码 | 欧美一区二视频| 欧美—级在线免费片| 国产精品免费视频网站| 欧美在线观看一区| 中文字幕一区二区三| 亚洲无人区一区| 日韩视频中午一区| 成人激情av网| 激情综合网最新| 亚洲第一成年网| 婷婷成人激情在线网| 国产精品美女久久久久久| 欧美一区二区三区日韩视频| 成人h精品动漫一区二区三区| 日本亚洲欧美天堂免费| 伊人夜夜躁av伊人久久| 成人做爰69片免费看网站| 国产经典欧美精品| 国产精品久久久久一区| 美女久久久精品| 亚洲黄色免费网站| 日韩免费性生活视频播放| 不卡高清视频专区| 日韩专区欧美专区| 欧美国产在线观看| 亚洲高清在线精品| 久久成人综合网| 成人av在线一区二区| 欧美不卡一区二区| 日韩高清在线电影| 本田岬高潮一区二区三区| 欧美日韩免费在线视频| 国内成人免费视频| 在线电影欧美成精品| 日韩欧美国产综合一区| 欧美日本韩国一区二区三区视频| 日韩免费观看高清完整版| 亚洲va在线va天堂| 国产三级欧美三级| 三级成人在线视频| 色综合中文字幕| 免费在线观看日韩欧美| 亚洲动漫第一页| 亚洲一区日韩精品中文字幕| 亚洲三级电影网站| 亚洲特黄一级片| 亚洲曰韩产成在线| 久久精工是国产品牌吗| 国产成人小视频| 欧洲精品一区二区三区在线观看| 欧美三级乱人伦电影| 久久人人超碰精品| 亚洲制服丝袜在线| 国产馆精品极品| 欧美一区二区三区的| 国产日韩一级二级三级| 亚洲第一综合色| 91丨九色丨国产丨porny| 日韩欧美一二三| 日韩精品成人一区二区三区| 不卡电影免费在线播放一区| 欧美午夜一区二区三区免费大片| 日韩精品91亚洲二区在线观看 | www国产成人| 91久久精品一区二区三| 波多野结衣中文一区| 国产美女精品在线| 黄色精品一二区| 精品一区二区三区在线观看国产| 日韩国产欧美三级| 奇米影视一区二区三区| 美女视频一区在线观看| 国产中文一区二区三区| 国产精品乡下勾搭老头1| 国产精品亚洲第一| a级精品国产片在线观看| 91麻豆精东视频| 欧美日韩国产系列| 亚洲精品一区二区三区99| 欧美日韩国产免费| 精品va天堂亚洲国产| 国产精品对白交换视频 | 久久影音资源网| 亚洲视频综合在线| 日韩av电影免费观看高清完整版| 久久91精品国产91久久小草|