本文へスキップ

Kubernetesサービスとは?

くーばねてぃすさーびす

KubernetesサービスとはPodへの安定したネットワークアクセスを提供する抽象化レイヤーで、動的に変わるPodのIPを隠蔽してロードバランシングを行います。

Kubernetesサービス(Service)は、Podへのネットワークアクセスを安定的に提供するための抽象化の仕組みです。PodはスケールアウトやPod再起動のたびにIPアドレスが変わりますが、Serviceを定義することで固定のDNS名と仮想IPを通じてPodにアクセスできるようになります。

Serviceはラベルセレクターを使って対象Podを動的に特定し、複数のPodに対してロードバランシングを行います。主な種類は以下の通りです。

  • ClusterIP: クラスター内部からのみアクセスできる仮想IPを割り当てます。デフォルトのタイプで、マイクロサービス間通信に使われます。
  • NodePort: 各ノードの特定ポートを開放して外部からアクセスできるようにします。開発・テスト環境での利用が多いです。
  • LoadBalancer: クラウドプロバイダーの外部ロードバランサーと連携して、インターネットから直接アクセス可能なIPを払い出します。
  • ExternalName: 外部DNSホスト名へのエイリアスとして機能します。

Serviceの導入により、Podの増減や再起動が頻繁に発生しても、クライアント側は接続先を意識することなく安定してサービスを利用できます。これはKubernetesにおけるサービスディスカバリとロードバランシングの基盤となる重要な概念です。

使い方・例文

フロントエンドPodがバックエンドAPIに接続する際、バックエンドのServiceをDNS名(例:backend-service)で参照するだけで、背後のPodが何台に増減しても自動的に振り分けられます。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語