我想在Kubernetes中设置群集内NFS服务器,以为我的Pod(nginx webroot等)提供共享。
理论上应该有一个永久的卷,一个卷声明和NFS服务器,据我所知,这是一个部署。
要使用PV和PVC,我需要分配我不知道的NFS服务器的IP地址,因为当我向NFS服务器提供服务时它会自动生成。
如果我要部署nfs-server部署本身,则会出现相同的问题,因为我将PVC用作卷。但是,如果不给PV和PVC提供NFS服务器IP,就无法部署它们。
我想我迷路了,也许你可以帮助我。
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
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pv-nfs-pv1
labels:
type: local
spec:
storageClassName: manual
accessModes:
- ReadWriteMany
resources:
requests:
storage: 500Mi
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
答案 0 :(得分:2)
1)创建NFS服务器部署。
2)通过创建服务(例如“ nfs-server”)公开TCP端口2049(假设您使用NFSv4)来公开NFS服务器部署。
3)使用以下信息创建PV:
nfs:
path: /exports/www
server: nfs-server
4)创建PVC并将其安装在需要的地方。