最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于域名的方式訪問Istio服務(wù)網(wǎng)格中的多個(gè)應(yīng)用程序的方法詳解

 更新時(shí)間:2022年07月15日 10:43:49   作者:Jiangxl~  
這篇文章主要介紹了基于域名的方式訪問Istio服務(wù)網(wǎng)格中的多個(gè)應(yīng)用程序,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

1.為什么要使用域名訪問部署在Istio中的程序

我們在Istio中部署的程序一定不止有一個(gè),前面我們已經(jīng)在Istio中部署了Httpbin、Bookinfo、Nginx這三個(gè)應(yīng)用程序,但是我們使用節(jié)點(diǎn)IP加NodePort端口的方式永遠(yuǎn)只是請求到了一個(gè)應(yīng)用程序,就好比我們已經(jīng)實(shí)現(xiàn)了Nginx的基于端口的訪問模式,不過每個(gè)應(yīng)用程序都是用的是80端口,才導(dǎo)致只訪問到了一個(gè)應(yīng)用程序,在實(shí)際生產(chǎn)中,Istio中一定會部署很多個(gè)應(yīng)用程序,我們需要實(shí)現(xiàn)基于域名來訪問不同的應(yīng)用程序。

應(yīng)用部署在Istio之后,將程序?qū)ν獍l(fā)布,會創(chuàng)建Gateway以及VirtualService資源,我們只需要在這兩個(gè)資源中聲明程序使用的域名,就可以接受來自LB的請求轉(zhuǎn)發(fā),LB的請求中會攜帶主機(jī)頭,從而轉(zhuǎn)發(fā)到對應(yīng)的應(yīng)用程序。

當(dāng)然也可以不額外占用服務(wù)器去搭建LB產(chǎn)品,我們可以在K8S集群中搭建一個(gè)Nginx服務(wù),由K8S中的Nginx服務(wù)接收80端口流量請求轉(zhuǎn)發(fā)至IngressGateway,為什么不使用Ingress呢,Ingress需要為每一個(gè)網(wǎng)站創(chuàng)建資源編排文件,如果域名很多的情況下,配置比較繁瑣。

如下圖所示:用戶請求bookinfo的項(xiàng)目,在瀏覽器中輸入bookinfo.jiangxl.com域名,由DNS解析到LB負(fù)載均衡器,LB負(fù)載均衡器會將請求轉(zhuǎn)發(fā)到IngressGateway中,IngressGateway根據(jù)請求頭中的域名,將請求轉(zhuǎn)發(fā)到對應(yīng)的Gateway中,然后在將請求轉(zhuǎn)發(fā)到應(yīng)用程序的Service資源,最后由應(yīng)用程序的Pod資源提供應(yīng)用程序的服務(wù)。

2.通過域名的方式訪問Istio網(wǎng)格中的應(yīng)用程序

2.1.配置Gateway和VirtualService資源

配置每個(gè)應(yīng)用程序的Gateway以及VirtualService資源,為應(yīng)用程序綁定使用的域名,綁定后只有這個(gè)域名的流量請求才會被轉(zhuǎn)發(fā)到這個(gè)Gateway以及VirtualService資源上。

2.1.1.修改httpbin程序的Gateway和VirtualService資源

1)配置Gateway以及VirtualService資源綁定域名

[root@k8s-master istio-1.8.2]# vim samples/httpbin/httpbin-gateway.yaml 
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: httpbin-gateway
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - "httpbin.jiangxl.com"				#在hosts中綁定程序的域名
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: httpbin
spec:
  hosts:
  - "httpbin.jiangxl.com"				#同樣在hosts中管理程序的域名
  gateways:
  - httpbin-gateway
  http:
  - route:
    - destination:
        host: httpbin
        port:
          number: 8000

2)更新httpbin程序的GW和VS資源

