Как изменить доменное имя кластера

Изменение домена через ClusterConfig.

Используйте эту инструкцию, если в развернутом кластере управления и/или клиентском кластере нужно изменить домен shturval.link на новый FQDN.

Обратите внимание! Внимание:

  • Изменение доменного имени кластера управления заблокирует доступ к его клиентским кластерам с помощью kubeconfig. Для восстановления доступа потребуется изменить доменные имена или повторно создать кластеры.

Изменения выполняются через ClusterConfig с именем, соответствующим имени кластера. После изменения ClusterConfig cluster-manager обновляет связанные ресурсы кластера.

Предусловия

  • Кластер управления или клиентский кластер уже развернут с одним из провайдеров: Shturval v2, oVirt и подобные провайдеры, VMware vSphere.
  • Для Ingress-контроллера используется внутренний балансировщик нагрузки.
  • У вас есть доступ к кластеру управления с правами на просмотр и изменение ресурса ClusterConfig API-группы cluster.shturval.tech. Описание ресурса см. в разделе Кастомные ресурсы платформы.

ClusterConfig кластера вы можете получить:

  • в GUI: кластер управления → Администрирование → страница Кастомные ресурсы → API-группа cluster.shturval.techClusterConfig.
  • в CLI: кластер управления → команда kubectl -n ВВЕДИТЕ-ИМЯ-КЛАСТЕРА get clusterconfig ВВЕДИТЕ-ИМЯ-КЛАСТЕРА

Изменение домена

Шаг 1. Сохраните ClusterConfig

Сохраните исходную конфигурацию, чтобы при ошибке можно было откатить изменения:

export CLUSTER_NAMESPACE=<неймспейс_кластера>
export CLUSTER_NAME=<имя_кластера>
kubectl -n "$CLUSTER_NAMESPACE" get clusterconfig "$CLUSTER_NAME" -o yaml > "clusterconfig-$CLUSTER_NAME-backup.yaml"

Шаг 2. Измените defaultIngressFQDN

Откройте ClusterConfig на редактирование:

kubectl -n "$CLUSTER_NAMESPACE" edit clusterconfig "$CLUSTER_NAME"

В блоке spec.systemServicesConfig.ingress измените defaultIngressFQDN.

Пример фрагмента ClusterConfig:

apiVersion: cluster.shturval.tech/v1beta1
kind: ClusterConfig
metadata:
  name: <имя_кластера>
  namespace: <неймспейс_кластера>
spec:
  clusterName: <имя_кластера>
  systemServicesConfig:
    ingress:
      setupVIP: true
      defaultIngressFQDN: "*.mydomain.ru"
Параметр Описание Тип данных
defaultIngressFQDN Новый wildcard FQDN для Ingress string

Шаг 3. Проверьте результат

После применения изменений проверьте, что:

  • кластер открывается по новому домену;
  • в кластере приходят логи и мерики;
  • из интерфейса кластера или неймспейса можно перейти в Argo CD с новым FQDN.

При необходимости установки корпоративного сертификата после изменения домена выполните инструкцию из раздела Сценарий добавления корпоративного сертификата в кластер.

Что обновляет cluster-manager

После изменения FQDN в ClusterConfig, cluster-manager запускает обновление ресурсов. Список обновляемых ресурсов зависит от того, где меняется доменное имя: в кластере управления или в клиентском кластере.

Для кластера управления cluster-manager обновляет:

  • дефолтный профиль кластера default-client-cluster-profile: параметры spec.loggingEndpoint и spec.monitoringEndpoint;
  • ShturvalServicePatch shturval-ingress-controller-ingress: параметр spec.customvalues.controller.shturval.commonName;
  • ShturvalServiceConfig во всех аргументах, где использовался прежний FQDN: shturval-auth, shturval-backend, shturval-cd, shturval-dashboards, shturval-frontend, shturval-metrics-collector, shturval-monitoring.

Для клиентского кластера cluster-manager обновляет:

  • ShturvalServicePatch shturval-ingress-controller-ingress: параметр spec.customvalues.controller.shturval.commonName;
  • ShturvalServiceConfig во всех аргументах, где использовался прежний FQDN клиентского кластера или кластера управления: shturval-cd, shturval-metrics-collector, shturval-log-collector.