首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >istio服务网格背后的服务的nginx反向代理

istio服务网格背后的服务的nginx反向代理
EN

Stack Overflow用户
提问于 2020-08-28 12:02:35
回答 1查看 1.2K关注 0票数 0

我正在尝试使用nginx对部署在openshift上的istio服务网格后面的服务进行负载平衡。

我的查询是在nginx.conf中,在istio部署的情况下我必须使用哪个ip?在非istio部署中,我使用了pod的节点ip和服务节点。

代码语言:javascript
复制
upstream infra{
    server XXX.XXX.XXX.XXX:8080;
}

map $proxy_add_x_forwarded_for $client_ip {"~(?<IP>([0-9]{1,3}\.){3}[0-9]{1,3}),.*" $IP;}

server {
        listen       80;
        server_name example.com;
        access_log  /var/log/nginx/nginx.testmegh.access.log main;
        error_log  /var/log/nginx/nginx.testmegh.error.log error;
        location /fininfra {
          proxy_pass         http://infra:80;
          proxy_http_version 1.1;
          proxy_redirect     off;
          proxy_set_header   Host $host;
          proxy_set_header   X-Real-IP $remote_addr;
          proxy_set_header   X-Forwarded-Host $host;
          proxy_set_header   X-Forwarded-For $remote_addr;
        } 
}
EN

回答 1

Stack Overflow用户

发布于 2020-08-31 12:13:24

istio中的所有内容都经过ingressgateway外部IP,因此这取决于您如何配置istio集群。可以是LoadBalancer,也可以是NodePort

引用自文档

确定入口IP和端口 执行以下命令以确定Kubernetes集群是否运行在支持外部负载平衡器的环境中:

代码语言:javascript
复制
$ kubectl get svc istio-ingressgateway -n istio-system
NAME                   TYPE           CLUSTER-IP       EXTERNAL-IP      PORT(S)   AGE
istio-ingressgateway   LoadBalancer   172.21.109.129   130.211.10.121   ...       17h

如果设置了外部IP值,则您的环境具有可用于入口网关的外部负载均衡器。如果外部IP值是(或永远的),则您的环境不会为入口网关提供外部负载均衡器。在这种情况下,您可以使用服务的节点端口访问网关。

在istio部署的情况下我必须使用哪个ip

在上面的文档示例中,它是130.211.10.121

假设您已经部署了Bookinfo应用,并且希望通过浏览器访问它,您必须使用上面的IP并从虚拟服务中适当地使用uri。所以这将是130.211.10.121/productpage

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63633425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档