Маршрут Openshift перенаправляет на консоль кластера

#kubernetes #openshift #redhat #okd

#kubernetes #openshift #redhat #okd

Вопрос:

Я устанавливаю кластер OKD версии v3.11 с помощью ansible.

Конфигурация кластера:

  • 4 узла master-infra-etcd
  • 4 вычислительных узла
  • 1 внешний балансировщик нагрузки

Конфигурация балансировщика нагрузки описана здесь: https://github.com/redhat-cop/openshift-playbooks/blob/master/playbooks/installation/load_balancing.adoc#custom-certificate-ssl-termination-production

Я использую nginx в качестве внешнего средства балансировки нагрузки.

Инвентарь (усеченный):

 openshift_master_cluster_hostname: okd-internal.example.com
openshift_master_cluster_public_hostname: okd.example.com
openshift_master_default_subdomain: okd.example.com
  

Вот моя конфигурация NGINX:

 user  nginx;

error_log  /var/log/nginx/error.log warn;
load_module /usr/lib64/nginx/modules/ngx_stream_module.so;
pid        /var/run/nginx.pid;

worker_processes  "4";

events {
    worker_connections  1024;
    multi_accept off;
}

stream {
    upstream okd_masters {
      server okdmaster01.lab.example.com:8443;
      server okdmaster02.lab.example.com:8443;
      server okdmaster03.lab.example.com:8443;
      server okdmaster04.lab.example.com:8443;
    }
    server {
        listen 8443;
        proxy_pass okd_masters;
    }
}

http {

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

    server_names_hash_bucket_size 64;

    client_max_body_size 20M;

    sendfile        on;
    tcp_nopush      on;
    tcp_nodelay     on;

    keepalive_timeout  120;
    keepalive_requests 10;

    server_tokens on;


    upstream okd_masters {
      server okdmaster01.lab.example.com:8443;
      server okdmaster02.lab.example.com:8443;
      server okdmaster03.lab.example.com:8443;
      server okdmaster04.lab.example.com:8443;
    }

    server {
      listen      443 ssl;
      server_name okd.example.com *.okd.example.com;

      ssl_certificate           /etc/nginx/ssl/all.okd.example.com.crt;
      ssl_certificate_key       /etc/nginx/ssl/all.okd.example.com.key;

      ssl_session_cache         shared:SSL:10m;
      ssl_session_timeout       5m;
      ssl_protocols             TLSv1 TLSv1.1 TLSv1.2;
      ssl_ciphers               ECDH AESGCM:DH AESGCM:ECDH AES256:DH AES256:ECDH AES128:DH AES:ECDH 3DES:DH 3DES:RSA AESGCM:RSA AES:RSA 3DES:!aNULL:!MD5;
      ssl_prefer_server_ciphers on;

      proxy_connect_timeout 600;
      proxy_send_timeout 600;
      proxy_read_timeout 600;
      send_timeout 600;
      keepalive_timeout 600;
      keepalive_requests 10;

      proxy_set_header X-Forwarded-Host $host:$server_port;
      proxy_set_header X-Forwarded-Server $host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

      proxy_buffering off;
      proxy_http_version 1.1;
      proxy_set_header Connection "";
      proxy_set_header Host      $host;

      location / {
        proxy_pass https://okd_masters;
      }
    }
  }
  

Проблема в том, что я пытаюсь получить доступ к маршруту (app.okd.example.com ) Я перенаправляюсь на okd.example.com вместо

Комментарии:

1. Вы пробовали это без балансировщика нагрузки (просто для настройки)? Это помогло бы вам определить, связана ли проблема с вашей конфигурацией openshift или с вашей конфигурацией nginx.

2. @lxop Хорошо, спасибо, я попробую