我还将此问题提交给Keycloak邮件列表。
也许我还没有完全掌握OpenShift背后的概念。我想在OpenShift云中运行我的应用程序并使用Keycloak保护它。我的应用程序已经运行,使用2档。 1个齿轮在WildFly 10中运行web应用程序,第2个齿轮托管PostgreSQL数据库。
我尝试使用https://github.com/keycloak/openshift-keycloak-cartridge向我的应用添加一个盒式磁带来添加Keycloak:
rhc add-cartridge http://cartreflect-claytondev.rhcloud.com/github/keycloak/openshift-keycloak-cartridge
这会导致以下错误:
The cartridge 'http://cartreflect-claytondev.rhcloud.com/github/keycloak/openshift-keycloak-cartridge' will be downloaded and installed
Adding http://cartreflect-claytondev.rhcloud.com/github/keycloak/openshift-keycloak-cartridge to application ‘my_app' ... jboss-wildfly-10 already exists in your application
在一个档位上使用WildFly运行我的应用程序和使用WildFly在二档上运行Keycloak似乎合乎逻辑。将Keycloak添加到现有的OpenShift应用程序(也在WildFly上运行)的最佳做法是什么?我应该在同一个WildFly实例中部署Keycloak吗?
如果我无法在同一个应用程序中部署基于相同“基础盒式磁带”的两个盒式磁带,那么OpenShift如何扩展我的应用程序?这不是一回事吗?
答案 0 :(得分:1)
在OpenShift上,您创建的每个应用程序只能有一个满足“web_framework”类别的盒式磁带,目前适合您的是WildFly。当您尝试安装keycloak盒式磁带时,它也是一个web_framework盒式磁带(https://github.com/keycloak/openshift-keycloak-cartridge/blob/master/metadata/manifest.yml),您可以在“类别”下看到它。
当一个应用程序扩展时,它会增加更多的齿轮,然后每个齿轮都会获得它自己的web_framework盒式磁带副本。
您可以在此处详细了解墨盒的工作原理:https://docs.openshift.org/origin-m4/oo_cartridge_developers_guide.html
如果你想使用Keycloak,你应该将它安装到它自己的装备上(就像你设置Wildfly一样)。