国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

springboot+grpc+k8s+istio環(huán)境

這篇具有很好參考價(jià)值的文章主要介紹了springboot+grpc+k8s+istio環(huán)境。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

2023年8月17日,本人之前使用過nacos+dubbo+springboot、eureka+feign等環(huán)境。最近學(xué)習(xí)到了istio服務(wù)網(wǎng)格集成到k8s也可以實(shí)現(xiàn)分布式微服務(wù)。

1. 環(huán)境

  • Kubernetes集群
  • istio集成到k8s
  • jdk17 (8也ok)
  • gPRC服務(wù)間通信

2. 微服務(wù)

  • cloud-config服務(wù)是spring-cloud-config-server配置中心,用于加載遠(yuǎn)程配置文件,該服務(wù)端口號(hào)8081
  • boot-rpc-service服務(wù)是生產(chǎn)者微服務(wù),開放的gRPC端口18082
  • boot-grpc-client服務(wù)是消費(fèi)者微服務(wù),開放的http端口是8083,開放接口/test1?name=hello實(shí)現(xiàn)了grpc調(diào)用生產(chǎn)者微服務(wù)
  • 公共服務(wù)boot-grpc-api是生成的grpc proto信息

3. 部署到k8s

本地測試成功后,部署k8s

  1. 生成各個(gè)服務(wù)jar包,上傳服務(wù)器

    • cloud-config.jar
    • boot-rpc-service.jar
    • boot-grpc-client.jar
  2. 構(gòu)建各個(gè)服務(wù)docker鏡像

    • istio-demo-spring-configserver:v3
    • istio-demo-spring-gprc-server:v3
    • istio-demo-spring-gprc-client:v3
  3. 創(chuàng)建各個(gè)微服務(wù)deployment資源

    - image: 'istio-demo-spring-configserver:v3'
      ports:
        - containerPort: 8081
    
    - image: 'istio-demo-spring-gprc-server:v3'
      ports:
        - containerPort: 18082
    
    - image: 'istio-demo-spring-gprc-client:v3'
      ports:
        - containerPort: 8083
    
  4. 創(chuàng)建service資源

    kind: Service
    metadata:
      name: web-base
    spec:
      ports:
        - name: config8081
          port: 8081
          targetPort: 8081
        - name: gserver18082
          port: 18082
          targetPort: 18082
        - name: gclient8083
          port: 8083
          targetPort: 8083
    
  5. 到此還沒使用istio的功能,先驗(yàn)證一下服務(wù)是否正常啟動(dòng)
    curl -I "http://web-base:8083/test1?name=hello"
    結(jié)果;
    HTTP/1.1 200 OK
    content-type: text/plain;charset=UTF-8
    content-length: 14
    date: Thu, 17 Aug 2023 02:40:23 GMT
    x-envoy-upstream-service-time: 32
    server: envoy

  6. 創(chuàng)建istio虛擬服務(wù)用于內(nèi)部grpc通信

    apiVersion: networking.istio.io/v1alpha3
    kind: VirtualService
    metadata:
      name: web-base-internal-vs
    spec:
      hosts:
        - web-base
      http:
          route:
            - destination:
                host: web-base
                subset: dd11
              headers:
                response:
                  set:
                    ssxppp: ffffffyyyyyyy-internall
    ---
    apiVersion: networking.istio.io/v1alpha3
    kind: DestinationRule
    metadata:
      name: web-base-dr
    spec:
      host: web-base
      subsets:
        - name: dd11
          labels:
            version: vv11
    
  7. 使用istio的功能,先驗(yàn)證一下內(nèi)部服務(wù)是否添加了響應(yīng)header信息
    curl -I "http://web-base:8083/test1?name=hello"
    結(jié)果;
    HTTP/1.1 200 OK
    content-type: text/plain;charset=UTF-8
    content-length: 14
    date: Thu, 17 Aug 2023 02:40:23 GMT
    x-envoy-upstream-service-time: 32
    server: envoy
    ssxppp: ffffffyyyyyyy-internall

  8. 創(chuàng)建istio網(wǎng)關(guān)和虛擬服務(wù)用于外部交互

    apiVersion: networking.istio.io/v1alpha3
    kind: VirtualService
    metadata:
      name: web-base-external-vs
    spec:
      hosts:
        - grpcdemo.xxx.cn
      gateways:
        - grpcdemo-gateway
      http:
          route:
            - destination:
                host: web-base
                subset: dd11
                port:
                  number: 8083
              headers:
                response:
                  set:
                    ssxppp: ffffffyyyyyyy-externall
    ---
    apiVersion: networking.istio.io/v1alpha3
    kind: Gateway
    metadata:
      name: grpcdemo-gateway
    spec:
      selector:
        istio: ingressgateway # use Istio default gateway implementation
      servers:
        - port:
            number: 80
            name: http
            protocol: HTTP
          hosts:
            - "grpcdemo.xxx.cn"
    
  9. 驗(yàn)證外部訪問是否成功
    curl -I -HHost:grpcdemo.xxx.cn "http://192.168.0.101:32318/test1?name=hello" (端口號(hào)是ingressgateway服務(wù)的nodeport)
    結(jié)果;
    HTTP/1.1 200 OK
    content-type: text/plain;charset=UTF-8
    content-length: 14
    date: Thu, 17 Aug 2023 02:40:23 GMT
    x-envoy-upstream-service-time: 32
    server: envoy
    ssxppp: ffffffyyyyyyy-extenall

