国产精品嫩草99av在线_一区在线视频观看_欧美高清一区_欧美 日韩 国产 一区_99精品欧美一区二区三区_久久大香伊蕉在人线观看热2_一色屋精品视频在线观看网站_在线亚洲国产精品网站_亚洲区一区二区三区_你懂的视频一区二区

當前位置:首頁 > 科技  > 軟件

K8S | Service服務發(fā)現(xiàn)

來源: 責編: 時間:2023-08-05 11:44:46 5319觀看
導讀一、背景在微服務架構中,這里以開發(fā)環(huán)境「Dev」為基礎來描述,在K8S集群中通常會開放:路由網(wǎng)關、注冊中心、配置中心等相關服務,可以被集群外部訪問;圖片對于測試「Tes」環(huán)境或者生產(chǎn)「Pro」環(huán)境,出于安全或者環(huán)境隔離性來考

一、背景

在微服務架構中,這里以開發(fā)環(huán)境「Dev」為基礎來描述,在K8S集群中通常會開放:路由網(wǎng)關、注冊中心、配置中心等相關服務,可以被集群外部訪問;BNG28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片BNG28資訊網(wǎng)——每日最新資訊28at.com

對于測試「Tes」環(huán)境或者生產(chǎn)「Pro」環(huán)境,出于安全或者環(huán)境隔離性來考慮,在正常情況下只會開放網(wǎng)關服務,而「注冊、配置」中心并不會對外暴露;BNG28資訊網(wǎng)——每日最新資訊28at.com

對于架構中的其它業(yè)務服務一般不會對外開放,在K8S集群內(nèi)部服務間是可以正常通信的,對于「Dev」環(huán)境來說,研發(fā)會使用「注冊、配置」中心,網(wǎng)關是系統(tǒng)的訪問入口;BNG28資訊網(wǎng)——每日最新資訊28at.com

在K8S集群中,通過Service組件,可以快速簡單的實現(xiàn)服務發(fā)現(xiàn)和負載均衡;BNG28資訊網(wǎng)——每日最新資訊28at.com

二、Service組件

1、簡介

在K8S集群中是通過Pod組件來部署應用服務,Deployment組件實現(xiàn)Pod編排管理,Service組件實現(xiàn)應用的訪問;BNG28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片BNG28資訊網(wǎng)——每日最新資訊28at.com

【Pod】自身的特點是臨時的,使用過后直接拋棄的實體,這樣在Pod創(chuàng)建和銷毀的狀態(tài)中,會導致IP地址發(fā)生變化,即無法使用固定的IP進行應用訪問;BNG28資訊網(wǎng)——每日最新資訊28at.com

【Deployment】控制器通過管理ReplicaSet間接實現(xiàn)Pod管理,比如發(fā)布方式,更新和回滾策略,維持Pod副本數(shù)量,對應用進行快速的編排,但是并沒有涉及應用的訪問;BNG28資訊網(wǎng)——每日最新資訊28at.com

【Service】是將運行在一個或一組Pod上的網(wǎng)絡應用程序公開為網(wǎng)絡服務的方法,可以在不修改現(xiàn)有應用程序的情況下,使用服務發(fā)現(xiàn)機制訪問到該應用;BNG28資訊網(wǎng)——每日最新資訊28at.com

基于Pod、Deployment、Service三個組件的協(xié)作,同一個應用的部署腳本可以在開發(fā)、測試、生產(chǎn)不同環(huán)境中復用;BNG28資訊網(wǎng)——每日最新資訊28at.com

2、基礎語法

這里提供一個簡單的【Service】語法做參考;BNG28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片BNG28資訊網(wǎng)——每日最新資訊28at.com

需要注意的是:在該腳本中沒有指定服務類型即ServiceType,默認采用的是ClusterIP,通過集群的內(nèi)部IP暴露服務,選擇該值時服務只能夠在集群內(nèi)部訪問;BNG28資訊網(wǎng)——每日最新資訊28at.com

三、內(nèi)部服務發(fā)現(xiàn)

1、Pod創(chuàng)建

基于【Deployment】組件,創(chuàng)建「auto-serve」應用;BNG28資訊網(wǎng)——每日最新資訊28at.com

apiVersion: apps/v1kind: Deploymentmetadata:  name: serve-deployment  labels:    app: auto-servespec:  replicas: 1  selector:    matchLabels:      app: auto-serve  template:    metadata:      labels:        app: auto-serve    spec:      containers:        - name: auto-serve          image: auto-serve:latest          imagePullPolicy: Never          ports:            - containerPort: 8082              name: auto-serve-port

