Member-only story

Kubernetes Services — Part 1

gavin.zhou
12 min readApr 27, 2022

--

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のセットで構成される例を考えて、問題を把握してみよう。

フロントエンドのリクエストを処理するポッドのセット

バックエンドリクエストを処理するポッド群

データレイヤーのリクエストをサーバーするポッドのセット

--

--

No responses yet