1.マニフェストファイルのクローン
AWS EC2でSpring Bootを起動する際、Manifestファイルのみあればよい。Spring Bootに関するプロジェクトファイルは不要である。なぜなら、Manifestファイルを介してSpring Bootを実行するためのイメージをダウンロードし、実行するためである。
$ git clone https://github.com/lioncubKR/kubernetes-manifests.git
$ cd kubernetes-manifests
2.Deployment、ConfigMap、Secretファイルの修正
以前作成したRDS、ECRの情報に合わせて、Deployment、ConfigMap、Secretの情報を修正しなければならない。
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:
imagePullSecrets:
- name: regcred
containers:
- name: spring-container # コンテナ名
# ECRに保存されたイメージのアドレスおよびタグ名
image: 679592457611.dkr.ecr.ap-northeast-1.amazonaws.com/kube-ecr:1.0
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
- imagePullSecrets:イメージをPullする際、該当のSecret値を活用してPrivate ECRレジストリへアクセスする。
spring-config.yaml
apiVersion: v1
kind: ConfigMap
# ConfigMapの基本情報
metadata:
name: spring-config # ConfigMap名
# Key、Value形式で設定値を保存
data:
# RDSエンドポイントを記述する
db-host: kube-database.cts66a2qwn5v.ap-northeast-1.rds.amazonaws.com
db-port: "3306"
db-name: mydb
spring-secret.yaml
apiVersion: v1
kind: Secret
type: Opaque # 任意のユーザー定義データを保存する際に使用するタイプ
# Secretの基本情報
metadata:
name: spring-secret # Secret名
# Key、Value形式で値を保存
stringData:
# RDS作成時に記載した**マスターユーザー名**と**マスターパスワード**を入力する
db-username: admin
db-password: password
3.オブジェクトの作成
$ kubectl apply -f spring-secret.yaml
$ kubectl apply -f spring-config.yaml
$ kubectl apply -f spring-deployment.yaml
$ kubectl apply -f spring-service.yaml
4.正常に作成されたか確認
$ kubectl get secret
$ kubectl get configmap
$ kubectl get deployment
$ kubectl get service
$ kubectl get pods
Deploymentが正常起動してなかったため、原因調査を実施した。
https://tokyoant.tistory.com/75
[kubernetes]exec /opt/java/openjdk/bin/java: exec format error
✅エラー内容ローカル環境でSpringサーバーをビルドしてAWS ECRに保存した。当該イメージを使用してSpringサーバーをデプロイ中にエラーが発生したため、ログを確認したところ、以下の内容が
tokyoant.tistory.com
5.APIが正常に動作するか確認する


6.DBに正常にデータが保存されているか確認する

'k8s > archive_1' 카테고리의 다른 글
| 23.EC2 - ECRからイメージをPullできるよう権限を付与 (0) | 2026.03.19 |
|---|---|
| 22.Spring BootサーバーのビルドとECRへのPush (0) | 2026.03.19 |
| 21.Spring Bootのデプロイ、DBの連携(RDS、ECR) (0) | 2026.03.19 |
| 20.EC2 - (k3s) Nginxの起動 (0) | 2026.03.18 |
| 19.EC2 - k3s (0) | 2026.03.18 |