当前位置: 首页 > news >正文

kubesphere 终端shell连不上的问题

使用nginx代理kubesphere控制台会出现容器的终端shell连不上的问题

下面是一个样例配置可以解决这个问题:

注意修改为你的ip地址:

    upstream k8s { 
        ip_hash; 
        server masterip1:30880; 
        server masterip2:30880; 
        server masterip3:30880; 
    } 
  • nginx.conf
# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 4096;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

    upstream k8s { 
        ip_hash; 
        server masterip1:30880; 
        server masterip2:30880; 
        server masterip3:30880; 
    } 

    server {
        listen       80;
        listen       [::]:80;
        server_name  _;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        error_page 404 /404.html;
        location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
        }

        location / {
            proxy_http_version 1.1;
            proxy_pass http://k8s;
            proxy_redirect off;
            proxy_set_header        Host $host:$server_port;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_connect_timeout  3600s;
            proxy_read_timeout  3600s;
            proxy_send_timeout  3600s;
            send_timeout  3600s;
        }

        location /api/ {
            proxy_http_version 1.1;
            proxy_redirect off;
            proxy_pass http://k8s;
            proxy_set_header    Host $host:$server_port;
            proxy_set_header    Upgrade $http_upgrade;
            proxy_set_header    X-Forwarded-Proto $scheme;
            proxy_set_header    Connection "upgrade";
            proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location /apis/monitoring.coreos.com/ {
            proxy_pass http://k8s;
            proxy_redirect off;
            proxy_set_header        Host $host:$server_port;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_connect_timeout  3600s;
            proxy_read_timeout  3600s;
            proxy_send_timeout  3600s;
            send_timeout  3600s;
        }

        location /api/v1/ {
            proxy_pass http://k8s;
            # proxy_redirect off;
            proxy_set_header        Host $host:$server_port;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_connect_timeout  3600s;
            proxy_read_timeout  3600s;
            proxy_send_timeout  3600s;
            send_timeout  3600s;
        }

        location /apis/storage.k8s.io {
            proxy_pass http://k8s;
            proxy_redirect off;
            proxy_set_header        Host $host:$server_port;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_connect_timeout  3600s;
            proxy_read_timeout  3600s;
            proxy_send_timeout  3600s;
            send_timeout  3600s;
        }

        location /apis/apps/v1/namespaces/ {
            proxy_http_version 1.1;
            proxy_pass http://k8s;
            proxy_redirect off;
            proxy_set_header        Host $host:$server_port;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_connect_timeout  3600s;
            proxy_read_timeout  3600s;
            proxy_send_timeout  3600s;
            send_timeout  3600s;
        }

        location /kapis/resources.kubesphere.io/v1alpha2/namespaces {
            proxy_http_version 1.1;
            proxy_pass http://k8s;
            proxy_redirect off;
            proxy_set_header        Host $host:$server_port;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_connect_timeout  3600s;
            proxy_read_timeout  3600s;
            proxy_send_timeout  3600s;
        }

        location /kapis/resources.kubesphere.io/ {
            proxy_http_version 1.1;
            proxy_redirect off;
            proxy_pass http://k8s;
            proxy_set_header    Host $host:$server_port;
            proxy_set_header    Upgrade $http_upgrade;
            proxy_set_header    X-Forwarded-Proto $scheme;
            proxy_set_header    Connection "upgrade";
            proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location /apis/devops.kubesphere.io/ {
            proxy_http_version 1.1;
            proxy_pass http://k8s;
            proxy_redirect off;
            proxy_set_header        Host $host:$server_port;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_connect_timeout  3600s;
            proxy_read_timeout  3600s;
            proxy_send_timeout  3600s;
            send_timeout  3600s;
        }

        location /apis/apps/v1/ {
            proxy_http_version 1.1;
            proxy_redirect off;
            proxy_pass http://k8s;
            proxy_set_header    Host $host:$server_port;
            proxy_set_header    Upgrade $http_upgrade;
            proxy_set_header    X-Forwarded-Proto $scheme;
            proxy_set_header    Connection "upgrade";
            proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location /apis/ {
            proxy_http_version 1.1;
            proxy_redirect off;
            proxy_pass http://k8s;
            proxy_set_header    Host $host:$server_port;
            proxy_set_header    Upgrade $http_upgrade;
            proxy_set_header    X-Forwarded-Proto $scheme;
            proxy_set_header    Connection "upgrade";
            proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location /api/v1/watch/namespaces {
            proxy_pass http://k8s;
            proxy_set_header    Host $host:$server_port;
            proxy_set_header    Upgrade $http_upgrade;
            proxy_set_header    X-Forwarded-Proto $scheme;
            proxy_set_header    Connection "upgrade";
            proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location /kapis/terminal.kubesphere.io/ {
            proxy_http_version 1.1;
            proxy_redirect off;
            proxy_pass http://k8s;
            proxy_set_header    Host $host:$server_port;
            proxy_set_header    Upgrade $http_upgrade;
            proxy_set_header    X-Forwarded-Proto $scheme;
            proxy_set_header    Connection "upgrade";
            proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
}

相关文章:

  • FPGA Verilog/VHDl 中的锁存latch
  • leetcoed0044. 通配符匹配 hard
  • 【stm32--HAL库DMA+USART+空闲中断不定长收发数据】
  • 《探秘SQL的BETWEEN:解锁数据范围查询的深度奥秘》
  • [HCIA]网络基础
  • Canvas粒子系统终极指南:从基础运动到复杂交互的全流程实现
  • Java 环境变量配置指南
  • 【数学建模】(启发式算法)蚁群算法(Ant Colony Optimization)的详解与应用
  • 深度学习项目--基于SE的ResNet50V2网络结构探究实验
  • 蓝桥杯省模拟赛 互质的数
  • HCIP(VLAN综合实验)
  • 安装Ollama,本地部署deepseek
  • 如何去评估一个系统的高可用
  • 流程引擎/状态机简介以及选型
  • Centos7安装cat美化工具lolcat
  • 使用 flutter_blue_plus 连接蓝牙
  • 3月28号
  • Redis:Hash 类型 内部实现、命令及应用场景
  • 51c嵌入式~MOS~合集1
  • 计算机网络基础:网络流量工程与优化策略
  • 鄂州交警通报致1死2伤车祸:女子操作不当引发,已被刑拘
  • 上海虹桥国际咖啡文化节周五开幕,来看Coffeewalk通关攻略
  • 来沪一个月几乎未花住宿钱,女子虚构卫生问题屡薅酒店羊毛被刑拘
  • 国务院关税税则委员会关于调整对原产于美国的进口商品加征关税措施的公告
  • 持续8年仍难终了的纠纷:败诉方因拒执罪被立案,胜诉方银行账户遭冻结
  • 继71路之后,上海中心城区将迎来第二条中运量公交