Результаты поиска для

    Show / Hide Table of Contents

    Установка сервиса nginx-ingress

    Все описанные команды выполняется только на master узле!

    Добавление в Helm репозитория ingress-nginx:

    helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
    helm repo update
    

    Установка nginx в Kubernetes

    Внимание! Переменная MAIN_IF должна указывать IP адрес внешнего интерфейса для доступа к серверу отчётов.

    export MAIN_IF=192.168.1.191
    kubectl create namespace nginx
    
    helm upgrade --install  nginx-ingress ingress-nginx/ingress-nginx \
        --create-namespace --namespace nginx \
        --set controller.replicaCount=2 \
        --set controller.service.externalIPs[0]=$MAIN_IF \
        --set controller.extraArgs.v=2
    

    Следующая команда конфигурирует nginx в кластере. nginx будет принимать все входящие запросы и перенаправлять их в gateway, который распределяет входящие запросы между компонентами сервера отчётов.

    HOST=my.server-server.ru
    NAMESPACE=fr-corporate-server
    
    cat <<EOF | kubectl apply -n $NAMESPACE -f -
    kind: Ingress
    apiVersion: networking.k8s.io/v1
    metadata:
      name: $HOST-gateway
      namespace: $NAMESPACE
      annotations:
        ingress.kubernetes.io/ssl-redirect: 'true'
        nginx.ingress.kubernetes.io/configuration-snippet: |
          add_header  X-Robots-Tag "noindex, nofollow, nosnippet, noarchive";
        nginx.ingress.kubernetes.io/limit-rps: '50'
        nginx.ingress.kubernetes.io/proxy-body-size: '0'
        nginx.ingress.kubernetes.io/proxy-buffering: 'off'
        nginx.ingress.kubernetes.io/proxy-request-buffering: 'off'
    spec:
      ingressClassName: nginx
      tls:
        - hosts:
            - $HOST
          secretName: corporate-tls-secret
      rules:
        - host: $HOST
          http:
            paths:
              - path: /
                pathType: ImplementationSpecific
                backend:
                  service:
                    name: fr-gateway
                    port:
                      number: 80
    EOF
    

    Далее понадобится SSL сертификат для настройки защищённого соединения. Обычно его можно купить/получить у регистратора доменного имени или купить у удостоверяющего центра. При использовании сервера отчётов в интранете можно создать самостоятельно подписанный сертификат с помощью следующей команды:

    export CERT_NAME=my.server-server.ru
    openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout del_me_file.key -out del_me_file.cer -subj "/CN=$CERT_NAME/O=$CERT_NAME"
    

    Регистрация сертификата в Kubernetes c именем fr-corporate-tls. Далее этот сертификат используется различными компонентами отчёта, в том числе nginx.

    kubectl create secret tls fr-corporate-tls --key del_me_file.key --cert del_me_file.cer
    

    Регистрация nginx-ingress в кластере Kubernetes.
    Необходимо установить переменную HOST, соответствующую доменному имени сервера отчётов.

    cat <<EOF | kubectl apply -n $NAMESPACE -f -
    kind: Ingress
    apiVersion: networking.k8s.io/v1
    metadata:
      name: $HOST-gateway
      namespace: $NAMESPACE
      annotations:
        ingress.kubernetes.io/ssl-redirect: 'true'
        nginx.ingress.kubernetes.io/configuration-snippet: |
          add_header  X-Robots-Tag "noindex, nofollow, nosnippet, noarchive";
        nginx.ingress.kubernetes.io/limit-rps: '50'
        nginx.ingress.kubernetes.io/proxy-body-size: '0'
        nginx.ingress.kubernetes.io/proxy-buffering: 'off'
        nginx.ingress.kubernetes.io/proxy-request-buffering: 'off'
    spec:
      ingressClassName: nginx
      tls:
        - hosts:
            - $HOST
          secretName: corporate-tls-secret
      rules:
        - host: $HOST
          http:
            paths:
              - path: /
                pathType: ImplementationSpecific
                backend:
                  service:
                    name: fr-gateway
                    port:
                      number: 80
    EOF
    
    Вверх 2025.2.13 © 1998-2025 ООО «Быстрые отчеты»