[root@k8s-master istio-1.8.2]# kubectl apply -f samples/httpbin/httpbin-gateway.yaml
gateway.networking.istio.io/httpbin-gateway created
virtualservice.networking.istio.io/httpbin created

2.1.2.修改bookinfo程序的Gateway和VirtualService資源

1)配置Gateway以及VirtualService資源綁定域名

[root@k8s-master istio-1.8.2]# vim samples/bookinfo/networking/bookinfo-gateway.yaml 
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: bookinfo-gateway
spec:
  selector:
    istio: ingressgateway # use istio default controller
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - "bookinfo.jiangxl.com"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: bookinfo
spec:
  hosts:
  - "bookinfo.jiangxl.com"
  gateways:
  - bookinfo-gateway
  http:
  - match:
    - uri:
        exact: /productpage
    - uri:
        prefix: /static
    - uri:
        exact: /login
    - uri:
        exact: /logout
    - uri:
        prefix: /api/v1/products
    route:
    - destination:
        host: productpage
        port:
          number: 9080

2)更新bookinfo程序的GW和VS資源

[root@k8s-master istio-1.8.2]# kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml -n bookinfo
gateway.networking.istio.io/bookinfo-gateway configured
virtualservice.networking.istio.io/bookinfo configured

2.1.3.修改nginx程序的Gateway和VirtualService資源

1)配置Gateway以及VirtualService資源綁定域名

[root@k8s-master istio-1.8.2]# vim samples/myproject/nginx-gateway.yaml 
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: nginx-gateway
  namespace: istio-project
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - "nginx.jiangxl.com"
[root@k8s-master istio-1.8.2]# vim samples/myproject/nginx-virtualservice.yaml 
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: nginx-vs
  namespace: istio-project
spec:
  hosts:
  - "nginx.jiangxl.com"
  gateways:
  - nginx-gateway
  http:
  - route:
    - destination:
        host: nginx-svc
        subset: v1
      weight: 100
    mirror:
      host: nginx-svc
      subset: v2
    mirror_percent: 100

2)創(chuàng)建nginx程序的GW和VS資源

[root@k8s-master istio-1.8.2]# kubectl apply -f samples/myproject/nginx-gateway.yaml 
gateway.networking.istio.io/nginx-gateway configured
[root@k8s-master istio-1.8.2]# kubectl apply -f samples/myproject/nginx-virtualservice.yaml 
virtualservice.networking.istio.io/nginx-vs configured

2.2.配置LB代理Istio的IngressGateway

LB負(fù)載均衡我們采用Nginx來實(shí)現(xiàn),由Nginx去反向代理IngressGateway的NodePort端口來實(shí)現(xiàn)基于域名去訪問Istio中的程序。

1.安裝Nginx
[root@lb~]# yum -y install nginx
2.配置Nginx反向代理Istio的IngressGateway
[root@lb~]# vim /etc/nginx/conf.d/istio-ingressgateway.conf
server {
        listen 80;
        server_name _;

        location / {
                proxy_http_version 1.1;			#開啟http的1.1版本協(xié)議,istio是1.1版本,nginx默認(rèn)1.0版本
                proxy_set_header Host $host;			#代理轉(zhuǎn)發(fā)時(shí)攜帶請求的主機(jī)頭
                proxy_pass http://192.168.20.10:31105;		#代理到istio的IngressGateway
        }
}
3.啟動(dòng)Nginx
[root@lb~]# systemctl restart nginx

3.基于域名來訪問Istio中的各個(gè)程序

測試之前先將域名解析寫入本地hosts文件。

192.168.20.13 httpbin.jiangxl.com bookinfo.jiangxl.com nginx.jiangxl.com

1)httpbin程序的訪問

2)bookinfo程序的訪問

3)nginx程序的訪問