源碼

https://github.com/shenshuxin01/grpc-springboot/tree/dev-istio文章來源地址http://www.zghlxwxcb.cn/news/detail-662639.html

到了這里,關(guān)于springboot+grpc+k8s+istio環(huán)境的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Spring Boot + k8s = 王炸!

    來源:https://blog.csdn.net/qq_14999375/article/details/123309636 K8s + Spring Boot實(shí)現(xiàn)零宕機(jī)發(fā)布:健康檢查+滾動(dòng)更新+優(yōu)雅停機(jī)+彈性伸縮+Prometheus監(jiān)控+配置分離(鏡像復(fù)用) 健康檢查類型:就緒探針(readiness)+ 存活探針(liveness) 探針類型:exec(進(jìn)入容器執(zhí)行腳本)、tcpSocket(探測端口

    2024年02月14日
    瀏覽(24)
  • k8s webhook實(shí)例,java springboot程序?qū)崿F(xiàn) 對(duì)Pod創(chuàng)建請(qǐng)求添加邊車容器 ,模擬istio實(shí)現(xiàn)日志文件清理

    k8s webhook實(shí)例,java springboot程序?qū)崿F(xiàn) 對(duì)Pod創(chuàng)建請(qǐng)求添加邊車容器 ,模擬istio實(shí)現(xiàn)日志文件清理

    大綱 背景與原理 實(shí)現(xiàn)流程 開發(fā)部署my-docker-demo-sp-user服務(wù)模擬業(yè)務(wù)項(xiàng)目 開發(fā)部署my-sidecar服務(wù)模擬邊車程序 開發(fā)部署服務(wù)my-docker-demo-k8s-operator 提供webhook功能 創(chuàng)建MutatingWebhookConfiguration 動(dòng)態(tài)準(zhǔn)入配置 測試邊車注入效果 背景: 原理: 涉及項(xiàng)目 my-docker-demo-sp-user 模擬業(yè)務(wù)項(xiàng)目

    2024年02月15日
    瀏覽(23)
  • 【k8s】搭建小巧完備的Kubernetes環(huán)境(minikube)

    【k8s】搭建小巧完備的Kubernetes環(huán)境(minikube)

    容器技術(shù)的核心概念是容器、鏡像、倉庫,使用這三大基本要素我們就可以輕松地完成應(yīng)用的打包、分發(fā)工作,實(shí)現(xiàn)“一次開發(fā),到處運(yùn)行”的夢想。 不過,當(dāng)我們熟練地掌握了容器技術(shù),信心滿滿地要在服務(wù)器集群里大規(guī)模實(shí)施的時(shí)候,卻會(huì)發(fā)現(xiàn)容器技術(shù)的創(chuàng)新只是解決了

    2024年02月02日
    瀏覽(33)
  • k8s kubernetes 1.23.6 + flannel公網(wǎng)環(huán)境安裝

    k8s kubernetes 1.23.6 + flannel公網(wǎng)環(huán)境安裝

    準(zhǔn)備環(huán)境,必須是同一個(gè)云服務(wù)廠商,如:華為,阿里、騰訊等,不要存在跨平臺(tái)安裝K8S,跨平臺(tái)安裝需要處理網(wǎng)絡(luò)隧道才能實(shí)現(xiàn)所有節(jié)點(diǎn)在一個(gè)網(wǎng)絡(luò)集群中,這里推薦使用同一家云服務(wù)廠商安裝即可 這里使用centos7進(jìn)行安裝: 必須先開通端口 2380 2379 10250 10257 10259 6443 否則會(huì)

    2024年02月07日
    瀏覽(27)
  • 超詳細(xì)的kubeedge與kubernetes(k8s)環(huán)境配置教程

    超詳細(xì)的kubeedge與kubernetes(k8s)環(huán)境配置教程

    注意: 對(duì)于kubeedge和k8s的監(jiān)控可以參考這一篇——通過prometheus和grafana來監(jiān)管數(shù)據(jù); 對(duì)于虛擬機(jī)環(huán)境的搭建可以參考這一篇。 對(duì)于搭建所需文件:阿里云盤 本文最后由錯(cuò)誤歸納。 文章每周更新,如果喜歡的話可以三聯(lián)!?。?云端只部署一個(gè)master節(jié)點(diǎn),邊緣端部署一個(gè)edgen

    2024年02月04日
    瀏覽(29)
  • k8s 安裝istio (一)

    k8s 安裝istio (一)

    前置條件 已經(jīng)完成 ?K8S安裝過程十:Kubernetes CNI插件與CoreDNS服務(wù)部署 部署 istio 服務(wù)網(wǎng)格與 Ingress 服務(wù)用到了 helm 與 kubectl 這兩個(gè)命令行工具,這個(gè)命令行工具依賴 ~/.kube/config 這個(gè)配置文件,目前只在 kubernetes master 節(jié)點(diǎn)中生成了這個(gè)文件。 以下操作在 Kubernetes Master 節(jié)點(diǎn)上執(zhí)

    2024年02月11日
    瀏覽(22)
  • k8s 安裝 istio(二)

    k8s 安裝 istio(二)

    部署 Jaeger 服務(wù) kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.16/samples/addons/jaeger.yaml 創(chuàng)建? jaeger-vs.yaml ?文件 apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: ? name: jaeger-vs ? namespace: istio-system spec: ? hosts: ? - jaeger.域名.com ? gateways: ? - admin-gateway ? http: ? -

    2024年02月11日
    瀏覽(46)
  • Spring Cloud Gateway使用K8S (Kubernetes)的云原生服務(wù)發(fā)現(xiàn)

    Spring Cloud Gateway通常使用注冊(cè)中心作為服務(wù)發(fā)現(xiàn),但在Kubernetes里面,由于K8S已經(jīng)集成了服務(wù)注冊(cè)與發(fā)現(xiàn)功能,不必要再另外使用注冊(cè)中心了,而且,還可以使用K8S的服務(wù)監(jiān)控對(duì)服務(wù)進(jìn)行監(jiān)控。 本來按照網(wǎng)上教程,升級(jí)到最新版的springboot3.x,結(jié)果發(fā)現(xiàn)無法發(fā)現(xiàn)服務(wù)。后來按著

    2024年04月22日
    瀏覽(95)
  • 【Spring Cloud Kubernetes】使用k8s原生service實(shí)現(xiàn)服務(wù)注冊(cè)和發(fā)現(xiàn)

    @TOC 現(xiàn)在微服務(wù)開發(fā)模式應(yīng)用的越來越廣泛,注冊(cè)中心 Eureka 也逐漸被其它注冊(cè)中心產(chǎn)品替代,比如阿里出品的 Nacos 。隨著云原生相關(guān)技術(shù)的普及, k8s 迅猛發(fā)展,我們把 K8s 中的 Pod 暴露給外部訪問,通過少了 Service ,這也是今天的主角。 有沒有發(fā)現(xiàn),其實(shí) Service 已經(jīng)解決了

    2024年02月12日
    瀏覽(166)
  • Kubernetes技術(shù)--使用kubeadm搭建高可用的K8s集群(貼近實(shí)際環(huán)境)

    Kubernetes技術(shù)--使用kubeadm搭建高可用的K8s集群(貼近實(shí)際環(huán)境)

    1.高可用k8s集群架構(gòu)(多master) 2.安裝硬件要求 一臺(tái)或多臺(tái)機(jī)器,操作系統(tǒng) CentOS7.x-86_x64 硬件配置:2GB或更多RAM,2個(gè)CPU或更多CPU,硬盤30GB或更多 注: 這里屬于教學(xué)環(huán)境,所以使用三臺(tái)虛擬機(jī)模擬實(shí)現(xiàn)。 3.部署規(guī)劃 4.部署前準(zhǔn)備 (1).關(guān)閉防火墻 (2).關(guān)閉selinux (3).關(guān)閉swap (4).根據(jù)規(guī)

    2024年02月10日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包