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が何台に増減しても自動的に振り分けられます。
この用語をシェア
最終更新: