![[인프런 워밍업 클럽 4기 - DevOps] [미션3]Configmap,Secret응용과제](https://cdn.inflearn.com/public/files/blogs/04d813ff-ca5f-4fae-a162-61da5bb6cd6c/kubernetes_image.png)
[인프런 워밍업 클럽 4기 - DevOps] [미션3]Configmap,Secret응용과제
3개월 전
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"
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
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"
컨피드맵 생성확인
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
댓글을 작성해보세요.