k8s/archive_1

10.環境変数登録

YOOANT 2026. 3. 18. 09:50

✅ Spring Bootに環境変数を登録して使用

AppController

@RestController
public class AppController {
  @Value("${MY_ACCOUNT:default}")
  private String myAccount;
  
  @Value("${MY_PASSWORD:default}")
  private String myPassword;

  @GetMapping("/")
  public String home() {
    return "myAccount: " + myAccount + ", myPassword: " + myPassword;
  }
}

プロジェクトの実行確認


Dockerfileの作成

Dockerfile

FROM eclipse-temurin:17-jdk

COPY build/libs/*SNAPSHOT.jar app.jar

ENTRYPOINT ["java", "-jar", "/app.jar"]

Spring Boot プロジェクのビルド

$ ./gradlew clean build

イメージをビルド

$ docker build -t spring-server .

Manifestファイルの作成

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: MY_ACCOUNT
              value: suhwan
            - name: MY_PASSWORD
              value: pwd1234

spring-service.yaml

apiVersion: v1
kind: Service

metadata:
  name: spring-service
  
spec:
  type: NodePort
  selector:
    app: backend-app
  ports:
    - protocol: TCP
      port: 8080
      targetPort: 8080
      nodePort: 30000

Manifestファイルを実行

$ kubectl apply -f spring-deployment.yaml
$ kubectl apply -f spring-service.yaml

環境変数が正常に適用されたか確認

Pod 内部に接続して確認する

$ kubectl get pods # Pod 名を確認
$ kubectl exec -it [Pod名] -- bash # Pod 内部に接続

# --- Pod 内部 ---
$ env # 環境変数を照会

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

12.Secret  (0) 2026.03.18
11.ConfigMap  (0) 2026.03.18
9.Service - Spring Bootと通信  (0) 2026.03.17
8.serviceとは?  (0) 2026.03.17
7.Deployment - SpringBoot 3台作成  (0) 2026.03.17

日本語