В этой статье:

Настройка доступа к кластеру

Настройка доступа при создании тома постоянного хранения и его заявки

Настройки при прерывании установки

Настройки при сбросе соединения во время установки

Решение возможных проблем при использовании Deckhouse

При развёртывании отказоустойчивого кластера на основе Deckhouse могут возникнуть следующие проблемы:

Настройка доступа к кластеру

Для настройки доступа к кластеру при использовании самоподписанных сертификатов:

  1. Откройте на редактирование модуль конфигурации global:

kubectl edit mc global

  1. Добавьте подраздел «https» в разделы «spec > settings > modules»:

https:
 certManager:
   clusterIssuerName: selfsigned
 mode: CertManager

Например:

apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
 name: global
spec:
 version: 1
 settings:
   modules:
     publicDomainTemplate: '%s.dk1.internal'
     https:
       certManager:
         clusterIssuerName: selfsigned
       mode: CertManager

  1. Откройте на редактирование модуль конфигурации user-authn:

kubectl edit mc user-authn

  1. Удалите подраздел «https»:

https:
  global:
    kubeconfigGeneratorMasterCA: ""
  mode: Global

  1. Измените значение параметра dexCAMode с «DoNotNeed» на «FromIngressSecret».

Например:

spec:
 enabled: true
 settings:
   controlPlaneConfigurator:
     dexCAMode: FromIngressSecret
   publishAPI:
     enable: true
 version: 1

  1. Дождитесь прохождения всех очередей Deckhouse:

sudo /opt/deckhouse/bin/kubectl -n d8-system exec -it deploy/deckhouse -c deckhouse -- deckhouse-controller queue list

После выполнения действий повторите авторизацию, если очередь Deckhouse пуста.

Настройка доступа при создании тома постоянного хранения и его заявки

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

Для настройки доступа при создании тома постоянного хранения (Persistent Volume) и его заявки (Persistent Volume Claim):

  1. Откройте файл fmp/chart/values.yaml и закомментируйте строки:

containerSecurityContext:
 enabled: false
podSecurityContext:
 enabled: false

  1. Удалите и заново установите продукт «Форсайт. Мобильная платформа» на кластере.

Настройки при прерывании установки

При установке продукта «Форсайт. Мобильная платформа» может возникнуть ошибка:

* admission webhook "sgcluster.mutating-webhook.stackgres.io" denied the request: Failure executing: POST at: https://10.222.0.1:443/apis/stackgres.io/v1/namespaces/fmp/sgpoolconfigs. Message: sgpoolconfigs.stackgres.io "generated-from-default-1712323110835" already exists. Received status: Status(apiVersion=v1, code=409, details=StatusDetails(causes=[], group=stackgres.io, kind=sgpoolconfigs, name=generated-from-default-1712323110835, retryAfterSeconds=null, uid=null, additionalProperties={}), kind=Status, message=sgpoolconfigs.stackgres.io "generated-from-default-1712323110835" already exists, metadata=ListMeta(_continue=null, remainingItemCount=null, resourceVersion=null, selfLink=null, additionalProperties={}), reason=AlreadyExists, status=Failure, additionalProperties={}).

Для решения проблемы переустановите StackGres, предварительно удалив продукт «Форсайт. Мобильная платформа».

Настройки при сбросе соединения во время установки

Если сбрасываются соединения при установке продукта «Форсайт. Мобильная платформа», то увеличьте таймаут и уберите ограничение на тело запроса в ingress:

kubectl annotate ingress -n fmp --all --overwrite nginx.ingress.kubernetes.io/proxy-body-size='0'
kubectl annotate ingress -n fmp --all --overwrite nginx.ingress.kubernetes.io/proxy-read-timeout='3600s'
kubectl annotate ingress -n fmp --all --overwrite nginx.ingress.kubernetes.io/proxy-send-timeout='3600s'

См. также:

Подготовка и развёртывание отказоустойчивого кластера на основе Deckhouse