日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

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

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

一、背景

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

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

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

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

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

二、Service組件

1、簡介

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

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

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

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

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

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

2、基礎(chǔ)語法

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

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

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

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

1、Pod創(chuàng)建

基于【Deployment】組件,創(chuàng)建「auto-serve」應(yīng)用;Ovh28資訊網(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)建命令Ovh28資訊網(wǎng)——每日最新資訊28at.com

kubectl apply -f serve-deployment.yaml

2、Service創(chuàng)建

簡單的腳本文件:app-service.yaml;Ovh28資訊網(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】Ovh28資訊網(wǎng)——每日最新資訊28at.com

kubectl apply -f app-service.yaml

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

kubectl describe svc app-service

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

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

kubectl delete -f app-service.yaml

3、內(nèi)部訪問

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

在【auto-client】服務(wù)中提供一段訪問【auto-serve】接口的代碼,并制作鏡像【auto-client:3.3.3】,完成部署后查看日志打印;Ovh28資訊網(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();        }    }}

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

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

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

1、NodePort類型

指定類型為NodePort的腳本:app-np-service.yaml;Ovh28資訊網(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】Ovh28資訊網(wǎng)——每日最新資訊28at.com

kubectl apply -f app-np-service.yaml

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

2、LoadBalancer類型

指定類型為LoadBalancer的腳本:app-lb-service.yaml;Ovh28資訊網(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】Ovh28資訊網(wǎng)——每日最新資訊28at.com

kubectl apply -f app-lb-service.yaml

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

在查看「app-lb-service」時,值得注意一下Endpoints的字段屬性,這里就是Pod選擇器選中的Pod;Ovh28資訊網(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

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

五、參考源碼

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

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

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

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

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

標(biāo)簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
在线日韩av片| 国产精品日日摸夜夜摸av| 久久精品国语| 久久天天躁狠狠躁夜夜爽蜜月| 美脚丝袜一区二区三区在线观看| 欧美激情a∨在线视频播放| 欧美日韩一区二区视频在线 | 一区二区三区四区五区视频| 亚洲欧美日韩区| 久久久91精品国产| 欧美激情综合网| 国产精品久久久久久户外露出 | 久久精品成人| 欧美猛交免费看| 国产欧美日本| 最新日韩欧美| 性色av香蕉一区二区| 欧美成人一二三| 国产精品美女久久福利网站| 韩国欧美一区| 一级日韩一区在线观看| 午夜精品久久久久影视| 美女精品网站| 国产精品视频一二| 亚洲三级免费| 久久精品麻豆| 国产精品va| 亚洲国产视频直播| 午夜影院日韩| 欧美日韩成人在线观看| 国产中文一区二区| 中文国产成人精品久久一| 久久天堂精品| 国产精品卡一卡二卡三| 亚洲国产片色| 午夜精品久久久久久99热| 欧美不卡一卡二卡免费版| 国产伦精品一区二区三区免费| 亚洲人成人99网站| 久久久久se| 国产精品丝袜xxxxxxx| 亚洲精品午夜精品| 久久久久综合网| 国产精品一区二区三区四区五区| 亚洲片在线观看| 久久免费高清视频| 国产精品老女人精品视频| 亚洲日本免费电影| 久久午夜电影| 国产一区二区三区在线观看免费视频| 亚洲色图制服丝袜| 欧美激情中文不卡| 一区在线观看视频| 新狼窝色av性久久久久久| 欧美日韩在线一区二区三区| 亚洲国产欧美日韩精品| 久久九九免费| 国产日韩欧美在线一区| 亚洲男人的天堂在线| 欧美三区美女| 一本色道精品久久一区二区三区| 欧美电影在线| 亚洲二区视频| 久久综合九色九九| 狠狠色丁香婷婷综合| 欧美在线|欧美| 国产目拍亚洲精品99久久精品 | 一区二区日韩伦理片| 欧美黑人在线播放| 亚洲国产精品黑人久久久| 久久婷婷久久一区二区三区| 国产一区在线视频| 欧美一区二区精品在线| 国产精品一区二区三区观看| 亚洲一区二区三区成人在线视频精品| 欧美日韩国产综合一区二区| 亚洲美女电影在线| 欧美激情视频在线播放| 91久久精品一区| 欧美国产日韩在线| 亚洲精品久久久久久下一站 | 国产精品午夜在线观看| 亚洲一区日本| 国产精品人人爽人人做我的可爱| 亚洲自拍都市欧美小说| 国产精品久久久久久久久久三级| 亚洲无线一线二线三线区别av| 欧美视频免费看| 亚洲免费视频成人| 国产欧美一区二区色老头| 性8sex亚洲区入口| 国产区亚洲区欧美区| 欧美亚洲三级| 国产一区深夜福利| 久久中文在线| 亚洲精品女人| 欧美视频免费在线| 亚洲综合色丁香婷婷六月图片| 国产精品久久久一区二区| 午夜精品久久久久久久白皮肤| 国产一区二区三区高清播放| 久久人人爽国产| 亚洲国产99| 欧美日韩在线直播| 亚洲欧美综合国产精品一区| 国产日韩亚洲欧美| 你懂的网址国产 欧美| 亚洲乱码精品一二三四区日韩在线| 欧美日韩三级在线| 亚洲欧美亚洲| 永久免费毛片在线播放不卡| 欧美激情国产日韩精品一区18| 亚洲免费av电影| 国产精品卡一卡二卡三| 久久国产综合精品| 亚洲第一二三四五区| 欧美日韩国产一区精品一区| 亚洲欧美日韩高清| 尤物yw午夜国产精品视频| 欧美激情一区二区三区在线| 亚洲一区在线观看免费观看电影高清| 国产日韩在线看| 欧美a一区二区| 亚洲免费视频观看| 欲香欲色天天天综合和网| 欧美日韩视频在线一区二区观看视频| 亚洲欧美日韩一区二区在线| 影音先锋久久久| 欧美丝袜一区二区| 久久一区二区三区av| 在线亚洲伦理| 激情丁香综合| 欧美视频一区二区在线观看| 久久久久在线| 一区二区三区四区国产精品| 国色天香一区二区| 欧美日韩三级一区二区| 久久成人在线| 一本色道精品久久一区二区三区| 国产日韩在线不卡| 欧美国产日韩xxxxx| 性欧美大战久久久久久久免费观看| 亚洲国产一区二区三区高清| 国产精品亚洲аv天堂网| 欧美国产成人在线| 欧美与欧洲交xxxx免费观看| 亚洲免费电影在线| 国产一区二区三区奇米久涩 | 国产精品美女久久久浪潮软件 | 黑人巨大精品欧美一区二区小视频| 欧美日韩国产不卡在线看| 久久久久国内| 亚洲欧美区自拍先锋| 亚洲精品亚洲人成人网| 国产亚洲欧美日韩在线一区| 欧美日韩一区二区视频在线观看| 久久久久久97三级| 亚洲一区欧美激情| 日韩亚洲欧美成人一区| 在线播放中文一区| 国产精品日韩欧美一区二区| 欧美精品电影在线| 久久亚洲免费| 欧美在线精品一区| 亚洲少妇自拍| 9i看片成人免费高清| 亚洲成人中文| 国产一区自拍视频| 国产精品嫩草久久久久| 欧美日韩第一页| 好吊色欧美一区二区三区视频| 欧美涩涩视频| 欧美极品影院| 蜜桃精品久久久久久久免费影院| 久久xxxx精品视频| 亚洲免费视频网站| 亚洲视频电影图片偷拍一区| 亚洲国产欧美不卡在线观看 | 日韩午夜在线视频| 1024国产精品| 韩国一区二区在线观看| 国产乱码精品1区2区3区| 欧美午夜精品伦理| 欧美日韩国产精品自在自线| 欧美99在线视频观看| 久久久在线视频| 久久精品电影| 久久精品国产久精国产一老狼| 午夜视频一区二区| 亚洲网站视频福利| 亚洲香蕉在线观看| 99亚洲伊人久久精品影院红桃| 亚洲人被黑人高潮完整版| 亚洲第一久久影院| 亚洲成色最大综合在线| 伊人久久亚洲美女图片| 国内精品视频666| 韩国一区电影| 激情久久综合| 亚洲成人资源| 亚洲欧洲一二三| 日韩视频第一页| 一本一本a久久| 亚洲午夜一区二区|