【云原生 | 从零开始学istio】四、实战k8s安装istio以及在线书店介绍

在这里插入图片描述

安装 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

感谢各位的观看,文章掺杂个人理解,如有错误请联系我指出~

猜你喜欢

转载自blog.csdn.net/qq_45400861/article/details/127527078