RUST での gRPC のヘルスチェックの実装サンプルおよび k8s での grpc ヘルスチェックのサンプル
- Rust
- Docker
- k8s クラスタ作成ツール(minikube, kind など)
- ダッシュボードのデプロイが簡単な minikube がおすすめ
- kubectl
- サンプルイメージの作成
docker build . -f ./grpc-server/dockerfile -t test:v1
- k8s クラスタの用意
# クラスタ作成
minikube start
#クラスタ内にイメージを取り込む
minikube image load test:v1
# ダッシュボードの起動
minikube dashboard
- k8s リソース追加
kubectl apply -f ./mamifest/pod.yaml
k8s の pod を作成してからおよそ 30 秒後にサービスが準備完了となっていることを確認する
確認方法としては k8s のダッシュボードの Pod のページから myapp のステータスを確認する。 正しく動作していれば,イベントのログに以下のような readiness に3回失敗したログが出力された後ポッドは準備完了状態になるはず
Readiness probe failed: service unhealthy (responded with "NOT_SERVING")