当前位置: 首页 > news >正文

云计算-容器云-服务网格Bookinfo

服务网格:创建 Ingress Gateway
将 Bookinfo 应用部署到 default 命名空间下,请为 Bookinfo 应用创建一个网 关,使外部可以访问 Bookinfo 应用。
上传ServiceMesh.tar.gz包

[root@k8s-master-node1 ~]# tar -zxvf ServiceMesh.tar.gz 
[root@k8s-master-node1 ~]# cd ServiceMesh/images/
[root@k8s-master-node1 images]# docker load -i image.tar 
部署Bookinfo应用到kubernetes集群:
[root@k8s-master-node1 images]# cd /root/ServiceMesh/
[root@k8s-master-node1 ServiceMesh]# kubectl apply -f bookinfo/bookinfo.yaml
service/details created
serviceaccount/bookinfo-details created
deployment.apps/details-v1 created
service/ratings created
serviceaccount/bookinfo-ratings created
deployment.apps/ratings-v1 created
service/reviews created
serviceaccount/bookinfo-reviews created
deployment.apps/reviews-v1 created
service/productpage created
serviceaccount/bookinfo-productpage created
deployment.apps/productpage-v1 created
[root@k8s-master-node1 ServiceMesh]# kubectl get pod
NAME                              READY   STATUS    RESTARTS   AGE
details-v1-79f774bdb9-kndm9       1/1     Running   0          7s
productpage-v1-6b746f74dc-bswbx   1/1     Running   0          7s
ratings-v1-b6994bb9-6hqfn         1/1     Running   0          7s
reviews-v1-545db77b95-j72x5       1/1     Running   0          7s
[root@k8s-master-node1 ServiceMesh]# vim bookinfo-gateway.yaml
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:name: bookinfo-gateway
spec:selector:istio: ingressgatewayservers:- port:number: 80name: httpprotocol: HTTPhosts: - "*" 
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:name: bookinfo
spec:hosts: - "*"  gateways:- bookinfo-gatewayhttp:- match: - uri:exact: /productpage - uri:prefix: /static- uri:exact: /login- uri:exact: /logout- uri:prefix: /api/v1/productsroute: # 定义路由转发目的地列表- destination:host: productpageport:number: 9080
[root@k8s-master-node1 ServiceMesh]# kubectl apply -f bookinfo-gateway.yaml
gateway.networking.istio.io/bookinfo-gateway created
virtualservice.networking.istio.io/bookinfo created 
[root@k8s-master-node1 ServiceMesh]#kubectl get VirtualService bookinfo -o yaml
bookinfo-gateway || exact: /productpage || destination || host: productpage || number: 9080
[root@k8s-master-node1 ServiceMesh]#kubectl get gateway bookinfo-gateway -o yaml
istio: ingressgateway

服务网格:路由管理
将 Bookinfo 应用部署到 default 命名空间下,应用默认请求路由,将所有流 量路由到各个微服务的 v1 版本。然后更改请求路由 reviews,将指定比例的流量 从 reviews 的 v1 转移到 v3。

[root@k8s-master-node1 ServiceMesh]# vim route.yaml
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:name: reviews-route
spec:hosts: # 将流量路由到指定主机- reviewshttp:- name: "v1"route: # 定义路由转发目的地列表(所有http流量都会被路由到标签为version:v1的reviews服务上)- destination:host: reviewssubset: v1- name: "v2"match:- uri:prefix: "/wpcatalog"- uri:prefix: "/consumercatalog"rewrite: # 定义重写HTTP URL 或 Authority headers,不能与重定向同时配置,重写操作会在转发前执行uri: "/newcatalog"route:- destination:host: reviewssubset: v2
[root@k8s-master-node1 ServiceMesh]# kubectl apply -f route.yaml
virtualservice.networking.istio.io/reviews-route created

相关文章:

  • 云计算-容器云-部署jumpserver 版本2
  • 推荐免费的RVC模型下载网站
  • 开源无人机地面站QGroundControl安卓界面美化与逻辑优化实战
  • 如何在NGINX中实现基于IP的访问控制(IP黑白名单)?
  • 解构区块链身份认证:从ID到零知识证明的实战指南
  • 2025年五一数学建模A题【支路车流量推测】原创论文讲解
  • 笔试专题(十四)
  • shell_plus
  • xshell 左边的会话管理器不见怎么办?
  • [面试]SoC验证工程师面试常见问题(一)
  • Python智能体开发
  • 用Selenium开启自动化网页交互与数据抓取之旅
  • git问题记录-如何切换历史提交分支,且保留本地修改
  • 华为网路设备学习-20 IGP路由专题-过滤策略(Filter-Policy)
  • C++ - 数据容器之 list(创建与初始化、元素访问、容量判断、元素遍历、添加元素、删除元素)
  • 部署Superset BI(二)再战Superset
  • DeepSeek+Excel:解锁办公效率新高度
  • 【C语言练习】017. 理解指针与数组的关系
  • 【计算机视觉】三维视觉:Instant-NGP:实时神经辐射场的革命性突破
  • [创业之路-354]:农业文明到智能纪元:四次工业革命下的人类迁徙与价值重构
  • 菏泽家长“付费查成绩”风波调查:免费功能被误读
  • 王毅在金砖正式成员和伙伴国外长会上的发言
  • 龙翔被撤销南京市人大常委会主任职务,此前已被查
  • 韩国代总统、国务总理韩德洙宣布辞职
  • 人民日报评论员:因势利导对经济布局进行调整优化
  • 大学2025丨对话深大人工智能学院负责人李坚强:产学研生态比“造天才”更重要