728x90
반응형
DB: PersistentVolumeClaim
지금은 DB 볼륨을 emptyDir 로 만들었기 때문에 파드가 내려질 떄마다 모든 DB 정보가 사라지게 된다. DB와 연결해서 데이터를 저장헀는데 모든 데이터가 계속 초기화 되면 안되지 않을까?
그래서 PVC 형태로 DB 를 저장할 수 있게 셋팅값을 바꿔주고 연결해보자.
# db-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: lion-db
labels:
app: lion-db
spec:
imagePullSecrets:
- name: regcred
containers:
- name: lion-db
image: postgres:13
imagePullPolicy: Always # 기존의 이미지를 쓰지않고 항상 가져오게 끔
env:
- name: PGDATA
value: "var/lib/postgresql/data/k8s"
envFrom:
- secretRef:
name: db-secret
ports:
- containerPort: 5432
volumeMounts:
- name: postgres-data
mountPath: "var/lib/postgresql/data"
volumes:
- name: postgres-data
persistentVolumeClaim:
claimName: db-pod-pvc
- emptyDir 로 사용하긴 했지만 경로가 이미 사용중이 라는 에러가 발생하기 떄문에 환경변수에 경로를 추가해서 DB 가 경로 탐색을 할 수 있도록 해서 연결한다.
- env: - name: PGDATA value: "var/lib/postgresql/data/k8s"
- emptyDir 에서 pvc 형태로 바꿔주고 설정값을 추가한다.
- # db-pvc.yaml # persistance volume claim apiVersion: v1 kind: PersistentVolumeClaim metadata: name: db-pod-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: nks-block-storage
설정을 끝내고 DB 를 삭제했다가 재시작하는데, 기존 rs 에서는 여전히 이전 설정값으로 연결되어 있기 때문에 rs 가 관리하는 파드를 하나 삭제했다가 재생성되가 하므로 새롭게 migrations 이 될 수있게 한다.
k delete po lion-app-hgs2h
728x90
반응형
'Dev. > Kubernetes & Helm' 카테고리의 다른 글
Kubernetes: 배포 환경 구분 짓기 (0) | 2023.10.03 |
---|---|
Kubernetes: Deployment, Rolling update (2) | 2023.10.01 |
Kubernetes: ReplicaSet 적용하기 (0) | 2023.09.26 |
Kubernetes: nks 에서 서비스 띄우기 (4) | 2023.09.26 |
Kubernetes: nks IAM 인증 (0) | 2023.09.25 |
댓글