好的,无论如何我都包括这个。由于权限问题,我无法使其正常工作(挂载的文件没有保留与以前相同的权限,因此容器继续失败。但是这个答案做了很多工作,所以希望它能指出你正确的方向!
您可以添加持久卷 (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
这将显示带有空白configuration
目录的 RH-SSO 映像,导致 pod 卡在Back-off restarting failed container
. 你应该做的是:
备份现有的配置文件
oc rsync <rhsso_pod_name>:/opt/eap/standalone/configuration ~/
创建一个临时的busybox
部署,它可以充当上传配置文件的中介。等待部署完成
oc run busybox --image=busybox --wait --command -- /bin/sh -c "while true; do sleep 10; done"
将新 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
立即编辑您的配置文件
busybox
通过pod将配置文件上传到新 PV
oc rsync ~/configuration/ <busybox_pod_name>:/configuration/
销毁busybox
部署
oc delete all -l run=busybox --force --grace-period=0
最后,您将已创建并准备就绪的持久配置附加到 RH SSO 部署
oc set volume deploymentconfig sso --add -t pvc --name=sso-volume --claim-name=sso-config --mount-path=/opt/eap/standalone/configuration
一旦您的新部署......由于权限问题仍然失败:/