KubernetesのServiceの種類
KubernetesのServiceの種類については以前、名前だけ紹介した。
ここではそれぞれの概要について触れる。
ClusterIP
- クラスタ内でPod同士が通信するためのService
- 名前解決を利用できる
- デフォルト
NodePort
- 簡易的な外部との接続を提供
- NodeのIPアドレスとNodeのポート番号(30000〜32768)をPodにマッピングする
- マッピング対象となるPodが複数ある場合はそれらPodの間でRandomに負荷分散される
- 複数のPodがNodeをまたがっていても同じNodePortが共有される
- 商用サービスで利用されることはない
LoadBalancer
- 商用サービスに適した外部との接続を提供
- NodePortの先にクラウドが提供するLoadBalanderを配置する
- LoadBalancerはk8sから制御できる
- LoadBalancerにはお金がかかる点に注意
- NodePortのポート番号(30000〜32768)をLoadBalancerが一般的なポート番号(80番等)で外部に公開する
- ブラウザで特殊なポート番号(30000〜32768)を入力する必要がなくなる
- クラウドのLoadBalancerが提供する利便性の高い機能を利用できる
- 複数のNodePortへの負荷分散
- HTTPS終端
- URL route