欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 会展 > K8S学习之基础七十四:部署在线书店bookinfo

K8S学习之基础七十四:部署在线书店bookinfo

2025/9/28 16:50:48 来源:https://blog.csdn.net/xiaofengkang/article/details/146984637  浏览:    关键词:K8S学习之基础七十四:部署在线书店bookinfo

部署在线书店bookinfo

在线书店-bookinfo
该应用由四个单独的微服务构成,这个应用模仿在线书店的一个分类,显示一本书的信息,页面上会显示一本书的描述,书籍的细节(ISBN、页数等),以及关于这本书的一些评论。

Bookinfo应用分为四个单独的微服务
1)productpage这个微服务会调用details和reviews两个微服务,用来生成页面;
2)details这个微服务中包含了书籍的信息;
3)reviews这个微服务中包含了书籍相关的评论,它还会调用ratings微服务;
4)ratings这个微服务中包含了由书籍评价组成的评级信息。

reviews微服务有3个版本
1)v1版本不会调用ratings服务;
2)v2版本会调用ratings服务,并使用1到5个黑色星形图标来显示评分信息;
3)v3版本会调用ratings服务,并使用1到5个红色星形图标来显示评分信息。

下图展示了这个应用的端到端架构
在这里插入图片描述
Bookinfo应用中的几个微服务是由不同的语言编写的。这些服务对istio并无依赖,但是构成了一个有代表性的服务网格的例子:它由多个服务、多个语言构成,并且reviews服务具有多个版本。

要在Istio中运行这一应用,无需对应用自身做出任何改变。 只要简单的在 Istio 环境中对服务进行配置和运行,具体一点说就是把 Envoy sidecar 注入到每个服务之中。 最终的部署结果将如下图所示:
在这里插入图片描述

istio默认自动注入 sidecar,需要为default命名空间打上标签istio-injection=enabled

kubectl label namespace default istio-injection=enabled

在这里插入图片描述

上传bookinfo镜像到harbor
在这里插入图片描述
使用kubectl部署应用,将kube下的镜像替换为harbor的镜像

cd istio/istio-1.18.2/samples/bookinfo/platform/kube
sed -i 's/docker.io/172.16.80.140/g' *
grep 172 *
kubectl apply -f bookinfo.yaml
kubectl get pods
kubectl get svc

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

由上图可以看出,新生成的pod都有两个容器

将svc productpage的type修改为NodePort,通过浏览器访问
在这里插入图片描述
istio也创建了几个对应的svc

kubectl get svc -n istio-system

在这里插入图片描述
这几个svc代理对应到istio的几个pod

创建网关和虚拟服务

cd samples/bookinfo/networking
kubectl apply -f bookinfo-gateway.yaml
kubectl get svc -n istio-system

在这里插入图片描述
在这里插入图片描述
刷新页面
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词