Изменение доменного имени установленного экземпляра SIEM

Чтобы изменить доменное имя уже установленного экземпляра SIEM без потери имеющихся в системе данных, выполните следующие действия с кластером Kubernetes:

  1. Измените имена хостов для объектов Ingress, входящих в кластер:

    1. Получите список объектов Ingress в кластере:

      kubectl -n <namespace> get ingress

      Здесь:

      • <namespace> — имя пространства имен, в котором установлен кластер.

    2. Отредактируйте имя хоста для каждого объекта Ingress в списке, используя команду:

      kubectl -n <namespace> edit ingress <ingress_name>

      Здесь:

      • <namespace> — имя пространства имен, в котором установлен кластер.

      • <ingress_name> — имя объекта Ingress, для которого вы редактируете конфигурацию.

      В открывшемся файле укажите новое доменное имя (вставьте вместо <NEW_DOMAIN_NAME>) как значение ключей:

      • metadata → annotations → nginx.ingress.kubernetes.io/configuration-snippet → more_set_headers → Access-Control-Allow-Origin;

      • spec → rules → host.

      Если на объекте Ingress установлен TLS-сертификат, также отредактируйте значение ключа spec → tls → hosts.
      apiVersion: networking.k8s.io/v1
      kind: Ingress
      metadata:
        annotations:
          nginx.ingress.kubernetes.io/configuration-snippet: |
            # Отредактируйте значение этого ключа.
            more_set_headers "Access-Control-Allow-Origin: https://<NEW_DOMAIN_NAME>";
      # ...
      spec:
        rules:
        # Отредактируйте значение этого ключа.
        - host: <NEW_DOMAIN_NAME>
        # ...
        tls:
        - hosts:
          # Если на объекте Ingress установлен TLS-сертификат, отредактируйте значение этого ключа.
          - <NEW_DOMAIN_NAME>
          # ...
    3. В пространстве имен kube-prometheus-stack находится объект Ingress kube-prometheus-stack-grafana, для которого аналогичным образом следует отредактировать значения ключей:

      • spec → rules → host;

      • spec → tls → hosts (если он существует).

      kubectl -n kube-prometheus-stack edit ingress kube-prometheus-stack-grafana
      Ключ metadata → annotations → nginx.ingress.kubernetes.io/configuration-snippet → more_set_headers → Access-Control-Allow-Origin для объекта kube-prometheus-stack-grafana отсутствует, добавлять его не нужно.
  2. Отредактируйте значения секретов evo.siem.global и evo.core.global, используя команду:

    kubectl -n <namespace> edit secret <secret>

    Здесь:

    • <namespace> — имя пространства имен, в котором установлен кластер.

    • <secret> — сначала evo.siem.global, затем evo.core.global.

      В обоих секретах нужно изменить значения ключей:

      • MODULE_DOMAIN;

      • WEB_URL_HTTP;

      • WEB_URL_HTTPS;

      • WEB_URL_WS.

      Пример фрагмента файла секрета, который необходимо отредактировать
      apiVersion: v1
      data:
        MODULE_DOMAIN: dGVzdF9kb21haW4=
        WEB_URL_HTTP: SFRUUDovL1dFQl9VUkxfSFRUUA==
        WEB_URL_HTTPS: SFRUUFM6Ly9XRUJfVVJMX0hUVFA=
        WEB_URL_WS: V1M6Ly9XRUJfVVJMX0hUVFA=
      # ...
      Значения секретов закодированы с помощью base64; новые значения также нужно указывать закодированными.
  3. Перезагрузите деплойменты кластера, для которых менялись настройки Ingress:

    kubectl -n <namespace> rollout restart deployment <deployment_name>

    Здесь:

    • <namespace> — имя пространства имен, в котором установлен кластер.

    • <deployment_name> — имя (NAME) перезагружаемого деплоймента:

      • evo.core.bff;

      • evo.core.host-app;

      • evo.core.mf-feed;

      • evo.siem.bff;

      • evo.siem.documentation.

  4. Перезагрузите деплоймент kube-prometheus-stack-grafana, находящийся в пространстве имен kube-prometheus-stack:

    kubectl -n kube-prometheus-stack rollout restart deployment kube-prometheus-stack-grafana
  5. Обновите конфигурацию сервиса evo.siem.frontend, выполнив следующие команды на машине, на которой запускался инсталлятор SIEM:

    echo '{ "API_WS_URL": "wss://<NEW_DOMAIN_NAME>/api/graphql", "API_URL": "https://<NEW_DOMAIN_NAME>/api/graphql", "GRAFANA_DASHBOARD_URL": "https://<NEW_DOMAIN_NAME>/grafana/public-dashboards/35077e7f648d4fc79e448eaddf2d0ff5?orgId=1", "NOT_ALLOWED_EXPERTISE_TYPES": "calculation_schema,configuration_schema,domain,playbook,script" }' > mf_config.json
    
    helm upgrade -i evo.siem.frontend /opt/r-vision/common/helm/r-huc -n <namepsace> --values /opt/r-vision/siem/helm/evo.siem.frontend/values.yaml --set-file extraVars.CONFIG=mf_config.json --set-json='global.ingress.hosts=["<NEW_DOMAIN_NAME>"]'

    Здесь:

    • <namespace> — имя пространства имен, в котором установлен кластер.

    • <NEW_DOMAIN_NAME> — новое доменное имя.