1. Secret (MongoDB ID/PW)
apiVersion: v1
kind: Secret
metadata:
name: mgdb
type: Opaque
data:
mongo-root-username: YWRtaW4= # admin (base64 인코딩)
mongo-root-password: cGFzc3dvcmQ= # password (base64 인코딩)
2. MongoDB Deployment + Service
apiVersion: apps/v1
kind: Deployment
metadata:
name: mymongo
labels:
app: mgdb
spec:
replicas: 1
selector:
matchLabels:
app: mgdb
template:
metadata:
labels:
app: mgdb
spec:
containers:
- name: mgdb
image: mongo
ports:
- containerPort: 27017
env:
- name: MONGO_INITDB_ROOT_USERNAME
valueFrom:
secretKeyRef:
name: mgdb
key: mongo-root-username
- name: MONGO_INITDB_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: mgdb
key: mongo-root-password
---
apiVersion: v1
kind: Service
metadata:
name: mgservice
spec:
selector:
app: mgdb
ports:
- protocol: TCP
port: 27017
targetPort: 27017
3. ConfigMap (MongoDB EX 서비스 이름 설정)
apiVersion: v1
kind: ConfigMap
metadata:
name: mymongoex
data:
database_url: mgservice
4. Mongo Express Deployment + Service
apiVersion: apps/v1
kind: Deployment
metadata:
name: mymongoex
labels:
app: mymongoex
spec:
replicas: 1
selector:
matchLabels:
app: mymongoex
template:
metadata:
labels:
app: mymongoex
spec:
containers:
- name: mymongoex
image: mongo-express
ports:
- containerPort: 8081
env:
- name: ME_CONFIG_MONGODB_ADMINUSERNAME
valueFrom:
secretKeyRef:
name: mgdb
key: mongo-root-username
- name: ME_CONFIG_MONGODB_ADMINPASSWORD
valueFrom:
secretKeyRef:
name: mgdb
key: mongo-root-password
- name: ME_CONFIG_MONGODB_SERVER
valueFrom:
configMapKeyRef:
name: mymongoex
key: database_url
---
apiVersion: v1
kind: Service
metadata:
name: mymongoex-svc
spec:
selector:
app: mymongoex
ports:
- port: 8081
targetPort: 8081
nodePort: 30081
type: NodePort
이 구성은 mongo는 내부 서비스(mgservice)로 제공하고, mongo-express는 NodePort를 통해 외부에서 접근할 수 있게 합니다.
💡 TIP: mongo-express에 브라우저로 접근 클러스터 노드의 IP + 30081 포트 사용
http://<Node-IP>:30081
'IT 엔지니어 > CLOUD' 카테고리의 다른 글
| AWS - VPC / RDS (1) | 2025.06.05 |
|---|---|
| K8S - strorage (0) | 2025.06.04 |
| K8S - ConfigMap -1 (3) | 2025.06.02 |
| Labels/ Annotations (1) | 2025.06.01 |
| K8S - ingress (0) | 2025.05.31 |