一键体验 Istio
背景介绍
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
参考总结
以上就是本文希望分享的内容,如果大家有什么问题,欢迎在公众号 - 跬步之巅留言交流。
一键体验 Istio的更多相关文章
- 云原生 - 体验Istio的完美入门之旅(一)
作者:justmine 头条号:大数据达摩院 微信公众号:大数据处理系统 创作不易,在满足创作共用版权协议的基础上可以转载,但请以超链接形式注明出处. 为了方便大家阅读,可以关注头条号或微信公众号,后 ...
- 华为云和开源Istio运维管理对比样例应用部署
前言 在公有云方面,华为云已经率先将 Istio 作为产品投入到公有云中进行商业应用中,保持和开源istio高度兼容,做了商业化的运维管理界面,同时进行了性能优化.这里我们做一次验证测试. Booki ...
- 干货分享|使用 Istio 实现灰度发布
Kubernetes 作为基础平台,提供了强大的容器编排能力.但是在其上部署业务和服务治理上,仍然会面对一些复杂性和局限性.在服务治理上,已经有许多成熟的 ServiceMesh 框架用于扩充其能力, ...
- Istio on ACK集成生态(2): 扩展AlertManager集成钉钉助力可观测性监控能力
阿里云容器服务Kubernetes(简称ACK)支持一键部署Istio,可以参考文档在ACK上部署使用Isito.Istio on ACK提供了丰富的监控能力,为网格中的服务收集遥测数据,其中Mixe ...
- Istio on ACK集成生态(1): 集成TSDB助力可观测性存储
阿里云容器服务Kubernetes(简称ACK)支持一键部署Istio,可以参考文档在ACK上部署使用Isito.Istio on ACK提供了丰富的监控能力,为网格中的服务收集遥测数据,其中Mixe ...
- 云原生 - Istio可观察性之分布式跟踪(三)
作者:justmine 头条号:大数据与云原生 微信公众号:大数据与云原生 创作不易,在满足创作共用版权协议的基础上可以转载,但请以超链接形式注明出处. 为了方便阅读,微信公众号已按分类排版,后续的文 ...
- 云原生 - Istio可观察性之监控(四)
作者:justmine 头条号:大数据与云原生 微信公众号:大数据与云原生 创作不易,在满足创作共用版权协议的基础上可以转载,但请以超链接形式注明出处. 为了方便阅读,微信公众号已按分类排版,后续的文 ...
- Java进阶专题(二十八) Service Mesh初体验
前言 ⽬前,微服务的架构⽅式在企业中得到了极⼤的发展,主要原因是其解决了传统的单体架构中存在的问题.当单体架构拆分成微服务架构就可以⾼枕⽆忧了吗? 显然不是的.微服务架构体系中同样也存在很多的挑战 ...
- 阿里云 Serverless 再升级,从体验上拉开差距
差距都在细节上. Serverless 要成就云计算的下一个 10 年,不仅需要在技术上持续精进,也需要在产品体验上精耕细作. 近日,阿里云 Serverless 再度升级,发布了一系列围绕产品体验方 ...
随机推荐
- npm run dev 启动项目报错我的解决办法
我的报错截屏 解决方案 1. config文件中 index 文件中的 host 值如果是数字串就将其改为 localhost 2. 再次尝试 如果有遇到其他问题阔以将 node-mo ...
- OS模块中获取当前文件的绝对路径的相关方法
os.path.realpath(__file__) 作用:获取当前执行py脚本的绝对路径(在当前工作目录下的绝对路径) __file__ : 表示当前文件的本身,一般值是当前文件的相对路径 例如: ...
- Apache Pulsar Summit Asia 2020 正式启动,演讲议题征集中!
Apache Pulsar Summit 是 Apache Pulsar 社区年度盛会,它将分布在世界各地的 Apache Pulsar 项目 Contributor.Commiter 和各企业 CT ...
- mysql存储过程的创建和调用
描述:存储过程就是具有名字的一段代码,用来完成一个特定的功能.创建的存储过程保存在数据库的数据词典中. --创建一个名为GreetWorld的存储过程,拼接两个值 CREATE PROCEDURE G ...
- SSM整合,快速新建javaWeb项目
整合前需要了解: spring和springmvc包扫描的注意事项 Spring applicationContext.xml (父容器),SpringMVC springmvc-servlet.xm ...
- 你言我语 By Twikoo
主要做了两件事: 一是前端魔改 二是首页调用(替代原 bber) 注明:以下样式.功能代码基于 Twikoo v1.6.4 前端魔改 "管理面板"按钮同步隐藏输入框.先到twiko ...
- 1.5_HTML基础标签实战演练
基本的 HTML 标签 HTML 标题 HTML 标题(Heading)是通过 <h1> - <h6> 等标签进行定义的. <h1>This is a headin ...
- 【java】IDEA-jar包导出与导入
导出步骤: 1.CTRL + SHIFT + ALT + S 2.选择:Artifacts ,点击"+",在添加页面中选择:JAR-From modules with depend ...
- C#通过反射实现简单的控制反转和依赖注入(一)
Java项目中通过@Autowire便可以实现将对象实例化到指定的字段,无需手动new一个对象出来,用起来非常方便,因为Java类加载器在在加载过程会将扫描所有@Servie.@Mapper.@Com ...
- Android下的IPC通信方式
一.Bundle Android的Activity.Service.Receiver都支持在Intent传递Bundle数据,Bundle实现了Parcelable接口, 所以能很方便的在不同进程之间 ...