YAML ファイルを環境ごとに用意するのは大変 Deployment Service Ingress HPA ConfigMap Secrets Deployment Service Ingress HPA ConfigMap Secrets Deployment Service Ingress HPA ConfigMap Secrets Production Staging Development
YAML だけをオーバーライドできる Deployment ConfigMap Secrets Deployment ConfigMap Secrets Deployment ConfigMap Secrets Production Staging Development Service Ingress Base
Pod B Pod C Pod A Pod C Pod D Pod B Pod C Pod D Node 1 Node 2 Node 3 Node Network Pod Network VM/Baremetal NIC VM/Baremetal NIC VM/Baremetal NIC Container NIC Container NIC Container NIC Container NIC Container NIC Container NIC Container NIC Container NIC Container NIC
C Pod A Pod C Pod D Pod B Pod C Pod D Node 1 Node 2 Node 3 Node Network Pod Network Service A Service C Ingress for Service A & C Static IP パブリッククラウドでは L7ロードバラン サで実装されていることが多い パブリッククラウドでは L4ロードバラン サで実装されていることが多い ※簡易的 & 論理的な図なので実際の構成とは違います Service D (ClusterIP)
上の kube-proxy が不安定なのも相まって、結局アプリ上にgRPC クライアントを導入 ◦ Kubernetes の Headless Service を使った、名前解決のラウンドロビンと gRPC 接続を張る処理を自前で実装 詳細はチームリーダー 瀬尾の Google Cloud Next ’19 in Tokyo 登壇資料に!
上の kube-proxy が不安定なのも相まって、結局アプリ上にgRPC クライアントを導入 ◦ Kubernetes の Headless Service を使った、名前解決のラウンドロビンと gRPC 接続を張る処理を自前で実装 詳細はチームリーダー 瀬尾の Google Cloud Next ’19 in Tokyo 登壇資料に! サービスプロキシを入れる規模ではないので クライアント実装で解決した