k8s/archive_1

9.Service - Spring Bootと通信

YOOANT 2026. 3. 17. 22:22

✅ Serviceを活用してSpring Bootと通信する

🧑🏻‍🏫 deploymentを活用してSpring Bootを3台起動した。しかし、deploymentに含まれるすべてのPodにリクエストを均等に分散させるためには、サービス (Service) を生成する必要がある。

https://tokyoant.tistory.com/58

Manifestファイルの作成

spring-service.yaml

apiVersion: v1
kind: Service

# Service の基本情報
metadata:
  name: spring-service # Service の名前
  
# Service の詳細情報
spec:
  type: NodePort # Service の種類
  selector:
    app: backend-app # 実行中の Pod のうち 'app: backend-app' ラベルを持つ Pod とサービスを接続
  ports:
    - protocol: TCP # サービスに接続するためのプロトコル
      port: 8080 # クバーネティス内部で Service に接続するためのポート番号
      targetPort: 8080 # マッピング先の Pod のポート番号
      nodePort: 30000 # 外部からユーザーがアクセスするためのポート番号

サービスの主要な種類 (Type)

まずは以下の 3 つの概念について理解しておこう。

  • NodePort: クバーネティス内部で該当サービスに接続するためのポートを開放し、外部からのアクセスを可能にする。
  • ClusterIP: クバーネティス内部でのみ通信可能な仮想 IP アドレスを付与する。外部からのリクエストは不可。
  • LoadBalancer: 外部のロードバランサー (AWS の ELB など) を活用して、外部からアクセスできるように接続する。

Manifestに基づきServiceを生成

$ kubectl apply -f spring-service.yaml 

Serviceが正常に生成されたか確認

$ kubectl get service

正常に接続できるか確認

ブラウザまたは curl を使用して、localhost:30000 (NodePort) にアクセスし、応答が返ってくるか確認する。

'k8s > archive_1' 카테고리의 다른 글

11.ConfigMap  (0) 2026.03.18
10.環境変数登録  (0) 2026.03.18
8.serviceとは?  (0) 2026.03.17
7.Deployment - SpringBoot 3台作成  (0) 2026.03.17
6.Deploymentとは?  (0) 2026.03.17

日本語