執(zhí)行創(chuàng)建命令BNG28資訊網(wǎng)——每日最新資訊28at.com

kubectl apply -f serve-deployment.yaml

2、Service創(chuàng)建

簡單的腳本文件:app-service.yaml;BNG28資訊網(wǎng)——每日最新資訊28at.com

apiVersion: v1kind: Servicemetadata:  name: app-servicespec:  selector:    app: auto-serve  ports:  - name: app-service-port    protocol: TCP    port: 8082    targetPort: auto-serve-port

創(chuàng)建【Service】BNG28資訊網(wǎng)——每日最新資訊28at.com

kubectl apply -f app-service.yaml

查看【Service】,可以使用命令行或者界面;BNG28資訊網(wǎng)——每日最新資訊28at.com

kubectl describe svc app-service

圖片圖片BNG28資訊網(wǎng)——每日最新資訊28at.com

刪除【Service】BNG28資訊網(wǎng)——每日最新資訊28at.com

kubectl delete -f app-service.yaml

3、內(nèi)部訪問

在上面已經(jīng)說明,當Type不指定時采用的是ClusterIP,只能在集群內(nèi)部訪問,集群外部的網(wǎng)絡是無法訪問的;BNG28資訊網(wǎng)——每日最新資訊28at.com

在【auto-client】服務中提供一段訪問【auto-serve】接口的代碼,并制作鏡像【auto-client:3.3.3】,完成部署后查看日志打印;BNG28資訊網(wǎng)——每日最新資訊28at.com

@Componentpublic class HttpServiceJob {    private static final Logger LOG = LoggerFactory.getLogger(HttpServiceJob.class.getName()) ;    private static final String SERVER_NAME = "http://app-service:8082/serve";    private static final String SERVER_IP = "http://10.103.252.94:8082/serve";    /**     * 每30秒執(zhí)行一次     */    @Scheduled(fixedDelay = 30000)    public void systemDate () {        SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();        factory.setReadTimeout(3000);        factory.setConnectTimeout(6000);        RestTemplate restTemplate = new RestTemplate(factory);        try {            Map<String, String> paramMap = new HashMap<>();            String result = restTemplate.getForObject(SERVER_NAME, String.class, paramMap);            LOG.info("service-name-resp::::" + result);        } catch (Exception e) {            e.printStackTrace();        }        try {            Map<String, String> paramMap = new HashMap<>();            String result = restTemplate.getForObject(SERVER_IP, String.class, paramMap);            LOG.info("service-ip-resp::::" + result);        } catch (Exception e) {            e.printStackTrace();        }    }}

在代碼中通過服務名:端口和IP:端口都可以正常訪問,在Pod中查看兩個應用的日志,請求和響應都正常;BNG28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片BNG28資訊網(wǎng)——每日最新資訊28at.com

四、外部服務發(fā)現(xiàn)

1、NodePort類型

指定類型為NodePort的腳本:app-np-service.yaml;BNG28資訊網(wǎng)——每日最新資訊28at.com

apiVersion: v1kind: Servicemetadata:  name: app-np-servicespec:  type: NodePort  selector:    app: auto-serve  ports:    - protocol: TCP      port: 8082      targetPort: 8082      nodePort: 30010

創(chuàng)建【Service】BNG28資訊網(wǎng)——每日最新資訊28at.com

kubectl apply -f app-np-service.yaml

使用NodePort類型,K8S控制平面會在指定的范圍內(nèi)分配端口,如果需要特定的端口號可以指定nodePort字段中的值,但是該類型需要自己設置負載均衡解決方案;BNG28資訊網(wǎng)——每日最新資訊28at.com

2、LoadBalancer類型

指定類型為LoadBalancer的腳本:app-lb-service.yaml;BNG28資訊網(wǎng)——每日最新資訊28at.com

apiVersion: v1kind: Servicemetadata:  name: app-lb-servicespec:  type: LoadBalancer  selector:    app: auto-serve  ports:    - protocol: TCP      port: 8082      targetPort: 8082

創(chuàng)建【Service】BNG28資訊網(wǎng)——每日最新資訊28at.com

kubectl apply -f app-lb-service.yaml

查看【Service】BNG28資訊網(wǎng)——每日最新資訊28at.com

在查看「app-lb-service」時,值得注意一下Endpoints的字段屬性,這里就是Pod選擇器選中的Pod;BNG28資訊網(wǎng)——每日最新資訊28at.com

