0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【簡単Kubernetes】【kubectl】KubernetesのServiceタイプまとめ

Posted at

KubernetesにおけるServiceとは、Podへの安定したネットワークアクセスを提供するためのリソースです。Serviceには複数のタイプがあり、それぞれの利用シーンに応じて使い分ける必要があります。


🔸 1. ClusterIP(デフォルト)

✅ 特徴

  • クラスター内部専用の仮想IPを持つ
  • 外部からのアクセスは不可
  • 他のPodやServiceからのアクセスに使用

🧭 使用例

  • マイクロサービス間の通信
  • フロントエンドからバックエンドへの内部アクセス

📌 設定例

spec:
  type: ClusterIP

🔸 2. NodePort

✅ 特徴

  • クラスタ内の各ノードの特定のポート(30000~32767)を使用して外部からアクセス可能
  • ClusterIPの機能も持つ

🌐 アクセス例

http://<Node IP>:<NodePort>

📌 設定例

spec:
  type: NodePort
  ports:
    - port: 80
      nodePort: 32600

🔸 3. LoadBalancer

✅ 特徴

  • クラウド環境(AWS, GCP, Azureなど)で利用可
  • 外部にパブリックIPを公開し、外部アクセスが可能
  • 自動的にクラウドのロードバランサーを作成

📌 設定例

spec:
  type: LoadBalancer

📝 備考

  • Minikubeなどのローカル環境では利用不可

🔸 4. ExternalName

✅ 特徴

  • Kubernetes内から外部のDNS名へ名前解決し、リダイレクト可能
  • Podにルーティングせず、外部サービスを仮想的にServiceとして扱える

📌 設定例

spec:
  type: ExternalName
  externalName: example.com

🔗 使用例

  • 外部のデータベースやAPIを参照したい場合

📋 まとめ表

タイプ アクセス範囲 外部アクセス 主な用途
ClusterIP クラスター内部のみ 内部通信、サービス間連携
NodePort クラスター外も可能 開発環境での簡易公開
LoadBalancer クラウドの外部IP 本番環境での公開用途
ExternalName 外部のDNS名へ転送 外部リソースへの名前解決

✅ 補足:Service確認コマンド

kubectl get services           # 全てのService一覧を表示
kubectl get services -o wide  # 追加情報も含めて表示

クラスタ構築やアプリケーションデプロイ時には、適切なServiceタイプの選定が重要です。用途に応じて最適なタイプを使い分けましょう!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?