2017-09-18 2 views
1

keycloakバージョン3.3.0.CR1のインポート/エクスポートのベストプラクティスを理解しようとしています。私がkeycloakの公式ページimport/exportで見たように、彼らは戦略を説明しました。ここでは、単一ファイルjsonへのエクスポートの例を示します。/keycloak/binフォルダに移動し、これを実行してください:KubernetesのExport/Import Keycloakデータのベストプラクティス

./standalone.sh -Dkeycloak.migration.action=export -Dkeycloak.migration.provider=singleFile -Dkeycloak.migration.file=keycloak-export.json 

私はk8sポッドにログインしました。私が見たようKeycloakサーバーに、私はバックアップスクリプトを実行したのと同じポート上で実行されるため、

12:23:32,045 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([ 
    ("core-service" => "management"), 
    ("management-interface" => "http-interface") 
]) - failure description: { 
    "WFLYCTL0080: Failed services" => {"org.wildfly.management.http.extensible" => "java.net.BindException: Address already in use /127.0.0.1:9990"}, 
    "WFLYCTL0288: One or more services were unable to start due to one or more indirect dependencies not being available." => { 
     "Services that were unable to start:" => ["org.wildfly.management.http.extensible.shutdown"], 
     "Services that may be the cause:" => ["jboss.remoting.remotingConnectorInfoService.http-remoting-connector"] 
    } 
} 

:後、私はエラーを取得し、このコマンドを実行します。ここでhelm/keycloak values.yml:

Service: 
    Name: keycloak 
    Port: 8080 
    Type: ClusterIP 

Deployment: 
    Image: jboss/keycloak 
    ImageTag: 2.5.1.Final 
    ImagePullPolicy: IfNotPresent 
    ContainerPort: 8080 
    KeycloakUser: Admin 
    KeycloakPassword: Admin 

このスクリプトを実行する前にサーバーを停止する必要がありますか?私はポッドの中でキークローキングのプロセスを止めることはできません。なぜなら、エントリーはポッドを閉じて新しいものを作り出すからです。 データをエクスポート/インポート(バックアップ/復元)するための他の方法については何か提案はありますか?または何かが欠けている?

P.S. 私はUIのインポート/エクスポートも試みました。エクスポート作業が良好で、すべてのデータが表示されます。しかし、輸入は半分で成功しました。彼は私のすべての "クライアント"を持ってきましたが、私の "レルム"と "ユーザー連盟"は持っていませんでした。出来ますか?

答えて

3

基本的には、メインインスタンスと異なるポートでエクスポートするKeycloakインスタンスを起動するだけで済みます。私は今、このようなものを使用:

bin/standalone.sh -Dkeycloak.migration.action=export -Dkeycloak.migration.provider=singleFile -Dkeycloak.migration.file=keycloak-export.json -Djboss.http.port=8888 -Djboss.https.port=9999 -Djboss.management.http.port=7777

重要な部分は、すべてのポートです。あなたはより多くのエラーメッセージを取得する場合、あなたはより多くのプロパティを追加する必要があるかもしれません(grep port standalone/configuration/standalone.xmlは、プロパティ名を見つけるためにあなたの友人である)が、最終的に、すべてのエラーメッセージを停止し、あなたの代わりにこのメッセージが表示さ:

09:15:26,550 INFO [org.keycloak.exportimport.singlefile.SingleFileExportProvider] (ServerService Thread Pool -- 52) Exporting model into file /opt/jboss/keycloak/keycloak-export.json [...] 09:15:29,565 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: Keycloak 3.2.0.Final (WildFly Core 2.0.10.Final) started in 12156ms - Started 444 of 818 services (558 services are lazy, passive or on-demand)

Ctrl - Cでサーバーを停止し、コンテナを終了して、エクスポートファイルをkubectl cpでコピーしてください。

関連する問題