이번 글에서는 가상화 머신에 마운트한 디스크 이미지에 쿠버네티스를 이용하여 퍼시스턴트 볼륨과 퍼시스턴트 볼륨 클래임 설정을하고 컨테이너에 연결해 컨테이너 내에서 생긴 데이터를 보존하는 설정을 진행해보겠습니다.
여러가지가 많이 보이지만 마지막에 /mnt만 확인하면 됩니다.
아래는 pv 폴더에서 미리 작성해둔 파일들을 적용진행하는 내용들입니다.
kubectl apply -f pv.yml
위 명령어를 실행하여 pv 생성하면 persistentvolume/data1 created를 확인 할 수 있습니다.
kubectl get pv
생성 된 pv를 다시한번 확인합니다.
kubectl apply -f pvc.yml
위 명령어를 실행하여 이번에는 pvc를 생성합니다. 마찬가지로 생성 메세지를 확인 할 수 있습니다.
마찬가지로 아래와 같이 확인 할 수 있습니다.
이번에는 생성한 pv와 pvc를 이용하여 연결된 것을 확인하는 deploy를 배포 및 작성합니다.
위와 마찬가지로 진행합니다.
마지막 확인은 생략하였지만, 컨테이너에 들어가서 파일들을 확인해보고 파드 재 실행 및 재설치를 통해서
생겼던 파일들이 잘 저장되는지 확인하면 됩니다.
다음은 작성했던 <pv.yml> <pvc.yml> <ex-deplyment.yml>에 대한 내용입니다.
pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
name: "data1"
labels:
name: pv-data
spec:
accessModes:
- "ReadWriteOnce"
capacity:
storage: 2Gi
hostPath:
path: /mnt/data
pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-master
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2G
storageClassName: ""
selector:
matchLabels:
name: pv-data
ex-deplyment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-deploy
spec:
replicas: 3
selector:
matchLabels:
app: web
template:
metadata:
labels:
app: web
spec:
volumes:
- name: pv-master-volumes
persistentVolumeClaim:
claimName: pvc-master
containers:
- name: nginx
image: nginx:latest
imagePullPolicy: Never
ports:
- containerPort: 8004
volumeMounts:
- name: pv-master-volumes
mountPath: /mnt/data
#command: ["/bin/sh", "-c", "echo 'Hello, Kubernetes!' > /mnt/data/example.txt"]
'DevOps와 Infra > Kubernetes On Premise' 카테고리의 다른 글
온프레미스 vs 클라우드 컴퓨팅 차이점 (0) | 2024.06.07 |
---|---|
QEMU/KVM 가상화에 디스크 이미지 적용하기 (0) | 2024.03.14 |
간지나는 Rocky Linux 가상 환경으로 구축하기 (0) | 2024.03.05 |
쿠버네티스 학습전 OSI 7 계층 개념점검 (1) | 2023.12.02 |
알고배우자 쿠버네티스 등장배경 (0) | 2023.12.02 |