1

この質問は、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

1 つのギアで WildFly でアプリケーションを実行し、2 つ目のギアで同じく WildFly で Keycloak を実行することは、私には理にかなっているように思えます。WildFlyでも実行されている既存のOpenShiftアプリケーションにKeycloakを追加するベストプラクティスは何ですか? 同じWildFlyインスタンスにKeycloakをデプロイする必要がありますか?

同じアプリ内の同じ「ベース カートリッジ」に基づく 2 つのカートリッジをデプロイできない場合、OpenShift はどのようにアプリケーションをスケールアップしますか? それは同じことではありませんか?

4

1 に答える 1

1

OpenShift では、作成する各アプリケーションは、「web_framework」カテゴリを満たすカートリッジを 1 つだけ持つことができます。これは現在、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 をセットアップするのと同じように)。

于 2016-03-10T22:06:36.980 に答える