- StorageClass 생성하지 않아도 된다.
apiVersion: v1
kind: PersistentVolume
metadata:
name: nfs-pv
spec:
capacity:
storage: 1Gi
# storageClassName: X
persistentVolumeReclaimPolicy: Retain
accessModes:
- ReadWriteOnce
nfs:
server: 192.X.X.X
path: '/nfs'
readOnly: false
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: nfs-pvc
spec:
# storageClassName: X
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
StorageClassName 주지않아도 된다.
root@test:~/nfs-test# kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
nfs-pv 1Gi RWO Retain Bound default/nfs-pvc 11m
root@test:~/nfs-test# kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
nfs-pvc Bound nfs-pv 1Gi RWO 11m
바운드가 잘 된 것을 확인할 수 있다. 포드에 연결할 때에는 아래와 같이 사용한다.
apiVersion: v1
kind: Pod
metadata:
name: test
labels:
app: test
spec:
volumes:
- name: nfs-pvc
persistentVolumeClaim:
claimName: nfs-pvc
containers:
- image: centos:6.5
imagePullPolicy: IfNotPresent
name: test
volumeMounts:
- mountPath: /var/www/html
name: nfs-pvc
php 깔린 centos가 있어서 mount해주었다. 포드에 들어가서 파일 생성 이후 연결을 확인한다.
root@test:~/nfs-test# kubectl exec -it test bash
[root@test /]# cd /var/www/html/
[root@test html]# ls
a.txt hello.php
[root@test html]# touch b.txt
[root@test html]# ls
a.txt b.txt hello.php
[root@test html]# exit
exit
root@test:~/nfs-test# cd /nfs
root@test:/nfs# ls
a.txt b.txt hello.php
짜잔~
1은 K8S가 nfs 를 관리하지 못하는데 얘는 알아서 더 좋다.
'Cloud > Kubernetes' 카테고리의 다른 글
내 너를 잊지 않겠다... Kubevirt (0) | 2020.04.10 |
---|---|
Ceph Dashboard 접근하기 (2) | 2020.02.25 |
NFS를 볼륨으로 사용하는 Pod 만들기 (1) (0) | 2020.02.10 |
ceph osd 생성 안될 때 (0) | 2020.01.09 |
Kubevirt 사용 시 operator pod만 뜰 때 (0) | 2020.01.07 |