1

一键体验 Istio - 编程玩家

 1 year ago
source link: https://www.cnblogs.com/Erik_Xu/p/16804743.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

一键体验 Istio

背景介绍

Istio 是一种服务网格,是一种现代化的服务网络层,它提供了一种透明、独立于语言的方法,以灵活且轻松地实现应用网络功能自动化。它是一种管理构成云原生应用的不同微服务的常用解决方案。Istio 服务网格还支持这些微服务彼此之间的通信和数据共享方式。Istio 的学习与使用具有一定的门槛,对初学者可能不太友好,官方示例也不一定能运行成功,本文将介绍一个开源工具让你一键体验 Istio。

服务器准备

为了方便演示以及备案的烦恼,本文会在腾讯云开通两台 4 核 8 G 按量付费的香港竞价实例,如果已有服务器可跳过此步。

1. 开通香港竞价实例

182190-20221019002205708-548757683.png

2. 选择配置 - 4 核 8G

182190-20221019002226076-1760269404.png

3. 选择操作系统 - CentOS 7.9

182190-20221019002309572-758543785.png

4. 设置实例数量 - 2 台

182190-20221019002332005-903201061.png

5. 选择网络 - Default,选择带宽 - 按使用流量 100Mbps

182190-20221019002349848-63319766.png

6. 选择安全组 - 默认,放通所有端口

182190-20221019002408257-979315123.png

7. 设置密码 - 这里使用 @ErikXu1234

182190-20221019002427138-1109286653.png
182190-20221019002442595-2025418736.png

安装 Kubernetes

准备好服务器后,信息如下:

角色 内网 IP 公网 IP
master 172.19.0.11 43.155.112.62
node 172.19.0.4 43.154.249.121
182190-20221019002756844-694087601.png

为了方便快速安装 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
182190-20221019003027522-182116162.png

2. 安装 kubernetes

执行以下指令安装 kubernetes:

./power-ci k8s install --masters 172.19.0.11 --nodes 172.19.0.4 --password @ErikXu1234

等待 5-10 分钟,完成 kubernetes 安装:

182190-20221019003106753-1871244057.png

安装 Istio

在 master 服务器上,执行以下指令,其中 erikxu.com 可以换成你的域名:

./power-ci istio install --domain erikxu.com

等待 5-10 分钟,完成 Istio 安装:

182190-20221019003152610-448684169.png

体验 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

182190-20221019003515030-401589406.png

多次刷新页面触发不同版本(右边多了星星):

182190-20221019003526816-213049315.png

3. 访问 kiali 查看流量调用情况 - http://kiali.erikxu.com:30080

182190-20221019003557182-1237609773.png

4. 访问 jaeger 查看调用链 - http://jaeger.erikxu.com:30080 

调用链列表:

182190-20221019003621819-1240968001.png

调用链细节:

182190-20221019003633772-646130378.png

调用关系:

182190-20221019003645341-1497578165.png

5. 访问 grafana 查看监控信息 - http://grafana.erikxu.com:30080 

182190-20221019003747015-1891477637.png

 

182190-20221019003758387-1270230330.png

6.访问 prometheus 查看监控和 kiali 源数据 - http://prometheus.erikxu.com:30080/

182190-20221019003820084-346922446.png

温馨提示

如果使用腾讯云竞价实例,体验完毕后请记得销毁实例:

182190-20221019003834127-550041901.png

项目地址

目前计划维护 golang 和 .Net 两个版本,觉得好用请点个 star,反馈建议也欢迎提 issue,想一起做的开源项目的也可以留言联系或者提 pr。

  • golang 版本

https://github.com/ErikXu/power-ci

  • .Net 版本

https://github.com/ErikXu/PowerCI.Net

参考总结

以上就是本文希望分享的内容,如果大家有什么问题,欢迎在公众号 - 跬步之巅留言交流。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK