Istio

国内网络环境安装Istio Ambient

这篇文章的主要目的是解决国内安装istio ambient速度比较慢、甚至是失败的问题. 因为国内防火墙的原因, 有些资源是拉不到或者速度很慢的.

安装之前需要有一套kubernetes集群, 集群的版本为1.28, 1.29, 1.30, 1.31

下载Istio CLI #

截止目前最新的Istio稳定版本为: 1.24.2, 我们今天就安装它. Istio通过istioctl来配置/安装的. 现在我们需要下载它, 以及一些样例应用:

1
2
3
4
# 目前只支持1.24.2版本
curl -L https://blog.llaoj.cn/posts/2025/install-istio-ambient/download-istio.sh | bash -s -- 1.24.2
cd istio-1.24.2
export PATH=$PWD/bin:$PATH

使用下面的命令检查一下版本, 现在Istio还没有安装:

...

在istio service mesh中使用nginx反向代理

nginx反向代理的请求, 和我们直接请求有一定的区别, 比如:

http version #

nginx proxy 发出的反向代理请求的http version默认是: 1.0, 但是istio支持1.1 & 2.0, 所以如果不增加http版本限制的话istio就无法进行报文解析, 也就无法应用istio-proxy(sidecar)L7层代理策略, 我们知道istio流量治理是基于L7层的.

http header: Host #

有时候nginx发出的代理请求的http header中host的值, 不能保证是上游服务的host name. 在这种情况下, 是没办法匹配上游服务在istio-proxy中的L7流量治理的配置.

...