GKEでgRPCのサーバーを動かす

前回の記事の続きでgRPCで通信するサーバーをGKEに乗せる。

手順

今回は下記の手順で進めていきます。
1. CloudEndpointsにサービスをデプロイ
2. コンテナイメージをビルドしてGKEにデプロイ
3. grpcurlで動作確認

1. CloudEndpointsにサービスをデプロイ

下記のリンクを参考にしながら進めていきます。
GKEでのgRPCスタートガイド

まず、自己完結型protobuf記述子ファイル(Self-describing Messageのこと?)を作成します。作成に成功すれば./proto/の下にuser.pbファイルがあるはずです。

次にサービスをデプロイするための設定ファイルを作成します。
apis.nameは.protoファイルの名前と完全に一致する必要があるので注意です。

それでは、準備が整ったのでデプロイします。gcloudコマンドを使用して下記を実行します。

2. コンテナイメージをビルドしてGKEにデプロイ

次に前回作ったサーバーのコンテナイメージを作成してGKEにデプロイします。

まずはコンテナイメージのビルド〜GCRへのpush。

イメージのpushができたら、kubernetesの設定ファイルを準備してapplyしていく。

service

deployment
こちらは、CloudEndpointsを利用するために、ESPをサイドカーとして載せている。

GKEクラスターにapplyする。

3. grpcurlで動作確認

動作確認は前回の記事と同様に、grpcurlを使って行う。
grpcurlは下記のリンクを参考にインストールする。
https://github.com/fullstorydev/grpcurl

インストールできたらサーバーを起動してリクエストを投げてみる。

下記のようなレスポンスが返ってくれば成功。

以上、今回のソースは下記のリポジトリにあげてます。

https://github.com/GarupanOjisan/grpc-example

この記事が気に入ったらサポートをしてみませんか?