我使用NFS在Google Kubernetes Engine上的部署上挂载ReadWriteMany存储,如以下链接中所述-
https://medium.com/platformer-blog/nfs-persistent-volumes-with-kubernetes-a-case-study-ce1ed6e2c266
但是,我的特定用例(用于快照的elasticsearch生产集群)需要将ReadWriteMany卷安装在有状态集合上。 使用以前为有状态集创建的NFS卷时,不会为有状态集的不同副本设置卷。
有什么办法可以克服这个问题或其他我可以使用的方法?
答案 0 :(得分:0)
该指南根据您的遵循方式会犯一个小错误。持久卷中定义的[ClusterIP]应该是“ nfs-server.default ...”而不是“ nfs-service.default ...”。服务定义中使用“ nfs-server”。
以下是我用于有状态集的非常小的设置。我部署了教程中的前3个文件来创建PV和PVC,然后使用下面的yaml代替了作者所包含的busybox红利yaml。这样部署成功。让我知道你是否有麻烦。
apiVersion: v1
kind: Service
metadata:
name: stateful-service
spec:
ports:
- port: 80
name: web
clusterIP: None
selector:
app: thestate
---
apiVersion: apps/v1
metadata:
name: thestate
labels:
app: thestate
kind: StatefulSet
spec:
serviceName: stateful-service
replicas: 3
selector:
matchLabels:
app: thestate
template:
metadata:
labels:
app: thestate
spec:
containers:
- name: nginx
image: nginx:1.8
volumeMounts:
- name: my-pvc-nfs
mountPath: /mnt
ports:
- containerPort: 80
name: web
volumes:
- name: my-pvc-nfs
persistentVolumeClaim:
claimName: nfs