千家信息网

Istio怎么安装

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要讲解了"Istio怎么安装",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Istio怎么安装"吧!为什么使用 Istio?通过负载均衡、服务
千家信息网最后更新 2025年12月02日Istio怎么安装

这篇文章主要讲解了"Istio怎么安装",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Istio怎么安装"吧!

为什么使用 Istio?

通过负载均衡、服务间的身份验证、监控等方法,Istio 可以轻松地创建一个已经部署了服务的网络,而服务的代码只需很少更改甚至无需更改。通过在整个环境中部署一个特殊的 sidecar 代理为服务添加 Istio 的支持,而代理会拦截微服务之间的所有网络通信,然后使用其控制平面的功能来配置和管理 Istio,这包括:

  • 为 HTTP、gRPC、WebSocket 和 TCP 流量自动负载均衡。

  • 通过丰富的路由规则、重试、故障转移和故障注入对流量行为进行细粒度控制。

  • 可插拔的策略层和配置 API,支持访问控制、速率限制和配额。

  • 集群内(包括集群的入口和出口)所有流量的自动化度量、日志记录和追踪。

  • 在具有强大的基于身份验证和授权的集群中实现安全的服务间通信。

Istio 为可扩展性而设计,可以满足不同的部署需求。

安装方法

有三种方法进行istio的安装:

  • 使用istioctl安装(Customizable Install with Istioctl)

  • 使用Helm安装(Customizable Install with Helm)

  • 使用Operator安装(Standalone Operator Install)

这里我下载istio,然后采用istioctl安装。

容器镜像

istio 1.5.1需要用到多个镜像,我统一下载并上传到各个节点,减少流量并加快速度。

docker pull docker.io/istio/pilot:1.5.1docker pull docker.io/istio/proxyv2:1.5.1docker pull docker.io/jaegertracing/all-in-one:1.16docker pull docker.io/prom/prometheus:v2.15.1docker pull grafana/grafana:6.5.2docker pull quay.io/kiali/kiali:v1.15

保存镜像,并打包为*.zip:

echo ""echo "=========================================================="echo "Save istio for x64 v1.5.1 Images from docker.io ......"echo "=========================================================="echo ""#MY_REGISTRY=mirrorgcrioISTIO_VERSION="1.5.1"IMAGES_PATH=~/istio-images-$ISTIO_VERSIONmkdir $IMAGES_PATH## 拉取镜像docker save docker.io/istio/pilot:1.5.1 -o $IMAGES_PATH/istio-pilot-$ISTIO_VERSION.tardocker save docker.io/istio/proxyv2:1.5.1 -o $IMAGES_PATH/istio-proxyv2-$ISTIO_VERSION.tardocker save docker.io/jaegertracing/all-in-one:1.16 -o $IMAGES_PATH/istio-jaeger-$ISTIO_VERSION.tardocker save docker.io/prom/prometheus:v2.15.1 -o $IMAGES_PATH/istio-prometheus-2.15.1.tardocker save grafana/grafana:6.5.2 -o $IMAGES_PATH/istio-grafana-6.5.2.tardocker save quay.io/kiali/kiali:v1.15 -o $IMAGES_PATH/istio-kiali-1.15.tarecho "Copy loader into $IMAGES_PATH"cp istio-images-load.sh $IMAGES_PATH/echo "Zip to $IMAGES_PATH.zip"cd ~zip -r istio-images-$ISTIO_VERSION.zip istio-images-$ISTIO_VERSIONecho ""echo "=========================================================="echo "Save istio for x64 v1.5.1 Images FINISHED."echo " by openthings@https://my.oschina.net/u/2306127."echo "=========================================================="echo ""

使用scp上传到节点,运行unzip解压。

scp istio-images-1.5.1.zip openthings@openbox00:~/

保存下面的内容到文件istio-images-load.sh:

echo ""echo "=========================================================="echo "Load istio for x64 v1.5.1 Images from zip ......"echo "=========================================================="echo ""#MY_REGISTRY=mirrorgcrioISTIO_VERSION="1.5.1"IMAGES_PATH=~/istio-images-$ISTIO_VERSION#cd ~#unzip istio-images-$ISTIO_VERSION.zip#cd istio-images-$ISTIO_VERSION## 拉取镜像docker load -i $IMAGES_PATH/istio-pilot-$ISTIO_VERSION.tardocker load -i $IMAGES_PATH/istio-proxyv2-$ISTIO_VERSION.tardocker load -i $IMAGES_PATH/istio-jaeger-$ISTIO_VERSION.tardocker load -i $IMAGES_PATH/istio-prometheus-2.15.1.tardocker load -i $IMAGES_PATH/istio-grafana-6.5.2.tardocker load -i $IMAGES_PATH/istio-kiali-1.15.tarecho ""echo "=========================================================="echo "Save istio for x64 v1.5.1 Images FINISHED."echo " by openthings@https://my.oschina.net/u/2306127."echo "=========================================================="echo ""

然后使用istio-images-load.sh来载入镜像到docker。

  • 更多工具参考:https://github.com/openthings/kubernetes-tools/tree/master/istio

