Kubernetes用nginx反向代理另外服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kubernetes用nginx反向代理另外服务相关的知识,希望对你有一定的参考价值。

公司利用K8S搭建测试环境,以及存在多套测试换,目前的想法是每一套测试环境使用一个出口IP。
方案:
1.搭建ingress
2.通过搭建一个反向代理

结合实际情况,我们使用搭建一个反向代理解决此问题。

我们环境中存在以下K8S服务
vipapi-mall-com #基于.netcore
billapi-mall-com #基于php
www-mall-com #基于PHP
mobile-mall-com #基于VUE

vipapi-mall-com对外的域名就是vipapi.mall.com
billapi-mall-com对外的域名就是billapi.mall.com

kubernetes的KUBE-DNS的地址是10.254.0.2,使用的是coredns
我们存在如下命名空间
branches
tags

配置文件如下:

     upstream vipapi 
        server vipapi-mall-com;     #正常情况这里放是会出错的,但是如果加了reslover就不会报错了,这里填写K8S的service名称即可
     
     server 
        listen       80;
        server_name  vipapi.mall.com;
        access_log off;
        resolver 10.254.0.2;        #注意DNS解析的配置必须放在server下不能放在location下,否则无法解析
        location / 
             proxy_http_version 1.1;
             proxy_set_header Connection "";
             proxy_redirect off ;
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header REMOTE-HOST $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             client_max_body_size 50m;
             client_body_buffer_size 256k;
             proxy_connect_timeout 30;
             proxy_send_timeout 30;
             proxy_read_timeout 60;
             proxy_buffer_size 256k;
             proxy_buffers 4 256k;
             proxy_busy_buffers_size 256k;
             proxy_temp_file_write_size 256k;
             proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_404;
             proxy_max_temp_file_size 128m;
             proxy_pass http://vipapi;
        
     

以上是关于Kubernetes用nginx反向代理另外服务的主要内容,如果未能解决你的问题,请参考以下文章

Nginx-day05-反向代理

谁能解释一下nginx反向代理是啥意思?

10. Nginx实现反向代理

nginx反向代理

容器化单页面应用中Nginx反向代理与Kubernetes部署

Nginx——代理