Member-only story
Kubernetes Services — Part 1
Kubernetesのservicesーパート1
Intro to K8s services with examples
例を出してK8s servicesをご紹介いたします。
今回は、K8s(Kubernetes)のservicesを見ていきます。今回は、以下を取り上げます。
- servicesとは何かとその例
- servicesの種類
- 各servicesの種類の実例
Kubernetesでは、serviceはPodの論理的なセットと、それらにアクセスするためのポリシーを定義する抽象的な方法です(このパターンをマイクロserviceと呼ぶこともあります)。
なるほど、定義は分かったけど、なぜserviceが必要なのでしょうか?
なぜ、ユーザーはアプリケーションをホストするPodと直接通信することができないのでしょうか。なぜ、これ以上複雑にするのでしょうか。
Kubernetesのポッドは本質的にエフェメラルものです。デプロイメントオブジェクトはダイナミックにポッドを作成し、破壊することができます。各Podは独自のIPアドレスを持っているため、デプロイメントでは実行中のPodのセットは常に変化し、PodのIPアドレスも変化します。
これが問題になるのです:「バックエンド」と呼ばれるポッドが、クラスタ内の他のポッドに機能するように影響を及ぼす場合、フロントエンドはどのIPアドレスに接続すれば、バックエンドのワークロードを利用できるのか、どうやって知ることができるのでしょうか。
以下のように異なるPodのセットで構成される例を考えて、問題を把握してみよう。
フロントエンドのリクエストを処理するポッドのセット
バックエンドリクエストを処理するポッド群
データレイヤーのリクエストをサーバーするポッドのセット