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 ライフを楽しみましょう。
関連しているかもしれない記事
📮 📧 🐏: 記事への感想のおたよりをおまちしてます。 お気軽にお送りください。 メールアドレス入力があればメールで返信させていただきます。 もちろんお返事を希望せずに単なる感想だけでも大歓迎です。
このサイトの更新情報をRSSで配信しています。 お好きなフィードリーダーで購読してみてください。
このウェブサイトの運営や著者の活動を支援していただける方を募集しています。 もしよろしければ、Buy Me a Coffee からサポート(投げ銭)していただけると、著者の活動のモチベーションに繋がります✨
Amazonでほしいものリストも公開しているので、こちらからもサポートしていただけると励みになります。