[인프런 워밍업 클럽 4기 - DevOps] [미션3]Configmap,Secret응용과제

[인프런 워밍업 클럽 4기 - DevOps] [미션3]Configmap,Secret응용과제

 

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

 

Step1. Secret 생성 (1) - dashboard

apiVersion: v1
kind: Secret
metadata:
  namespace: anotherclass-123
  name: api-tester-1231-properties
  labels:
    part-of: k8s-anotherclass
    component: backend-server
    name: api-tester
    instance: api-tester-1231
    version: 1.0.0
    managed-by: dashboard
stringData:
  spring_profiles_active: "dev"
  application_role: "ALL"
  postgresql_filepath: "/usr/src/myapp/datasource/dev/postgresql-info.yaml"

image

Step2. Deployment의 envFrom.secretRef 부분 업데이트

       containers:
        - name: api-tester-1231
          image: 1pro/api-tester:v1.0.0
          ports:
            - name: http
              containerPort: 8080
              protocol: TCP
          envFrom:
            - secretRef:
                name: api-tester-1231-properties

 image

 

 

2. 반대로 Secret의 DB정보를 Configmap으로 만들어보고 App을 동작시켜 보세요

 

apiVersion: v1
kind: ConfigMap
metadata:
  namespace: anotherclass-123
  name: 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"

 컨피드맵 생성확인

image

Deployment의 volumeMounts.name과 volumes 부분 업데이트

containers:
        - name: api-tester-1231
          image: 1pro/api-tester:v1.0.0
          ports:
            - name: http
              containerPort: 8080
              protocol: TCP
          envFrom:
            - secretRef:
                name: api-tester-1231-properties
          resources:
            limits:
              cpu: 200m
              memory: 200Mi
            requests:
              cpu: 100m
              memory: 100Mi
          volumeMounts:
            - name: configmap-datasource
              mountPath: /usr/src/myapp/datasource/dev
    spec:
      volumes:
        - name: configmap-datasource
          configMap:
            name: api-tester-1231-postgresql

변경 확인

cat /usr/src/myapp/datasource/dev/postgresql-info.yaml 

image

댓글을 작성해보세요.

채널톡 아이콘