存儲(chǔ)支持方式:NFS投剥、GlusterFs、cep迹鹅、samba等
以下以NFS為例卦洽,構(gòu)建pod的持久化存儲(chǔ)
1.創(chuàng)建NFS共享
mkdir /var/lib/mynfs
chown nfsnobody.nfsnobody /var/lib/mynfs
chmod 700 /var/lib/mynfs
#如果在/root目錄下,需要修改/root目錄的權(quán)限,否則共享出去的nfs無(wú)法掛載
cat /etc/export.d/my.export
/var/lib/mynfs *(rw,async,all_squash)
export -a
exportfs -rv
systemctl restart nfs
#檢查是否可用
showmount -e nfsServerIp
mount -t nfs nfsServerIp:/var/lib/mynfs /mnt
#測(cè)試可用就行徒欣,然后umount
umount /mnt
2逐样,創(chuàng)建項(xiàng)目等基礎(chǔ)資源
oc new-project lan
oc new-app --name=myapp --docker-image=URL --insecure-registry
oc create -f pv.yml
#cat pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
name: mypv
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
nfs:
path:/var/lib/mynfs
server: nfsServerIp
readOnly: false
3,查看myapp的dc配置打肝,獲取volume值
oc get dc
oc describe dc dcName
#此處會(huì)輸出我們需要綁定存儲(chǔ)的目錄名稱脂新,見(jiàn)下圖mydc.jpg
#詳情請(qǐng)見(jiàn)官網(wǎng)[https://docs.openshift.com/container-platform/3.5/dev_guide/app_tutorials/maven_tutorial.html](https://docs.openshift.com/container-platform/3.5/dev_guide/app_tutorials/maven_tutorial.html)
此處的name即是我們需要綁定存儲(chǔ)的volume名稱
mydc.jpg
4,給pod綁定存儲(chǔ)
bash] oc volumes dc myDcName --add --overwrite --name=volumeName -t pvc \
--claim-name='yourName'
--claim-mode='ReadWriteMany/ReadWriteOnce/ReadOnlyMany' #三種類型可選
--claim-size=1Gi
5,查看是否生效
oc describe dc dcName