gRPC client evans で portforward 先のリモートサーバーにリクエストを行う
evans は対象のサーバーの gRPC のリフレクション機能が起動されていれば、proto ファイルを参照せずに便利な [REPL mode](gRPC のリフレクション機能) を使用できます。
If your server is enabling gRPC reflection, you can launch Evans with only -r (–reflection) option.
gRPC のリフレクション機能については evans 作者の ktr0731 さんが解説している記事が非常にわかりやすいです。
ローカルの 5000 番のポートをリモートサーバの 5000 番ポートにフォワード (port-forward)しているとします。
例えば、kubectl
だと以下のような実行コマンドになります。
Forward a local port to a port on the Pod
kubectl port-forward pods/hoge-asas32s 5000:5000
そして、ポートフォワードのシェルは保持した上で、別にシェルを起動します。
この際に 対象となるlocalhost:5000
に対して、--host
, --port
オプションで指定してやれば evans の REPL モードが起動します。
REPL
> evans -r --host localhost --port 5000
______
| ____|
| |__ __ __ __ _ _ __ ___
| __| \ \ / / / _. | | '_ \ / __|
| |____ \ V / | (_| | | | | | \__ \
|______| \_/ \__,_| |_| |_| |___/
more expressive universal gRPC client
CLI
CLI は cli というサブコマンドを追記するだけで起動できます。 シェル変数などを使って実行したい場合は、こちらが便利です。
evans -r --host localhost --port 5000 cli list
evans で快適な gRPC ライフを楽しみましょう。
Support
記事をお読みくださりありがとうございます。 このウェブサイトの運営を支援していただける方を募集しています。 もしよろしければ、Buy Me a Coffee からサポート(投げ銭)していただけると、記事の執筆、情報発信のモチベーションに繋がります✨--
記事を楽しめましたか? RSSで更新情報を配信しているので、お好きなフィードリーダーで購読してみてください。また、記事へのリアクションやコメントなどを、以下のGitHub を利用したコメントシステムからしていただけると執筆の励みになります。