背景介绍

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的更多相关文章

  1. 云原生 - 体验Istio的完美入门之旅(一)

    作者:justmine 头条号:大数据达摩院 微信公众号:大数据处理系统 创作不易,在满足创作共用版权协议的基础上可以转载,但请以超链接形式注明出处. 为了方便大家阅读,可以关注头条号或微信公众号,后 ...

  2. 华为云和开源Istio运维管理对比样例应用部署

    前言 在公有云方面,华为云已经率先将 Istio 作为产品投入到公有云中进行商业应用中,保持和开源istio高度兼容,做了商业化的运维管理界面,同时进行了性能优化.这里我们做一次验证测试. Booki ...

  3. 干货分享|使用 Istio 实现灰度发布

    Kubernetes 作为基础平台,提供了强大的容器编排能力.但是在其上部署业务和服务治理上,仍然会面对一些复杂性和局限性.在服务治理上,已经有许多成熟的 ServiceMesh 框架用于扩充其能力, ...

  4. Istio on ACK集成生态(2): 扩展AlertManager集成钉钉助力可观测性监控能力

    阿里云容器服务Kubernetes(简称ACK)支持一键部署Istio,可以参考文档在ACK上部署使用Isito.Istio on ACK提供了丰富的监控能力,为网格中的服务收集遥测数据,其中Mixe ...

  5. Istio on ACK集成生态(1): 集成TSDB助力可观测性存储

    阿里云容器服务Kubernetes(简称ACK)支持一键部署Istio,可以参考文档在ACK上部署使用Isito.Istio on ACK提供了丰富的监控能力,为网格中的服务收集遥测数据,其中Mixe ...

  6. 云原生 - Istio可观察性之分布式跟踪(三)

    作者:justmine 头条号:大数据与云原生 微信公众号:大数据与云原生 创作不易,在满足创作共用版权协议的基础上可以转载,但请以超链接形式注明出处. 为了方便阅读,微信公众号已按分类排版,后续的文 ...

  7. 云原生 - Istio可观察性之监控(四)

    作者:justmine 头条号:大数据与云原生 微信公众号:大数据与云原生 创作不易,在满足创作共用版权协议的基础上可以转载,但请以超链接形式注明出处. 为了方便阅读,微信公众号已按分类排版,后续的文 ...

  8. Java进阶专题(二十八) Service Mesh初体验

    前言 ​ ⽬前,微服务的架构⽅式在企业中得到了极⼤的发展,主要原因是其解决了传统的单体架构中存在的问题.当单体架构拆分成微服务架构就可以⾼枕⽆忧了吗? 显然不是的.微服务架构体系中同样也存在很多的挑战 ...

  9. 阿里云 Serverless 再升级,从体验上拉开差距

    差距都在细节上. Serverless 要成就云计算的下一个 10 年,不仅需要在技术上持续精进,也需要在产品体验上精耕细作. 近日,阿里云 Serverless 再度升级,发布了一系列围绕产品体验方 ...

随机推荐

  1. npm run dev 启动项目报错我的解决办法

    我的报错截屏 解决方案   1.    config文件中 index 文件中的 host 值如果是数字串就将其改为 localhost 2.    再次尝试 如果有遇到其他问题阔以将 node-mo ...

  2. OS模块中获取当前文件的绝对路径的相关方法

    os.path.realpath(__file__) 作用:获取当前执行py脚本的绝对路径(在当前工作目录下的绝对路径) __file__ : 表示当前文件的本身,一般值是当前文件的相对路径 例如: ...

  3. Apache Pulsar Summit Asia 2020 正式启动,演讲议题征集中!

    Apache Pulsar Summit 是 Apache Pulsar 社区年度盛会,它将分布在世界各地的 Apache Pulsar 项目 Contributor.Commiter 和各企业 CT ...

  4. mysql存储过程的创建和调用

    描述:存储过程就是具有名字的一段代码,用来完成一个特定的功能.创建的存储过程保存在数据库的数据词典中. --创建一个名为GreetWorld的存储过程,拼接两个值 CREATE PROCEDURE G ...

  5. SSM整合,快速新建javaWeb项目

    整合前需要了解: spring和springmvc包扫描的注意事项 Spring applicationContext.xml (父容器),SpringMVC springmvc-servlet.xm ...

  6. 你言我语 By Twikoo

    主要做了两件事: 一是前端魔改 二是首页调用(替代原 bber) 注明:以下样式.功能代码基于 Twikoo v1.6.4 前端魔改 "管理面板"按钮同步隐藏输入框.先到twiko ...

  7. 1.5_HTML基础标签实战演练

    基本的 HTML 标签 HTML 标题 HTML 标题(Heading)是通过 <h1> - <h6> 等标签进行定义的. <h1>This is a headin ...

  8. 【java】IDEA-jar包导出与导入

    导出步骤: 1.CTRL + SHIFT + ALT + S 2.选择:Artifacts ,点击"+",在添加页面中选择:JAR-From modules with depend ...

  9. C#通过反射实现简单的控制反转和依赖注入(一)

    Java项目中通过@Autowire便可以实现将对象实例化到指定的字段,无需手动new一个对象出来,用起来非常方便,因为Java类加载器在在加载过程会将扫描所有@Servie.@Mapper.@Com ...

  10. Android下的IPC通信方式

    一.Bundle Android的Activity.Service.Receiver都支持在Intent传递Bundle数据,Bundle实现了Parcelable接口, 所以能很方便的在不同进程之间 ...