• 一键体验 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

     

    参考总结

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

  • 相关阅读:
    共享停车位小程序,微信小程序停车场车位,微信小程序停车场系统毕设作品
    OpenMesh 网格平滑
    ROS1学习笔记:创建工作环境与功能包(ubuntu20.04)
    如何实现前端音频和视频播放?
    前后台分离开发 YAPI平台 前端工程化之Vue-cli
    对换对排列奇偶性的影响
    Qt 重载QComboBox,实现右侧删除键
    面试题:什么是Reids的击穿、穿透、雪崩三种现象?如何解决?
    【1582. 二进制矩阵中的特殊位置】
    Fastjson_1.2.24_unserialize_rce漏洞复现
  • 原文地址:https://www.cnblogs.com/Erik_Xu/p/16804743.html