https://blog.csdn.net/qq_41586875/article/details/120832198
https://help.aliyun.com/document_detail/63956.html
1、创建NFS-Subdir-External-Provisioner
1-sep.yaml
2、创建NFS StorageClass
2-sc.yaml
3、创建PVC
3-pvc.yaml
4、负载绑定pv
4-deplozyment.yaml
5、创建service
5-service.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nfs-client-provisioner
labels:
app: nfs-client-provisioner
# replace with namespace where provisioner is deployed
namespace: wz-app
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: nfs-client-provisioner
template:
metadata:
labels:
app: nfs-client-provisioner
spec:
# nodeName: k8s-master-1 #设置在master节点运行
# tolerations: #设置容忍master节点污点
# - key: node-role.kubernetes.io/master
# operator: Equal
# value: "true"
# serviceAccountName: nfs-client-provisioner
containers:
- name: nfs-client-provisioner
image: registry.cn-hangzhou.aliyuncs.com/jiayu-kubernetes/nfs-subdir-external-provisioner:v4.0.0
imagePullPolicy: IfNotPresent
volumeMounts:
- name: nfs-client-root
mountPath: /persistentvolumes
env:
- name: PROVISIONER_NAME
value: k8s/nfs-subdir-external-provisioner
- name: NFS_SERVER
value: 10.180.151.220
- name: NFS_PATH
value: /home/inspur/nfs/sc
volumes:
- name: nfs-client-root
nfs:
server: 10.180.151.220 # NFS SERVER_IP
path: /home/inspur/nfs/sc
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: managed-nfs-storage
provisioner: k8s/nfs-subdir-external-provisioner
allowVolumeExpansion: true
parameters:
server: 10.180.151.220
path: /home/inspur/wz/sc
archiveOnDelete: "true" # 设置为"false"时删除PVC不会保留数据,"true"则保留数据
reclaimPolicy: Retain
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: sc-pvc
namespace: wz-app
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
storageClassName: managed-nfs-storage
apiVersion: apps/v1
kind: Deployment
metadata:
name: deploy-cloud-reve
namespace: wz-app
labels:
app: d-cloud-reve
spec:
replicas: 1
selector:
matchLabels:
app: p-cloud-reve
template:
metadata:
name: pod-web
namespace: wz-app
labels:
app: p-cloud-reve
spec:
volumes:
- name: cloud-reve-v21
configMap:
defaultMode: 420
name: cloud-reve-v21
items:
- key: conf.ini
path: conf.ini
- name: cloud-reve-sc
persistentVolumeClaim:
claimName: sc-pvc
containers:
- name: c-cloud-reve
image: 10.180.151.242/bot-app-store/bot-cloud-icloudfile/amd64:1.2.3
ports:
- containerPort: 5212
name: cloud-reve-port
volumeMounts:
- name: cloud-reve-v21
mountPath: /cloudreve/conf.ini
subPath: conf.ini
- name: cloud-reve-sc
mountPath: /cloudreve/statics
subPath: statics
apiVersion: v1
kind: Service
metadata:
name: svc-cloud-reve
namespace: wz-app
spec:
selector:
app: p-cloud-reve
ports:
- name: svc-cloud-reve-port
protocol: TCP
port: 5212
nodePort: 31212
targetPort: cloud-reve-port
type: NodePort