到此這篇關(guān)于基于域名的方式訪問Istio服務(wù)網(wǎng)格中的多個(gè)應(yīng)用程序的文章就介紹到這了,更多相關(guān)Istio服務(wù)網(wǎng)格內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • hexo博客開啟https的SSL?證書實(shí)現(xiàn)過程

    hexo博客開啟https的SSL?證書實(shí)現(xiàn)過程

    這篇文章主要為大家介紹了hexo?博客開啟https的SSL證書實(shí)現(xiàn)過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • git pull每次都要輸入用戶名和密碼的解決辦法

    git pull每次都要輸入用戶名和密碼的解決辦法

    本文主要介紹了git pull每次都要輸入用戶名和密碼的解決辦法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Git基本常用命令

    Git基本常用命令

    本文主要介紹了Git基本常用命令。具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-01-01
  • idea2020.1 常用設(shè)置圖文詳解

    idea2020.1 常用設(shè)置圖文詳解

    這篇文章主要介紹了idea2020.1 常用設(shè)置,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 2020最新版vscode格式化代碼的詳細(xì)教程

    2020最新版vscode格式化代碼的詳細(xì)教程

    這篇文章主要介紹了2020最新版vscode格式化代碼的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • openlayers?模仿高德箭頭導(dǎo)航路線圖的代碼詳解

    openlayers?模仿高德箭頭導(dǎo)航路線圖的代碼詳解

    這篇文章主要介紹了openlayers?模仿高德箭頭導(dǎo)航路線圖的示例代碼,主要包括原始數(shù)據(jù)、起點(diǎn)/終點(diǎn)尋找、起點(diǎn)和終點(diǎn)樣式函數(shù),結(jié)合示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • i++循環(huán)與i-–循環(huán)的執(zhí)行效率(遞增與遞減效率)

    i++循環(huán)與i-–循環(huán)的執(zhí)行效率(遞增與遞減效率)

    i++循環(huán)與i-–循環(huán)的執(zhí)行效率(遞增與遞減效率),需要的朋友可以參考下。
    2011-01-01
  • 301重定向代碼合集(iis,asp,php,asp.net,apache)

    301重定向代碼合集(iis,asp,php,asp.net,apache)

    腳本之家將SEO工作中所需要的301轉(zhuǎn)向代碼進(jìn)行了整理,收藏并分享,以備查閱。
    2011-02-02
  • 關(guān)于Sourcetree啟動(dòng)問題(完美解決)

    關(guān)于Sourcetree啟動(dòng)問題(完美解決)

    文章講述了SourceTree閃退的問題及其解決方法,源因?yàn)槲搓P(guān)閉SourceTree而關(guān)機(jī)或系統(tǒng)更新導(dǎo)致緩存信息不匹配,解決方法是刪除緩存文件或特定緩存目錄中的[Composition.cache]文件
    2024-11-11
  • 代碼著色之SyntaxHighlighter項(xiàng)目(最流行的代碼高亮)

    代碼著色之SyntaxHighlighter項(xiàng)目(最流行的代碼高亮)

    dp.SyntaxHighlighter。它可以在網(wǎng)頁中對各種程序源代碼語法進(jìn)行加亮顯示。支持當(dāng)前流 行的各種編程語言:C#、CSS、C++、Delphi、Java、JavaScript、PHP、Python、Ruby、SQL、Visual Basic、XML / HTML等
    2014-04-04

最新評論

普陀区| 盐边县| 酒泉市| 柳江县| 长顺县| 高台县| 澎湖县| 双辽市| 镶黄旗| 新平| 司法| 额济纳旗| 儋州市| 上思县| 平江县| 吉安县| 平潭县| 平阳县| 齐齐哈尔市| 台中县| 灌云县| 馆陶县| 保山市| 庆元县| 邯郸市| 黄山市| 贵南县| 咸丰县| 抚宁县| 肥西县| 衡阳市| 三河市| 始兴县| 徐水县| 博爱县| 吴旗县| 万年县| 民勤县| 江阴市| 罗定市| 塔城市|