【云原生 | 从零开始学istio】四、实战k8s安装istio以及在线书店介绍
在线书店-bookinfo该应用由四个单独的微服务构成,这个应用模仿在线书店的一个分类,显示一本书的信息,页面上会显示一本书的描述,书籍的细节(ISBN、页数等),以及关于这本书的一些评论。Bookinfo 应用分为四个单独的微服务1)productpage 这个微服务会调用 details 和 reviews 两个微服务,用来生成页面;2)details 这个微服务中包含了书籍的信息;3)rev
安装 Isito
准备安装 Istio 是要的压缩包
官网下载地址:https://github.com/istio/istio/
1、把压缩包上传到 k8s 的控制节点手动解压:
[root@k8smaster ~]# tar zxvf istio-1.10.1-linux-amd64.tar.gz
切换到 istio 包所在目录下
samples/目录下,有示例应用程序,bin/目录下,包含 istioctl 的客户端文件。istioctl 工具用于手动注入 Envoy sidecar 代理。
[root@k8smaster ~]# cd istio-1.10.1
[root@k8smaster istio-1.10.1]# ls
bin LICENSE manifests manifest.yaml README.md samples tools
将 istioctl 客户端路径增加到 path 环境变量中,macOS 或 Linux 系统的增加方式如下:
[root@k8smaster istio-1.10.1]# export PATH=$PWD/bin:$PATH
把 istioctl 这个可执行文件拷贝到/usr/bin/目录
[root@k8smaster istio-1.10.1]# cd /root/istio-1.10.1/bin/
[root@k8smaster bin]# cp -ar istioctl /usr/bin/
安装 istio 需要的镜像默认从官网拉取,但是官网的镜像我们拉取会有问题,可以联系我微信下载镜像,然后上传到自己 k8s 集群的各个节点,通过 docker load -i 手动解压镜像
[root@k8snode1 ~]# mkdir istio
[root@k8snode1 ~]# mkdir bookinfo
[root@k8snode1 ~]# cd bookinfo/
上传六个bookinfo到这个目录。
[root@k8snode1 bookinfo]# docker load -i examples-bookinfo-details.tar.gz
[root@k8snode1 bookinfo]# docker load -i examples-bookinfo-reviews-v1.tar.gz
[root@k8snode1 bookinfo]# docker load -i examples-bookinfo-productpage.tar.gz
[root@k8snode1 bookinfo]# docker load -i examples-bookinfo-reviews-v2.tar.gz
[root@k8snode1 bookinfo]# docker load -i examples-bookinfo-ratings.tar.gz
[root@k8snode1 bookinfo]# docker load -i examples-bookinfo-reviews-v3.tar.gz
[root@k8snode1 bookinfo]# cd
[root@k8snode1 ~]# cd istio/
[root@k8snode1 istio]# docker load -i istio-1-10-1.tar.gz
[root@k8snode1 istio]# docker load -i engress-proxyv2-1-10-1.tar.gz
[root@k8snode1 istio]# docker load -i httpbin.tar.gz
安装,在 k8s 的控制节点操作
[root@k8smaster istio-1.10.1]# istioctl install --set profile=demo -y
看到如下,说明 istio 初始化完成:
✔ Istio core installed
✔ Istiod installed
✔ Egress gateways installed
✔ Ingress gateways installed
✔ Installation complete
卸载 istio 集群,暂时不执行,记住这个命令即可。
istioctl manifest generate --set profile=demo | kubectl delete -f -
通过 Istio 部署在线书店 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
感谢各位的观看,文章掺杂个人理解,如有错误请联系我指出~
更多推荐
所有评论(0)