2017-04-06 13 views
1

次の問題を私に助けてください。 は、私は私が同じコンテナ内のpostgresを使用する永続的なボリュームとして、kubernetes経由でこのバージョンを公開1.2.1Apimanはゲートウェイを復元しません

FROM jboss/wildfly:9.0.2.Final 
ENV APIMAN_VERSION 1.2.1.Final 

Apimanバージョンを使用します。私が最初にそれを作成すると、apimanの後で、私はOrganization/API/....とすべての必要なスタッフを追加しました。

私はボタンを押してapiを公開し、それが完璧であることを確認することができるので、私はkubectl port-forward pod-name 8080:8080を使用し、ブラウザで私のゲートウェイを確認するかもしれませんhttp:localhost:8080/apiman-gateway/ORgId/bla/bla/bla/bla?givemedescriptionbyid=1

ポッドリスタートの結果として、私はコンソールに行き、apimanポッドを殺すのですが、同じ操作kubectl port-forward new-pod-name 8080:8080の結果として、組織、apis、および他のすべてのスタッフのようなapimanのすべてのデータが既にそこにあることがわかります。

しかし、一つの大きな問題あなたが再びゲートウェイを呼び出そうと、それがあることを示しています:

{ "にResponseCode":500、 "メッセージ": "APIません が見つかった"、 "トレース": "io.apiman.gateway.engine.beans.exceptions.InvalidApiException: APIが見つかりません。\ n \ tat io.apiman.gateway.engine.impl.ApiRequestExecutorImpl $ 3.handle(ApiRequestExecutorImpl.java:278)\ n \ tat io.apiman.gateway.engine.impl.ApiRequestExecutorImpl $ 3.handle(ApiRequestExecutorImpl.java:271)\ n \ tat io.apiman.gateway.engine.impl.SecureRegistryWrapper $ 1.handle(SecureRegistryWrapper.java:122)\ n \ tat io.apiman.gateway.engine.impl.SecureRegistryWrapper $ 1.handle(SecureRegistryWrapper.java:111)\ n \ tat io.apiman.gateway.engine.es.CachingESRegistry.getApi(CachingESRegistry.java:116)\ n \ tat io.apiman.gateway.engine.impl.SecureRegistryWrapper.getApi(SecureRegistryWrapper.java:111)\ n \ tat io.apiman.gateway.engine.impl.ApiRequestExecutorImpl.execute(ApiRequestExecutorImpl.java:270)\ n \ tat io.apiman.gateway.platforms.servlet.GatewayServlet.doAction(GatewayServlet.java:232)\ n \ tat io.apiman.gateway.platforms.servlet.GatewayServlet.doGet(GatewayServlet.java:77)\ n \ tt javax.servlet.http.HttpServlet.service(HttpServlet.java:687)\ n \ tat javax.servlet.http.HttpServlet.service(HttpServlet.java:790)\ n \ tat io.undertow.servlet。ハンドラー.ServletHandle r.handleRequest(ServletHandler.java:86)\ n \ tat io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)\ n \ tat io.undertow.servlet.handlers.ServletDispatchingHandler。 handleRequest(ServletDispatchingHandler.java:36)\ n \ TAT org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)\ n \ TAT io.undertow.server.handlers.PredicateHandler.handleRequest( (SSLInformationAssociationHandler.java:131)\ n \ tat io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest ServletAuthenticationCallHandler.java:57)\n\tat io.u (AbstractConfidentialityHandler.java:46)\ n \ tat io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)\ n \ tat io.undertow.servlet。 (サーブレット・コンフォーマンス・コンストラクション・ハンドラー.java:64)\ 012 \セキュリティ。CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:72)\ n \ TAT io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)\ n \ TAT io.undertow.security.handlers.SecurityInitialHandler.handleRequest( SecurityInitialHandler.java:76)\ n \ tat io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)\ n \ tat org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest( (PredicateHandler.java:43)\ n \ tat io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 43)\ n \ tat io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest( ServletInitialHandler.java:282)\n\tat io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:261)\ N \ TAT io.undertow.servlet.handlers.ServletInitialHandler.access $ 000(ServletInitialHandler.java :80)\ n \ tat io.undertow.servlet.handlers.ServletInitialHandler $ 1.handleRequest(ServletInitialHandler.java:172)\ n \ tat io.undertow.server.Connectors.executeRootHandler(Connectors.java:199)\ n \ tat io.undertow.server.HttpServerExchange $ 1.run(HttpServerExchange.java:774)\ n \ tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\ n \ tat java.util。 concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)\ n \ tat java.lang.Thread.run(Thread.java:745)\ n "}

私はapiマネージャの呼び出しのメトリックによって、すべての呼び出しがapiman-gatewayに届くことがわかりますが、私は500応答コードを取得しています。

答えて

1

このようなエラーが発生した場合は、次の手順で解決しました。まず、新しいバージョンのAPIMANのみを使用する必要があります。また、apiman-gatewayは、弾力的な検索をしなくても、それ自体を復元することはできません。したがって、弾性サーチ構成を提供すべきである。

関連する問題