背景介绍
Istio 是一种服务网格,是一种现代化的服务网络层,它提供了一种透明、独立于语言的方法,以灵活且轻松地实现应用网络功能自动化。它是一种管理构成云原生应用的不同微服务的常用解决方案。Istio 服务网格还支持这些微服务彼此之间的通信和数据共享方式。Istio 的学习与使用具有一定的门槛,对初学者可能不太友好,官方示例也不一定能运行成功,本文将介绍一个开源工具让你一键体验 Istio。
服务器准备
为了方便演示以及备案的烦恼,本文会在腾讯云开通两台 4 核 8 G 按量付费的香港竞价实例,如果已有服务器可跳过此步。
1. 开通香港竞价实例
2. 选择配置 - 4 核 8G
3. 选择操作系统 - CentOS 7.9
4. 设置实例数量 - 2 台
5. 选择网络 - Default,选择带宽 - 按使用流量 100Mbps
6. 选择安全组 - 默认,放通所有端口
7. 设置密码 - 这里使用 @ErikXu1234
8. 开通
安装 Kubernetes
准备好服务器后,信息如下:
角色 | 内网 IP | 公网 IP |
master | 172.19.0.11 | 43.155.112.62 |
node | 172.19.0.4 | 43.154.249.121 |
为了方便快速安装 kubernetes,这里使用 sealos 进行安装。更多 sealos 的信息,可查看:https://www.sealos.io/docs/getting-started/installation,也可以直接使用本文介绍的工具安装,工具封装了 sealos 。
1. 下载安装工具
在 master 服务器上,执行以下指令:
# 下载 wget https://github.com/ErikXu/power-ci/releases/download/0.1.1/power-ci.tar.gz # 解压 tar -xzvf power-ci.tar.gz # 设置权限 chmod +x power-ci
2. 安装 kubernetes
执行以下指令安装 kubernetes:
./power-ci k8s install --masters 172.19.0.11 --nodes 172.19.0.4 --password @ErikXu1234
等待 5-10 分钟,完成 kubernetes 安装:
安装 Istio
在 master 服务器上,执行以下指令,其中 erikxu.com 可以换成你的域名:
./power-ci istio install --domain erikxu.com
等待 5-10 分钟,完成 Istio 安装:
体验 Istio
1. 修改本地 hosts
由于没有 erikxu.com 的域名解析权,所以只能修改本地 hosts,把以下域名解析到 node 的公网 IP
43.154.249.121 bookinfo.erikxu.com 43.154.249.121 grafana.erikxu.com 43.154.249.121 jaeger.erikxu.com 43.154.249.121 kiali.erikxu.com 43.154.249.121 prometheus.erikxu.com
2. 访问示例页面 - http://bookinfo.erikxu.com:30080/productpage
多次刷新页面触发不同版本(右边多了星星):
3. 访问 kiali 查看流量调用情况 - http://kiali.erikxu.com:30080
4. 访问 jaeger 查看调用链 - http://jaeger.erikxu.com:30080
调用链列表:
调用链细节:
调用关系:
5. 访问 grafana 查看监控信息 - http://grafana.erikxu.com:30080
6.访问 prometheus 查看监控和 kiali 源数据 - http://prometheus.erikxu.com:30080/
温馨提示
如果使用腾讯云竞价实例,体验完毕后请记得销毁实例:
项目地址
目前计划维护 golang 和 .Net 两个版本,觉得好用请点个 star,反馈建议也欢迎提 issue,想一起做的开源项目的也可以留言联系或者提 pr。
-
golang 版本
https://github.com/ErikXu/power-ci
-
.Net 版本
https://github.com/ErikXu/PowerCI.Net
参考总结
以上就是本文希望分享的内容,如果大家有什么问题,欢迎在公众号 - 跬步之巅留言交流。