Application 기능으로 이해하기 - Configmap, Secret 활용

Moongchi·2025년 6월 7일
1

kubernetes

목록 보기
11/14

▶ 응용1 : Configmap의 환경변수들을 Secret을 사용해서 작성하고, App에서는 같은 결과가 나오도록 확인해 보세요.
1. secret 설정

kind: Secret
apiVersion: v1
metadata:
  name: secret-api-tester-1231-properties
  namespace: anotherclass-123
  labels:
    component: backend-server
    instance: api-tester-1231
    managed-by: dashboard
    name: api-tester
    part-of: k8s-anotherclass
    version: 1.0.0
stringData: 
  application_role: GET
  postgresql_filepath: /usr/src/myapp/datasource/postgresql-info.yaml
  spring_profiles_active: dev
  1. deployment 설정
spec:
  template:
    spec:
      containers:
          envFrom:
            - secretRef:
                name: secret-api-tester-1231-properties

▶ 응용2 : 반대로 Secret의 DB정보를 Configmap으로 만들어보고 App을 동작시켜 보세요
1. configMap 설정

apiVersion: v1
kind: ConfigMap
metadata:
  namespace: anotherclass-123
  name: configmap-api-tester-1231-postgresql
  labels:
    part-of: k8s-anotherclass
    component: backend-server
    name: api-tester
    instance: api-tester-1231
    version: 1.0.0
    managed-by: dashboard
data:
  postgresql-info.yaml: |
    driver-class-name: "org.postgresql.Driver"
    url: "jdbc:postgresql://postgresql:5431"
    username: "dev"
    password: "dev123"
{
	"postgresql-info.yaml": "driver-class-name: \"org.postgresql.Driver\"
		url: \"jdbc:postgresql://postgresql:5431\"
		username: \"dev\"
		password: \"dev123\"
		"
}
  1. Deployment
spec:
  template:
    spec:
      volumes:
        - name: configmap-datasource
          configMap:		# 대소문자 틀리면 emptyDir: {}으로 잘못 생성됨
            name: configmap-api-tester-1231-postgresql
      containers:
          volumeMounts:
            - name: configmap-datasource
              mountPath: /usr/src/myapp/datasource2

0개의 댓글