下载 Istio

因为一些原因,上面官方文档的下载链接无法访问。我从这里下载,然后展开:

wget -c https://github.com/istio/istio/releases/download/1.5.1/istio-1.5.1-linux.tar.gz

下载内容将包含:安装文件、示例和 istioctl 命令行工具。

访问 Istio release 页面下载与您操作系统对应的安装文件。在 macOS 或 Linux 系统中,也可以通过以下命令下载最新版本的 Istio:

$ curl -L https://istio.io/downloadIstio | sh -

切换到 Istio 包所在目录下。例如:Istio 包名为 istio-1.6.0,则:

$ cd istio-1.6.0

  • 安装目录包含如下内容:

    • install/kubernetes 目录下,有 Kubernetes 相关的 YAML 安装文件

    • samples/ 目录下,有示例应用程序

    • bin/ 目录下,包含 istioctl 的客户端文件。istioctl 工具用于手动注入 Envoy sidecar 代理。

  • istioctl 客户端路径增加到 path 环境变量中,macOS 或 Linux 系统的增加方式如下:

    $ export PATH=$PWD/bin:$PATH

  • 在使用 bash 或 ZSH 控制台时,可以选择启动 auto-completion option。

安装 Istio

请按照以下步骤在您所选的平台上使用 demo 配置文件安装 Istio。

安装 demo 配置:

$ istioctl manifest apply --set profile=demo

为了验证是否安装成功,需要先确保以下 Kubernetes 服务正确部署,然后验证除 jaeger-agent 服务外的其他服务,是否均有正确的 CLUSTER-IP

$ kubectl get svc -n istio-system

如果集群运行在一个不支持外部负载均衡器的环境中(例如:minikube), istio-ingressgatewayEXTERNAL-IP 将显示为 状态。请使用服务的 NodePort 或 端口转发来访问网关。

请确保关联的 Kubernetes pod 已经部署,并且 STATUSRunning

$ kubectl get pods -n istio-system

后续步骤

安装 Istio 后,就可以部署您自己的服务,或部署安装程序中系统的任意一个示例应用。

应用程序必须使用 HTTP/1.1 或 HTTP/2.0 协议用于 HTTP 通信;HTTP/1.0 不支持。

当使用 kubectl apply 来部署应用时,如果 pod 启动在标有 istio-injection=enabled 的命名空间中,那么,Istio sidecar 注入器将自动注入 Envoy 容器到应用的 pod 中:

$ kubectl label namespace istio-injection=enabled $ kubectl create -n -f .yaml

在没有 istio-injection 标记的命名空间中,在部署前可以使用 istioctl kube-inject 命令将 Envoy 容器手动注入到应用的 pod 中:

$ istioctl kube-inject -f .yaml | kubectl apply -f -

如果您不确定要从哪开始,可以先部署 Bookinfo 示例,它会让您体验到 Istio 的流量路由、故障注入、速率限制等功能。 然后您可以根据您的兴趣浏览各种各样的 Istio 任务。

下列任务都是初学者开始学习的好入口:

  • 请求路由

  • 故障注入

  • 流量转移

  • 查询指标

  • 可视化指标

  • 日志收集

  • 速率限制

  • Ingress 网关

  • 访问外部服务

  • 可视化您的网格

下一步,可以定制 Istio 并部署您自己的应用。在您开始自定义 Istio 来适配您的平台或者其他用途之前,请查看以下资源:

  • 部署模型

  • 部署最佳实践

  • Pod 需求

  • 常规安装说明

使用 Istio 过程中有任何问题,请来信告知我们,并欢迎您加入我们的社区。

卸载

卸载程序将删除 RBAC 权限、istio-system 命名空间和所有相关资源。可以忽略那些不存在的资源的报错,因为它们可能已经被删除掉了。

$ istioctl manifest generate --set profile=demo | kubectl delete -f -

感谢各位的阅读,以上就是"Istio怎么安装"的内容了,经过本文的学习后,相信大家对Istio怎么安装这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

服务 应用 文件 流量 镜像 内容 目录 验证 故障 示例 程序 系统 集群 学习 控制 支持 配置 均衡 命令 容器 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网时代智能科技产品 杭州互联网科技产业园 网络安全论证的排比句 网络安全与信息化建设三同步 山西云手机服务器租用 深圳指上网络技术有限公司 2018互联网科技大会 小学网络安全教育主题班会记录表 谁有计算机专升本数据库网课 加强网络安全信息员队伍力量 中国三银新石材数据库 软件开发工程师的发展路径 联想服务器虚拟机在哪个目录 设立网络安全机构的文件 手机app软件开发平台 远程服务器关闭后截图 美陶相图数据库3.1 高一网络安全班会活动纪实 大专专业计算机网络技术 服务器http404怎么解决 我的世界服务器安全类 超级群英传服务器 网络安全电影作文 fast服务器是什么意思 惠普服务器内存条标签数据怎么看 软件开发工程师的发展路径 英雄联盟收不到服务器数据 网络安全蓝队工具包 网络安全在身边活动总结 辽宁省网络安全协会会长
0