[kubernates] 006. ConfigMap vs Secret
Understanding "ConfigMap & Secret" via Application

- hpyYh
- 1 min read

apiVersion: v1
kind: ConfigMap
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
data:
spring_profiles_active: "dev"
application_role: "ALL"
postgresql_filepath: "/usr/src/myapp/datasource/postgresql-info.yaml"
---
apiVersion: v1
kind: Secret
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
stringData:
postgresql-info.yaml: |
driver-class-name: "org.postgresql.Driver"
url: "jdbc:postgresql://postgresql:5431"
username: "dev"
password: "dev123"
Configmap
- ConfigMap data is injected into Pods as environment variables.
- java example :
java -Dspring.profiles.active=${spring_profiles_active} - It is better to avoid using ConfigMaps for sensitive information, as they can lead to accidental exposure.
Secret
- It is encoded in Base64 and can be decoded.
- type
- Opaque : Default type (same configmap)
- docker-registry : for private docker registry
- tls : for pod certificate
- tags :
- Kubernetes ,
- Main