istioctl 部署到 EKS——如何不创建外部负载均衡器?
istioctl deploying to EKS -- how to NOT create an external load balancer?
我正在使用 istioctl 在 EKS 集群中安装 istio。但是,目前我将使用 nginx ingress 来处理面向外部的服务。我怎样才能在内部部署 istio 服务,或者至少避免自动创建的 ELB?
您可以通过编辑 istio-ingressgateway 来完成。
从
更改为 service type
LoadBalancer -> 使用云提供商的负载均衡器向外部公开服务
到
ClusterIP -> 在集群内部 IP 上公开服务。选择此值会使服务只能从集群内访问。
让我们编辑 ingressgateway
kubectl edit svc istio-ingressgateway -n istio-system
然后请将类型从 LoadBalancer 更改为 ClusterIP 和 # 或 delete 每个 nodePort,因为您将不再使用它们并且它必须是 # 或删除,这样你才能实际编辑文件,没有它,它无法编辑,什么也没有发生。
编辑
I can do this at install with istioctl using a values.yaml file?
是的,这是可能的。
这是您需要更改的值:
values.gateways.istio-ingressgateway.type
例子
正在创建清单以使用 ClusterIP 应用 istio 演示配置文件
istioctl manifest generate --set profile=demo --set values.gateways.istio-ingressgateway.type="ClusterIP" > $HOME/generated-manifest.yaml
我正在使用 istioctl 在 EKS 集群中安装 istio。但是,目前我将使用 nginx ingress 来处理面向外部的服务。我怎样才能在内部部署 istio 服务,或者至少避免自动创建的 ELB?
您可以通过编辑 istio-ingressgateway 来完成。
从
更改为 service typeLoadBalancer -> 使用云提供商的负载均衡器向外部公开服务
到
ClusterIP -> 在集群内部 IP 上公开服务。选择此值会使服务只能从集群内访问。
让我们编辑 ingressgateway
kubectl edit svc istio-ingressgateway -n istio-system
然后请将类型从 LoadBalancer 更改为 ClusterIP 和 # 或 delete 每个 nodePort,因为您将不再使用它们并且它必须是 # 或删除,这样你才能实际编辑文件,没有它,它无法编辑,什么也没有发生。
编辑
I can do this at install with istioctl using a values.yaml file?
是的,这是可能的。
这是您需要更改的值:
values.gateways.istio-ingressgateway.type
例子
正在创建清单以使用 ClusterIP 应用 istio 演示配置文件
istioctl manifest generate --set profile=demo --set values.gateways.istio-ingressgateway.type="ClusterIP" > $HOME/generated-manifest.yaml