【发布时间】:2019-12-24 14:30:40
【问题描述】:
我正在使用 istioctl 在 EKS 集群中安装 istio。但是,目前我将使用 nginx 入口来提供面向外部的服务。我怎样才能只在内部部署 istio 服务,或者至少避免自动创建的 ELB?
【问题讨论】:
标签: kubernetes istio amazon-eks
我正在使用 istioctl 在 EKS 集群中安装 istio。但是,目前我将使用 nginx 入口来提供面向外部的服务。我怎样才能只在内部部署 istio 服务,或者至少避免自动创建的 ELB?
【问题讨论】:
标签: kubernetes istio amazon-eks
你可以通过编辑istio-ingressgateway来做到这一点。
从
更改 service typeLoadBalancer -> 使用云提供商的负载平衡器将服务公开到外部
到
ClusterIP -> 在集群内部 IP 上公开服务。选择此值使服务只能从集群内访问。
让我们编辑入口网关
kubectl edit svc istio-ingressgateway -n istio-system
然后请将类型从 LoadBalancer 更改为 ClusterIP 并 # 或 delete 每个 nodePort,因为您将不再使用它们,它必须是 # 或删除所以您实际上可以编辑文件,没有它,它无法编辑并且什么也没有发生。
编辑
我可以在安装 istioctl 时使用 values.yaml 文件吗?
是的,这是可能的。
这是您需要更改的值:
values.gateways.istio-ingressgateway.type
例子
创建清单以使用 ClusterIP 应用 istio 演示配置文件
istioctl manifest generate --set profile=demo --set values.gateways.istio-ingressgateway.type="ClusterIP" > $HOME/generated-manifest.yaml
【讨论】: