Как включить режим взаимной проверки SSL в образе Redhat-SSO для OpenShift

Я использую шаблон sso72-x509-postgresql-persistent, который основан на Redhat-SSO и Keycloak, для создания приложения в OpenShift.

Я собираюсь включить режим взаимного SSL, так что пользователь должен предоставить только свой сертификат вместо имени пользователя и пароля в своем запросе. Документ ( https://access.redhat.com/documentation/en-us/red_hat_single_sign-on/7.2/html-single/server_administration_guide/index) сказал мне отредактировать файл standalone.xml для добавления разделов конфигурации. Работало нормально.

Но у образа шаблона sso72-x509-postgresql-persistent возникла проблема с этой процедурой, поскольку после его развертывания в OpenShift любые изменения в файлах в докере терялись после перезапуска докера.

Есть ли способ включить режим взаимного SSL через другой уровень, такой как командная строка или API, вместо того, чтобы редактировать файл конфигурации, кроме как сделать мой собственный образ докера?

1 ответ

Хорошо, я все равно включаю это. Я не смог заставить это работать из-за проблем с разрешениями (смонтированные файлы не сохраняли те же разрешения, что и раньше, поэтому контейнер продолжал отказывать. Но в этом ответе много работы, так что, надеюсь, он укажет на вас правильное направление!


Вы можете добавить постоянный том (PV), чтобы изменения конфигурации сохранялись после перезапуска. Вы можете добавить PV в ваше развертывание через:

НЕ ДЕЛАЙТЕ ЭТОГО

oc set volume deploymentconfig sso --add -t pvc --name=sso-config --mount-path=/opt/eap/standalone/configuration --claim-mode=ReadWriteOnce --claim-size=1Gi

Это поднимет ваше изображение RH-SSO с пустым configuration каталог, в результате чего модуль застрял в Back-off restarting failed container, Что вы должны сделать вместо этого:

  1. Сделайте резервную копию существующих файлов конфигурации

    oc rsync <rhsso_pod_name>:/opt/eap/standalone/configuration ~/
    
  2. Создать временный, busybox развертывание, которое может выступать в качестве посредника для загрузки файлов конфигурации. Дождитесь завершения развертывания

    oc run busybox --image=busybox --wait --command -- /bin/sh -c "while true; do sleep 10; done"
    
  3. Установите новый PV на busybox развертывание. Дождитесь завершения развертывания

    oc set volume deploymentconfig busybox --add -t pvc --name=sso-volume --claim-name=sso-config --mount-path=/configuration --claim-mode=ReadWriteOnce --claim-size=1Gi
    
  4. Отредактируйте ваши файлы конфигурации сейчас

  5. Загрузите файлы конфигурации на новый PV через busybox стручок

    oc rsync ~/configuration/ <busybox_pod_name>:/configuration/
    
  6. Уничтожить busybox развертывание

    oc delete all -l run=busybox --force --grace-period=0
    
  7. Наконец, вы присоединяете уже созданную и готовую к работе постоянную конфигурацию к развертыванию единого входа RH

    oc set volume deploymentconfig sso --add -t pvc --name=sso-volume --claim-name=sso-config --mount-path=/opt/eap/standalone/configuration
    

Как только ваше новое развертывание... все еще не работает из-за проблем с разрешениями:/

Другие вопросы по тегам