▶ 응용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
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\"
"
}
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