kubectl get svc app-lb-service -o wideNAME             TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE     SELECTORapp-lb-service   LoadBalancer   10.111.65.220   localhost     8082:30636/TCP   6m49s   app=auto-servekubectl describe svc app-lb-serviceName:                     app-lb-serviceNamespace:                defaultLabels:                   <none>Annotations:              <none>Selector:                 app=auto-serveType:                     LoadBalancerIP Family Policy:         SingleStackIP Families:              IPv4IP:                       10.111.65.220IPs:                      10.111.65.220LoadBalancer Ingress:     localhostPort:                     <unset>  8082/TCPTargetPort:               8082/TCPNodePort:                 <unset>  30636/TCPEndpoints:                10.1.0.160:8082,10.1.0.161:8082,10.1.0.162:8082Session Affinity:         NoneExternal Traffic Policy:  ClusterEvents:                   <none>kubectl get pods -o wideNAME                               READY   STATUS    RESTARTS   AGE   IP           NODE          serve-deployment-f6f6c5bbd-9qvgr   1/1     Running   0          39m   10.1.0.162   docker-desktopserve-deployment-f6f6c5bbd-w7nj2   1/1     Running   0          39m   10.1.0.161   docker-desktopserve-deployment-f6f6c5bbd-x7v4d   1/1     Running   0          39m   10.1.0.160   docker-desktop

圖片圖片BNG28資訊網(wǎng)——每日最新資訊28at.com

五、參考源碼

文檔倉庫:https://gitee.com/cicadasmile/butte-java-note腳本倉庫:https://gitee.com/cicadasmile/butte-auto-parent

本文鏈接:http://www.rrqrq.com/showinfo-26-88-0.htmlK8S | Service服務發(fā)現(xiàn)

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Golang 中的 io 包詳解:組合接口

下一篇: SpringBoot中使用Cache提升接口性能詳解

標簽:
  • 熱門焦點
