1、安装部署NFS服务:
yum -y install nfs-utils rpcbind
systemctl start nfs && systemctl enable nfs
systemctl start rpcbind && systemctl enable rpcbind
mkdir -p /data/volumes/{v1,v2,v3}
cat > /etc/exports << EOF
/data/volumes/v1 192.168.1.0/24(rw,no_root_squash,no_all_squash)
EOF
2、创建pv
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-nfs-1
spec:
capacity: #存储大小
storage: 100Mi
accessModes: ["ReadWriteMany","ReadWriteOnce"] #该存储目录允许访问的模式,ReadWriteMany表示可以被多个节点已读写方式挂载,ReadWriteOnce表示可以被一个节点以读写方式挂载
nfs:
server: 192.168.1.17
path: "/data/volumes_test/v1"
3、创建pvc
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mypvc
namespace: default
spec:
accessModes: ["ReadWriteMany"]
resources:
requests:
storage: 100Mi
4、日志目录使用pod名变量
- name: POD_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
5、k8s中deploy对象配置持久化
terminationMessagePolicy: File
volumeMounts:
- mountPath: /data/logs
name: appslogs
subPathExpr: $(POD_NAMESPACE)/$(POD_NAME)
dnsPolicy: ClusterFirst
imagePullSecrets:
- name: harbor-secret-test
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
volumes:
- name: appslogs
persistentVolumeClaim:
claimName: saas-pvc