rancher ingress 前置nginx 配置

例 如:

10.10.10.1-3 为 rancher HA

 10.10.10.4-6为k8s集群node节点 对外提供服务


user  nginx;
worker_processes  4;

worker_rlimit_nofile 40000;

error_log  logs/error.log;
error_log  logs/error.log  notice;
error_log  logs/error.log  info;
#access_log  logs/access.log  main;

events {
    worker_connections 8192;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    
    log_format  main


    '$remote_user [$time_local]  $http_x_Forwarded_for $remote_addr  $request '
    '$http_x_forwarded_for '
    '$upstream_addr '
    'ups_resp_time: $upstream_response_time '
    'request_time: $request_time';
    
    access_log  logs/access.log  main;
        
        #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
    sendfile        on;
    
    #防止网络阻塞
    tcp_nopush on;
    #防止网络阻塞
    tcp_nodelay on;
    
    underscores_in_headers on;
    
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_http_version 1.1;
    gzip_comp_level 4;
    gzip_types text/plain application/x-javascript text/css application/xml;
    gzip_vary on;
    client_max_body_size    300m;
    
    
    #FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度。下面参数看字面意思都能理解。
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 128k;   
   
    
    upstream rancher_web{
        server 10.10.10.4:80;
        server 10.10.10.5:80;
        server 10.10.10.6:80;
    }
    server {
        
        listen  80 default_server;
        server_name  _;
        access_log  logs/busiweb.access.log  main;
           
        client_max_body_size 300m;
        client_body_buffer_size 128k;
        proxy_connect_timeout 600;
        proxy_read_timeout 600;
        proxy_send_timeout 600;
        proxy_buffer_size 64k;
        proxy_buffers   4 32k;
        proxy_busy_buffers_size 64k;
        proxy_temp_file_write_size 64k;
        
        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;
              
              proxy_pass http://rancher_web;
        }
       
        location /metrics {                                                                                                                                                     
              default_type text/html ;                                                                                                                                             
              return 200 'http_request_metrics{path="/metrics",method="GET",code="200",le="0.025",} 1.0';                                                                          
        }
        
   }

     # 包含所有的虚拟主机的配置文件
    include /etc/nginx/config/*.conf;      
}

stream {
    upstream rancher_servers {
        least_conn;
        server 10.10.10.1:443 max_fails=3 fail_timeout=5s;
        server 10.10.10.2:443 max_fails=3 fail_timeout=5s;
        server 10.10.10.3:443 max_fails=3 fail_timeout=5s;
    }
    server {
        listen     443;
        proxy_pass rancher_servers;
    }
}
证书:

有https需要的,可以在四层负载增加配置 如下:

/etc/nginx/config/ 下

server {

listen 443;
ssl on;
server_name *.taobao.com;
access_log /etc/nginx/logs/ssl.taobao.com.access.log main;

ssl_certificate /etc/nginx/cert/taobao.crt;
ssl_certificate_key /etc/nginx/cert/taobao.key;

ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;

ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;

ssl_prefer_server_ciphers on;

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;

proxy_pass http://rancher_web;

}

文件上传大小:

上传文件大小及超时设置

ingress设置

 

 

具体参数有: 

nginx.ingress.kubernetes.io/proxy-connect-timeout:"300"
nginx.ingress.kubernetes.io/proxy-send-timeout: "300"
nginx.ingress.kubernetes.io/proxy-read-timeout: "300"

nginx.ingress.kubernetes.io/proxy-body-size:"50m"

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Rancher是一个开源的容器管理平台,支持Kubernetes集群的部署和管理。而Ingress是Kubernetes的一种资源对象,用于管理分发入站流量到集群中的服务。 在Rancher配置Ingress可以通过以下步骤完成: 1. 登录Rancher并选择所需的环境。 2. 在“项目”部分,创建或选择一个项目,在该项目下创建一个命名空间用于部署Ingress资源。 3. 在该命名空间下创建Ingress对象。可以在Rancher提供的图形化界面中创建,也可以通过YAML文件定义并导入。 4. 在Ingress对象中定义路由规则。可以设置路径和主机名等规则来将流量分发到不同的服务。 5. 为每个路由规则定义后端服务。可以选择Kubernetes服务、外部IP或者主机名来作为后端服务。 6. 配置Ingress Controller。Ingress Controller是Kubernetes集群中负责处理Ingress对象并实际转发流量的组件。在Rancher中,可以选择Nginx Ingress Controller或者Traefik等常用的Ingress Controller进行配置和部署。 7. 部署Ingress Controller。可以通过Rancher提供的应用商店或者手动创建来部署Ingress Controller。 8. 验证配置。在部署完成后,可以通过访问指定的主机名或者路径来验证Ingress配置是否生效。 总而言之,通过Rancher可以方便地配置和管理Ingress对象,并通过选择合适的Ingress Controller来实现流量的负载均衡和路由分发。这样可以更好地管理和控制集群中的服务访问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值