【云原生】【istio】安装使用
完成下面步骤需要你有一个 cluster, 且运行着兼容版本的 Kubernetes (1.17, 1.18, 1.19, 1.20)。 。
下载 Istio
-
转到 Istio 发布 页面,下载针对你操作系统的安装文件, 或用自动化工具下载并提取最新版本(Linux 或 macOS):
-
转到 Istio 包目录。例如,如果包是
istio-1.9.5
:安装目录包含:
samples/
目录下的示例应用程序bin/
目录下的istioctl
客户端二进制文件 .
-
将
istioctl
客户端加入搜索路径(Linux or macOS):
安装 Istio
-
对于本次安装,我们采用
demo
配置组合。 选择它是因为它包含了一组专为测试准备的功能集合,另外还有用于生产或性能测试的配置组合。 -
给命名空间添加标签,指示 Istio 在部署应用的时候,自动的注入 Envoy 边车代理:
部署示例应用
-
部署
Bookinfo
示例应用: -
应用很快会启动起来。当一个个的 Pod 准备就绪,ISTIO 边车代理将伴随他们一起部署。
和
-
验证方方面面均工作无误。运行下面命令,通过检查返回的页面标题,来验证应用是否已在集群中运行,并已提供网页服务:
对外开放应用程序
此时,BookInfo 应用已经部署,但还不能被外界访问。 要开放访问,你需要创建 Istio 入站网关(Ingress Gateway), 它会在网格边缘把一个路径映射到路由。
-
把应用关联到 Istio 网关:
-
确保配置文件没有问题:
确定入站 IP 和端口
按照说明,为访问网关设置两个变量:INGRESS_HOST
和 INGRESS_PORT
。 使用标签页,切换到你选用平台的说明:
设置入站端口:
确认端口被成功的赋值给了每一个环境变量:
设置入站 IP:
确认 IP 地址被成功的赋值给了环境变量:
在一个新的终端窗口中执行此命令,启动一个 Minikube tunnel,它将把流量发送到你 Istio 入站网关:
-
设置环境变量
GATEWAY_URL
: -
确保 IP 地址和端口均成功的赋值给了环境变量:
验证外部访问
用浏览器查看 Bookinfo 应用的产品页面,验证 Bookinfo 已经实现了外部访问。
-
运行下面命令,获取 Bookinfo 应用的外部访问地址。
-
把上面命令的输出地址复制粘贴到浏览器并访问,确认 Bookinfo 应用的产品页面是否可以打开。
查看仪表板
Istio 和几个遥测应用做了集成。 遥测能帮你了解服务网格的结构、展示网络的拓扑结构、分析网格的健康状态。
使用下面说明部署 Kiali 仪表板、 以及 Prometheus、 Grafana、 还有 Jaeger
-
安装 Kiali 和其他插件,等待部署完成。
-
访问 Kiali 仪表板。
-
在左侧的导航菜单,选择 Graph ,然后在 Namespace 下拉列表中,选择 default 。
Kiali 仪表板展示了网格的概览、以及
Kiali DashboardBookinfo
示例应用的各个服务之间的关系。 它还提供过滤器来可视化流量的流动。
后续步骤
恭喜你完成了评估安装!
对于新手来说,这些任务是非常好的资源,可以借助 demo
安装更深入评估 Istio 的特性:
在你为了生产系统定制Istio之前,参阅这些资源:
加入 Istio 社区
我们欢迎你加入 Istio 社区, 提出问题,并给我们以反馈。
卸载
删除 Bookinfo
示例应用和配置, 参阅 清理 Bookinfo
.
Istio 卸载程序按照层次结构逐级的从 istio-system
命令空间中删除 RBAC 权限和所有资源。对于不存在的资源报错,可以安全的忽略掉,毕竟他们已经被分层的删除了。
命名空间 istio-system
默认情况下并不会被删除。 不需要的时候,使用下面命令删掉它:
指示 Istio 自动注入 Envoy 边车代理的标签默认也不删除。 不需要的时候,使用下面命令删掉它。
- 点赞
- 收藏
- 关注作者
评论(0)