Как включить режим взаимной проверки SSL в образе Redhat-SSO для OpenShift - PullRequest
0 голосов
/ 28 января 2019

Я использую шаблон 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#x509) сказано, что мне нужно отредактировать файл standalone.xml, чтобы добавить разделы конфигурации. Он работал нормально.

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

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

1 Ответ

0 голосов
/ 29 января 2019

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


Вы можете добавить постоянный том (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 pod

    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
    

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...