✅ 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 |