1.ConfigMapのManifestファイルの作成
spring-config.yaml
apiVersion: v1
kind: ConfigMap
# ConfigMapの基本情報
metadata:
name: spring-config # ConfigMap名
# Key、Value形式で設定値を保存
data:
db-host: mysql-service
db-port: "3306"
db-name: kube-practice
spring-deployment.yamlの修正
apiVersion: apps/v1
kind: Deployment
# Deploymentの基本情報
metadata:
name: spring-deployment # Deployment名
# Deploymentの詳細情報
spec:
replicas: 3 # 作成するPodのレプリカ数
selector:
matchLabels:
app: backend-app # 以下で定義したPodのうち、「app: backend-app」という値を持つPodを選択
# デプロイするPodの定義
template:
metadata:
labels: # ラベル(=カテゴリ)
app: backend-app
spec:
containers:
- name: spring-container # コンテナ名
image: spring-server # コンテナ作成時に使用するイメージ
imagePullPolicy: IfNotPresent # ローカルから先にイメージを取得する。存在しない場合はレジストリから取得する。
ports:
- containerPort: 8080 # コンテナで使用するポートを明示的に指定
env:
**- name: DB_HOST
valueFrom:
configMapKeyRef:
name: spring-config
key: db-host
- name: DB_PORT
valueFrom:
configMapKeyRef:
name: spring-config
key: db-port
- name: DB_NAME
valueFrom:
configMapKeyRef:
name: spring-config
key: db-name**
- name: DB_USERNAME
value: root
- name: DB_PASSWORD
value: password123
SecretのManifestファイルの作成
spring-secret.yaml
apiVersion: v1
kind: Secret
# Secretの基本情報
metadata:
name: spring-secret # Secret名
# Key、Value形式で値を保存
stringData:
db-username: root
db-password: password123
spring-deployment.yamlの修正
apiVersion: apps/v1
kind: Deployment
# Deploymentの基本情報
metadata:
name: spring-deployment # Deployment名
# Deploymentの詳細情報
spec:
replicas: 3 # 作成するPodのレプリカ数
selector:
matchLabels:
app: backend-app # 以下で定義したPodのうち、「app: backend-app」という値を持つPodを選択
# デプロイするPodの定義
template:
metadata:
labels: # ラベル(=カテゴリ)
app: backend-app
spec:
containers:
- name: spring-container # コンテナ名
image: spring-server # コンテナ作成時に使用するイメージ
imagePullPolicy: IfNotPresent # ローカルから先にイメージを取得する。存在しない場合はレジストリから取得する。
ports:
- containerPort: 8080 # コンテナで使用するポートを明示的に指定
env:
- name: DB_HOST
valueFrom:
configMapKeyRef:
name: spring-config
key: db-host
- name: DB_PORT
valueFrom:
configMapKeyRef:
name: spring-config
key: db-port
- name: DB_NAME
valueFrom:
configMapKeyRef:
name: spring-config
key: db-name
**- name: DB_USERNAME
valueFrom:
secretKeyRef:
name: spring-secret
key: db-username
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: spring-secret
key: db-password**
Manifestファイルの反映
$ kubectl apply -f spring-secret.yaml
$ kubectl apply -f spring-config.yaml
$ kubectl apply -f spring-deployment.yaml
$ kubectl rollout restart deployment spring-deployment
動作確認


'k8s > archive_1' 카테고리의 다른 글
| 19.EC2 - k3s (0) | 2026.03.18 |
|---|---|
| 18.Volume - 外部からのMySQLアクセスを遮断する (0) | 2026.03.18 |
| 16.Deployment - Spring BootとMySQLの連携 (0) | 2026.03.18 |
| 15.Deployment - MySQL(Volume設定) (0) | 2026.03.18 |
| 14.Deployment - MySQL(Volume未設定) (0) | 2026.03.18 |