我想在 Kubernetes 中设置一个集群内 NFS-Server 来为我的 pod(nginx webroot 等)提供共享。
理论上应该有一个持久卷、一个卷声明和 NFS 服务器,据我所知,这是一个部署。
要使用 PV 和 PVC,我需要分配 NFS-Server 的 IP 地址,我不知道,因为它是在我使用服务公开 NFS-Server 时自动生成的。
如果我想自己部署 nfs-server 部署,也会出现同样的问题,因为我使用 PVC 作为卷。但是如果不给它们 NFS-Server IP,我就无法部署 PV 和 PVC。
我想我迷路了,也许你能帮帮我。
- 光伏
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-nfs-pv1
labels:
type: local
spec:
storageClassName: manual
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
nfs:
path: "/exports/www"
server: SERVER_NAME:PORT
- PVC
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pv-nfs-pv1
labels:
type: local
spec:
storageClassName: manual
accessModes:
- ReadWriteMany
resources:
requests:
storage: 500Mi
- NFS 部署
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: nfs-server
spec:
replicas: 1
selector:
matchLabels:
role: nfs-server
template:
metadata:
labels:
role: nfs-server
spec:
containers:
- name: nfs-server
image: gcr.io/google_containers/volume-nfs:0.8
ports:
- name: nfs
containerPort: 2049
- name: mountd
containerPort: 20048
- name: rpcbind
containerPort: 111
securityContext:
privileged: true
volumeMounts:
- mountPath: /exports/www
name: pv-nfs-pv1
volumes:
- name: pv-nfs-pv1
gcePersistentDisk:
pdName: pv-nfs-pv1
# fsType: ext4