728x90
apiVersion: apps/v1
kind: Deployment
metadata:
name: mongodb
spec:
selector:
matchLabels:
app: mongodb
replicas: 1
template:
metadata:
labels:
app: mongodb
spec:
containers:
- name: mongodb
image: mongo:3.6.5-jessie
volumeMounts:
- name: mongodb-persistent-storage
mountPath: /data/db
volumes:
- name: mongodb-persistent-storage
persistentVolumeClaim:
claimName: mongo-pvc
---
apiVersion: v1
kind: Service
metadata:
name: fleetman-mongodb
spec:
selector:
app: mongodb
ports:
- name: mongoport
port: 27017
type: ClusterIP
- 몽고 디비 이미지를 가져와서 내 호스트 컴퓨터에 있는 도커와 마운트를 했다.
- 여기서 퍼시스턴트 볼륨을 이용해서 만드는 것이 핵심인데, 나중에 에저나 클라우드로 이관할 때 편하게 할 수 있다.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mongo-pvc
spec:
storageClassName: mylocalstorage
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: local-storage
spec:
storageClassName: mylocalstorage
capacity:
storage: 20Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/some new/directory/structure/"
type: DirectoryOrCreate
- 하드 용량도 정할 수 있고, 단일 파드인지 복수 파드인지도 세팅이 가능하다. 그리고 이 볼륨은 스토리지 클래스로 매핑되기 때문에 Claim과 볼륨 다 지정해줘야 한다.
300x250
'Infra > 쿠버네티스 입문' 카테고리의 다른 글
쿠버네티스 입문 (10) - 스토리지 클래스와 AWS (0) | 2023.12.28 |
---|---|
쿠버네티스 입문 (9) - 베스천 서버와 k8s 실행 (0) | 2023.12.27 |
쿠버네티스 입문 (7) - 네트워킹 (0) | 2023.12.13 |
쿠버네티스 입문 (6) - 디플로이먼트 (0) | 2023.12.13 |
쿠버네티스 입문 (5) - 레플리카세트 (0) | 2023.12.13 |