Rancher部署负载均衡,其实还是很简单的。
关键点:
1、负载名称
2、命名空间
网络建议选择Calico,使用ingress均衡
Rancher默认负载名称,已经动态支持域名绑定,因此直接访问名称即可访问服务。
需要注意的是:跨命名空间调用,则使用:“ 负载名称.命名空间:端口”
例如: myapp-gateway:9999
不过nginx对于动态域名解析,有小弊端,每当 myapp-gatewayIP发生变更时,需要
nginx -s reload
前端使用vue.js,采用Nginx托管,其配置如下:
server {
listen 80;
server_name localhost;
# access_log /var/log/nginx/pro.log;
location / {
# 传递真实的请求头信息
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 限制文件大小为1G
client_max_body_size 10240m;
# 允许跨域
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
# 不缓存页面
# if ($request_filename ~* .*\.(?:htm|html)$) {
# add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
# }
root /usr/share/nginx/html;
index index.html index.htm;
}
location /api {
# 传递真实的请求头信息
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 允许跨域
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
rewrite ^.+api/?(.*)$ /$1 break;
include uwsgi_params;
proxy_pass http://myapp-gateway:9999;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
部署完成后效果:
image.png image.png image.png
网友评论