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

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

K8S | Service服務發現

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

一、背景

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

圖片圖片6oM28資訊網——每日最新資訊28at.com

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

對于架構中的其它業務服務一般不會對外開放,在K8S集群內部服務間是可以正常通信的,對于「Dev」環境來說,研發會使用「注冊、配置」中心,網關是系統的訪問入口;6oM28資訊網——每日最新資訊28at.com

在K8S集群中,通過Service組件,可以快速簡單的實現服務發現和負載均衡;6oM28資訊網——每日最新資訊28at.com

二、Service組件

1、簡介

在K8S集群中是通過Pod組件來部署應用服務,Deployment組件實現Pod編排管理,Service組件實現應用的訪問;6oM28資訊網——每日最新資訊28at.com

圖片圖片6oM28資訊網——每日最新資訊28at.com

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

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

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

基于Pod、Deployment、Service三個組件的協作,同一個應用的部署腳本可以在開發、測試、生產不同環境中復用;6oM28資訊網——每日最新資訊28at.com

2、基礎語法

這里提供一個簡單的【Service】語法做參考;6oM28資訊網——每日最新資訊28at.com

圖片圖片6oM28資訊網——每日最新資訊28at.com

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

三、內部服務發現

1、Pod創建

基于【Deployment】組件,創建「auto-serve」應用;6oM28資訊網——每日最新資訊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

執行創建命令6oM28資訊網——每日最新資訊28at.com

kubectl apply -f serve-deployment.yaml

2、Service創建

簡單的腳本文件:app-service.yaml;6oM28資訊網——每日最新資訊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

創建【Service】6oM28資訊網——每日最新資訊28at.com

kubectl apply -f app-service.yaml

查看【Service】,可以使用命令行或者界面;6oM28資訊網——每日最新資訊28at.com

kubectl describe svc app-service

圖片圖片6oM28資訊網——每日最新資訊28at.com

刪除【Service】6oM28資訊網——每日最新資訊28at.com

kubectl delete -f app-service.yaml

3、內部訪問

在上面已經說明,當Type不指定時采用的是ClusterIP,只能在集群內部訪問,集群外部的網絡是無法訪問的;6oM28資訊網——每日最新資訊28at.com

在【auto-client】服務中提供一段訪問【auto-serve】接口的代碼,并制作鏡像【auto-client:3.3.3】,完成部署后查看日志打??;6oM28資訊網——每日最新資訊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秒執行一次     */    @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中查看兩個應用的日志,請求和響應都正常;6oM28資訊網——每日最新資訊28at.com

圖片圖片6oM28資訊網——每日最新資訊28at.com

四、外部服務發現

1、NodePort類型

指定類型為NodePort的腳本:app-np-service.yaml;6oM28資訊網——每日最新資訊28at.com

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

創建【Service】6oM28資訊網——每日最新資訊28at.com

kubectl apply -f app-np-service.yaml

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

2、LoadBalancer類型

指定類型為LoadBalancer的腳本:app-lb-service.yaml;6oM28資訊網——每日最新資訊28at.com

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

創建【Service】6oM28資訊網——每日最新資訊28at.com

kubectl apply -f app-lb-service.yaml

查看【Service】6oM28資訊網——每日最新資訊28at.com

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

圖片圖片6oM28資訊網——每日最新資訊28at.com

五、參考源碼

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

本文鏈接:http://www.www897cc.com/showinfo-26-88-0.htmlK8S | Service服務發現

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

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

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