Top 国产精品嫩草99av在线_一区在线视频观看_欧美高清一区_欧美 日韩 国产 一区_99精品欧美一区二区三区_久久大香伊蕉在人线观看热2_一色屋精品视频在线观看网站_在线亚洲国产精品网站_亚洲区一区二区三区_你懂的视频一区二区
亚洲一区二区在线免费看| 国产农村妇女毛片精品久久莱园子 | 久久不见久久见中文字幕免费| 国产精品一区二区x88av| 亚洲欧美伊人| 在线观看免费亚洲| 中文字幕精品在线不卡| 精品在线播放免费| 欧美成人一区二免费视频软件| 国产高清在线精品| 夜夜夜久久久| 6080午夜不卡| 亚洲地区一二三色| 一区二区在线观看免费| 国产成人免费视频一区| 在线一区免费观看| xvideos.蜜桃一区二区| 午夜日韩在线电影| 欧美精品偷拍| 欧美久久久久久蜜桃| 亚洲精品国产一区二区精华液 | 欧美大尺度电影在线| 亚洲地区一二三色| 欧美日韩高清免费| 91麻豆精品国产91久久久久久久久| 亚洲免费视频中文字幕| 成人精品国产一区二区4080| 老司机久久99久久精品播放免费| 在线欧美三区| 久久女同精品一区二区| 久久国产精品一区二区| 亚洲在线视频| 日韩理论片在线| 91一区二区三区在线播放| 亚洲美女少妇撒尿| 欧美久久视频| 久久综合国产精品| 成人综合在线观看| 欧美日韩不卡一区| 日韩av一二三| 免费久久久一本精品久久区 | 中文字幕中文字幕一区二区| 成人免费视频app| 欧美日本在线视频| 蜜臀av国产精品久久久久| 中文国产一区| 成人免费在线观看入口| 欧美另类高清视频在线| 久久综合九色综合97婷婷| 国产成人精品免费视频网站| 欧美日韩www| 加勒比av一区二区| 欧美影视一区二区三区| 欧美日精品一区视频| 欧美一区二区三区影视| 久久91精品国产91久久小草| 一本久道久久综合中文字幕| 亚洲123区在线观看| 国产精品一国产精品k频道56| 日韩一区在线看| 亚洲电影在线| 一区二区三区久久| 亚洲一区高清| 日韩va亚洲va欧美va久久| 亚洲素人一区二区| 国模 一区 二区 三区| 国产精品三级在线观看| 国产宾馆实践打屁股91| 在线欧美三区| 一区二区三区中文字幕精品精品 | 亚洲大片在线观看| 日本韩国欧美一区| 狠狠色综合日日| 91精品国产色综合久久不卡蜜臀| 成人激情电影免费在线观看| 26uuu精品一区二区| 欧美另类专区| 一区二区免费视频| 91精彩视频在线| 国产成人精品免费网站| 久久久精品人体av艺术| 亚洲成人久久影院| 欧美这里有精品| 成人精品电影在线观看| 日本一区二区三区在线观看| 精品不卡视频| 日本伊人色综合网| 欧美一级久久久| 91黄色免费版| 97精品电影院| 亚洲国产精品嫩草影院| 欧美视频在线一区| voyeur盗摄精品| 亚洲日本丝袜连裤袜办公室| 欧美一级二区| 成人午夜大片免费观看| 中文字幕一区二区三区蜜月| 国内精品视频666| 欧美韩国日本不卡| 午夜在线a亚洲v天堂网2018| 国产一区二区在线看| 国产欧美一二三区| 亚洲欧美卡通另类91av| 国内精品伊人久久久久av一坑| 国产调教视频一区| 久久一区亚洲| 成人国产精品视频| 亚洲一区二区3| 日韩精品在线网站| 亚洲综合日本| 成人白浆超碰人人人人| 一区二区三区欧美日| 51久久夜色精品国产麻豆| 石原莉奈在线亚洲二区| 26uuu精品一区二区在线观看| 国产模特精品视频久久久久| 国产91精品一区二区| 亚洲一区二区黄色| 久久亚洲一区二区三区明星换脸| 久久久av水蜜桃| 欧美伊人影院| 久久99久久久久久久久久久| 国产精品免费人成网站| 欧美一级搡bbbb搡bbbb| 亚洲欧美精品在线观看| 91丨九色porny丨蝌蚪| 美女尤物国产一区| 亚洲特黄一级片| 久久综合色之久久综合| 欧美亚日韩国产aⅴ精品中极品| 激情综合久久| 不卡免费追剧大全电视剧网站| 爽爽淫人综合网网站| 国产精品欧美一区喷水| 日韩一区二区三区三四区视频在线观看| 国产精品久久亚洲7777| 91色在线porny| 国产精品亚洲成人| 日韩av电影免费观看高清完整版在线观看| 蜜桃视频在线观看一区| 国产精品美女久久久久久久久 | 99久精品国产| 国产伦精品一区二区三区视频青涩| 一区二区三区小说| 亚洲国产精品成人综合色在线婷婷| 欧美精品一二三| 色欧美日韩亚洲| 国产精品欧美久久| 亚洲国产导航| 黄色成人在线网站| 99久久国产综合色|国产精品| 极品少妇xxxx精品少妇偷拍| 午夜激情一区二区三区| 亚洲精品乱码久久久久久久久| 欧美极品美女视频| 久久久美女艺术照精彩视频福利播放| 在线不卡a资源高清| 99久久精品国产一区| 国产成人精品一区二区三区网站观看| 美女精品一区二区| 免费视频一区二区| 日韩不卡一二三区| 日本不卡一区二区| 日韩午夜在线影院| 欧美一级理论片| 欧美成人在线直播| 欧美xxxxx牲另类人与| 日韩精品一区二区三区中文精品| 91精品国产91久久综合桃花| 欧美精品久久天天躁| 欧美日韩亚洲综合一区| 欧美天堂一区二区三区| 欧美日韩一卡二卡| 欧美高清视频不卡网| 91精品福利在线一区二区三区| 欧美人与z0zoxxxx视频| 欧美日韩一区二区视频在线观看| 色综合亚洲欧洲| 国产中文一区| 99热精品在线| 老**午夜毛片一区二区三区| 色呦呦日韩精品| 欧美日韩黄色一区二区| 3d动漫精品啪啪| 久久亚洲一区二区三区四区| 国产欧美日韩在线| 国产精品久久久一区麻豆最新章节| 中文在线资源观看网站视频免费不卡 | 久久精品国产一区二区| 国产毛片精品一区| 亚洲欧美日韩成人高清在线一区| 亚洲精品成人精品456| 午夜精品123| 国产美女精品在线| 91丨九色丨黑人外教| 99国产精品视频免费观看一公开| 可以看av的网站久久看| 777午夜精品视频在线播放| 久久亚洲捆绑美女| 一区二区在线免费观看|