从零开始部署istio微服务
前言
本教程基于腾讯云提供的服务网格,即istio
准备工作
正式开始
-
示例应用
这里直接使用istio官网提供的Bookinfo应用(在下一章教程中我会尝试自己编写应用)
Bookinfo 应用分为四个单独的微服务:
productpage
. 这个微服务会调用details
和reviews
两个微服务,用来生成页面。details
. 这个微服务中包含了书籍的信息。reviews
. 这个微服务中包含了书籍相关的评论。它还会调用ratings
微服务。ratings
. 这个微服务中包含了由书籍评价组成的评级信息。
reviews
微服务有 3 个版本:- v1 版本不会调用
ratings
服务。 - v2 版本会调用
ratings
服务,并使用 1 到 5 个黑色星形图标来显示评分信息。 - v3 版本会调用
ratings
服务,并使用 1 到 5 个红色星形图标来显示评分信息。
下图展示了这个应用的端到端架构。
-
部署应用(部署
deployment
,service
,serviceaccount
)点击查看应用的yaml代码
使用下述指令部署应用
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.7/samples/bookinfo/platform/kube/bookinfo.yaml
-
deployment
用于管理pod的多个副本,并确保pod按照期望的状态运行以下给出details的
deployment
示例,示例说明了deployment
的名称,标签,以及pod的信息。apiVersion: apps/v1 kind: Deployment metadata: name: details-v1 labels: app: details
-