지니데비 기록 자세히보기

데브옵스/Orchestration

[Kubernetes] 26. Environment Variables

지니데비 2024. 11. 21. 18:05
728x90

기본 환경변수 설정(env)
apiVersion: v1
kind: Pod
metadata:
  name: simple-webapp-color
spec:
  containers:
  - name: simple-webapp-color
    image: simple-webapp-color
    ports:
      - containerPort: 8080
    env:
      - name: APP_COLOR
        value: pink
      - name: APP_MODE
        value: prod
ConfigMap에 저장된 값으로 환경변수 설정(valueFrom.configMapKeyRef)
apiVersion: v1
kind: Pod
metadata:
  name: simple-webapp-color
spec:
  containers:
  - name: simple-webapp-color
    image: simple-webapp-color
    ports:
      - containerPort: 8080
    env:
      - name: APP_COLOR
        valueFrom:
          configMapKeyRef:
            name: my-config-map  # 참조할 ConfigMap 이름
            key: color           # ConfigMap의 특정 키
Secret에 저장된 값으로 환경변수 설정(valueFrom.secretKeyRef)
apiVersion: v1
kind: Pod
metadata:
  name: simple-webapp-color
spec:
  containers:
  - name: simple-webapp-color
    image: simple-webapp-color
    ports:
      - containerPort: 8080
    env:
      - name: APP_MODE
        valueFrom:
          secretKeyRef:
            name: my-secret  # 참조할 Secret 이름
            key: mode        # Secret의 특정 키
ConfigMap 또는 Secret의 모든 값을 한번에 환경변수로 설정(envFrom)
apiVersion: v1
kind: Pod
metadata:
  name: simple-webapp-color
spec:
  containers:
  - name: simple-webapp-color
    image: simple-webapp-color
    ports:
      - containerPort: 8080
    envFrom:
      - configMapRef:
          name: my-config-map  # 참조할 ConfigMap 이름
      - secretRef:
          name: my-secret  # 참조할 Secret 이름

 
 
 

요약하면,

방식 용도
env 정적 값 설정
env.valueFrom.configMapKeyRef ConfigMap에서 특정 값 참조
env.valueFrom.secretKeyRef Secret에서 특정 값 참조
envFrom.configMapRef ConfigMap 전체 값 참조
envFrom.secretRef Secret 전체 값 참조
728x90
반응형