標簽:
  • 熱門焦點
  • Find N3入網:最高支持16+1TB

    OPPO將于近期登場的Find N3折疊屏目前已經正式入網,型號為PHN110。本次Find N3在外觀方面相比前兩代有很大的變化,不再是小號的橫向折疊屏,而是跟別的廠商一樣采用了較為常見的
  • Mate60手機殼曝光 致敬自己的經典設計

    8月3日消息,今天下午博主數碼閑聊站帶來了華為Mate60的第三方手機殼圖,可以讓我們在真機發布之前看看這款華為全新旗艦的大致輪廓。從曝光的圖片看,Mate 60背后攝像頭面積依然
  • 這款新興工具平臺,讓你的電腦效率翻倍

    隨著信息技術的發展,我們獲取信息的渠道越來越多,但是處理信息的效率卻成為一個瓶頸。于是各種工具應運而生,都在爭相解決我們的工作效率問題。今天我要給大家介紹一款效率
  • 三分鐘白話RocketMQ系列—— 如何發送消息

    我們知道RocketMQ主要分為消息 生產、存儲(消息堆積)、消費 三大塊領域。那接下來,我們白話一下,RocketMQ是如何發送消息的,揭秘消息生產全過程。注意,如果白話中不小心提到相關代
  • 重估百度丨“晚熟”的百度云,能等到春天嗎?

    &copy;自象限原創作者|程心排版|王喻可2016年7月13日,百度云計算戰略發布會在北京舉行,宣告著百度智能云的正式啟程。彼時的會場座無虛席,甚至排隊排到了門外,在場的所有人幾乎都
  • 2天漲粉255萬,又一賽道在抖音爆火

    來源:運營研究社作者 | 張知白編輯 | 楊佩汶設計 | 晏談夢潔這個暑期,旅游賽道徹底火了:有的「地方」火了&mdash;&mdash;貴州村超旅游收入 1 個月超過 12 億;有的「博主」火了&m
  • 華為將推出盤古數字人大模型 可幫助用戶12小時完成數字人生成

    在今日舉行的2023年華為云數字文娛AI創新峰會上,華為云全球Marketing與銷售服務總裁石冀琳表示,華為云將在后續推出盤古數字人大模型,可幫助用戶12小
  • OPPO K11樣張首曝:千元機影像“卷”得真不錯!

    一直以來,OPPO K系列機型都保持著較為均衡的產品體驗,歷來都是2K價位的明星機型,去年推出的OPPO K10和OPPO K10 Pro兩款機型憑借各自的出色配置,堪稱有
  • 世界人工智能大會國際日開幕式活動在世博展覽館開啟

    30日上午,世界人工智能大會國際日開幕式活動在世博展覽館開啟,聚集國際城市代表、重量級院士專家、國際創新企業代表,共同打造人工智能交流平臺。上海市副市
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
国产精品久久久久9999| 欧美顶级少妇做爰| 亚洲愉拍自拍另类高清精品| 在线视频你懂得一区| 午夜视频在线观看一区| 久久视频免费观看| 欧美日本二区| 国产色产综合色产在线视频| 亚洲成人在线网| 中文无字幕一区二区三区| 欧美一区日韩一区| 欧美激情一区二区在线| 日韩视频在线观看免费| 亚洲一区日韩| 亚洲已满18点击进入久久| 久久精品91久久香蕉加勒比| 欧美福利视频在线| 久久超碰97人人做人人爱| 美女视频网站黄色亚洲| 欧美亚洲不卡| 禁断一区二区三区在线 | 亚洲精选久久| 欧美诱惑福利视频| 欧美诱惑福利视频| 欧美另类videos死尸| 国产色婷婷国产综合在线理论片a| 亚洲国产成人不卡| 午夜精品偷拍| 欧美日韩高清不卡| 一区二区三区在线免费视频| 激情小说亚洲一区| 一区二区三区欧美亚洲| 久久亚洲精品一区| 国产麻豆日韩欧美久久| 国产一区二区精品久久91| 日韩亚洲成人av在线| 久久久久成人网| 国产精品美女主播| 日韩视频免费观看高清在线视频| 欧美一区2区三区4区公司二百| 欧美裸体一区二区三区| 在线欧美电影| 久久精品网址| 国产模特精品视频久久久久| 在线视频日韩| 欧美啪啪一区| 最新成人在线| 免费91麻豆精品国产自产在线观看| 国产欧美一区二区在线观看| 亚洲一级二级| 欧美日韩一区视频| 亚洲精品三级| 欧美成人精品在线| 精品不卡一区| 久久久www免费人成黑人精品| 国产老肥熟一区二区三区| 亚洲午夜视频| 欧美色区777第一页| 亚洲精品国产精品久久清纯直播 | 激情综合自拍| 欧美影院一区| 国产麻豆精品视频| 亚洲欧美久久久| 国产精品国产a级| 正在播放欧美一区| 欧美日韩影院| 在线午夜精品| 国产精品成人一区二区三区吃奶| 99国产精品国产精品毛片| 欧美精品九九| 亚洲精品一区在线观看| 欧美国产日韩一区二区在线观看 | 久久精品在线观看| 国产一区二区三区免费不卡 | 亚洲综合精品四区| 国产精品成人在线| 亚洲一区在线直播| 国产精品久久九九| 亚洲摸下面视频| 国产精品久久久久7777婷婷| 亚洲午夜伦理| 国产麻豆精品theporn| 欧美在线视屏| 激情视频一区二区三区| 美女网站在线免费欧美精品| 亚洲国产经典视频| 欧美一进一出视频| 欧美成人免费va影院高清| 亚洲电影免费观看高清| 欧美大胆成人| 99精品视频免费在线观看| 欧美日韩综合视频网址| 亚洲一区二区欧美| 国产日韩欧美不卡| 久久嫩草精品久久久久| 亚洲国产婷婷香蕉久久久久久99| 欧美成人综合在线| 99日韩精品| 国产精品久久久久毛片软件| 欧美一区二区视频免费观看| 国产综合色精品一区二区三区| 亚洲自拍偷拍视频| 国产精品一区免费在线观看| 久久精品国产综合精品| 亚洲国产第一| 欧美日韩直播| 欧美一乱一性一交一视频| 激情一区二区三区| 欧美精品一区二区三区高清aⅴ| 一二三区精品| 国产区在线观看成人精品| 久久一本综合频道| 99xxxx成人网| 国产日韩欧美在线一区| 男女精品网站| 国产精品99久久不卡二区| 国产日韩欧美高清| 欧美va天堂va视频va在线| 一区二区冒白浆视频| 国产日本欧美一区二区三区在线 | 久久久久久久久综合| 亚洲精品色婷婷福利天堂| 国产精品美女久久久| 久久久免费精品| 日韩手机在线导航| 国产亚洲人成网站在线观看| 欧美肥婆在线| 午夜日韩在线观看| 亚洲欧洲在线看| 国产美女扒开尿口久久久| 美国三级日本三级久久99| 制服丝袜亚洲播放| 在线成人免费观看| 国产精品成人观看视频国产奇米| 久久久精品日韩| 中文一区二区在线观看| 在线成人欧美| 国产精品一二三四区| 你懂的一区二区| 午夜伦理片一区| 日韩视频永久免费观看| 国产偷国产偷精品高清尤物| 欧美极品aⅴ影院| 久久成人人人人精品欧| 一本久久青青| 在线精品一区| 国产精品一区二区在线观看网站| 欧美国产欧美亚洲国产日韩mv天天看完整 | 在线观看视频一区二区| 国产精品分类| 欧美国产一区二区三区激情无套| 亚洲欧美综合国产精品一区| 亚洲精品欧美专区| 国内成人精品视频| 国产精品久久久久久久一区探花| 女女同性精品视频| 欧美影院一区| 亚洲愉拍自拍另类高清精品| 日韩视频一区二区三区在线播放| 激情成人中文字幕| 国产伦精品一区二区三区视频黑人| 欧美精品电影在线| 久久综合综合久久综合| 欧美一区免费视频| 亚洲影院色无极综合| 亚洲久久成人| 亚洲国产成人精品视频| 国内激情久久| 国产视频久久久久| 国产精品丝袜xxxxxxx| 欧美特黄视频| 欧美日韩国产va另类| 亚洲欧美一区二区原创| 99精品福利视频| 亚洲黄色av| 亚洲第一毛片| 今天的高清视频免费播放成人| 国产酒店精品激情| 国产精品免费福利| 国产精品va在线| 久久综合综合久久综合| 久久成人综合网| 欧美一区二区三区免费观看视频 | 中文有码久久| 一区二区三区精品国产| 亚洲美女黄网| 日韩亚洲综合在线| 日韩视频在线观看国产| 亚洲精品视频啊美女在线直播| 亚洲第一页自拍| 亚洲高清一区二| 国产精品你懂得| 欧美亚男人的天堂| 欧美色网一区二区| 免费看亚洲片| 美女在线一区二区| 免费成人性网站| 欧美韩日亚洲| 欧美日韩91| 欧美性大战久久久久久久蜜臀| 欧美午夜精品久久久久免费视 | 欧美精品系列| 欧美人与禽猛交乱配| 欧美日韩免费区域视频在线观看|