Infra/쿠버네티스 입문
쿠버네티스 입문 (8) - 퍼시스턴트
Namlulu
2023. 12. 20. 23:50
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