Kubernetes:NFS与StatefulSets
我正在尝试将现有NFS与StateFulSets一起使用.
使用volumeClaimTemplates创建PresistentVolumeClaim似乎是自动的. 问题: 但是,由于PresistentVolumeClaim要求整个PresistentVolume.我必须手动为所有副本创建PresistentVolume. 注意:NFS服务器本身是静态的,只需要动态创建K8中的卷,而不是NFS服务器. 我正在使用mongo statefulset示例: --- apiVersion: v1 kind: Service metadata: name: mongo labels: name: mongo spec: ports: - port: 27017 targetPort: 27017 clusterIP: None selector: role: mongo --- apiVersion: apps/v1beta1 kind: StatefulSet metadata: name: mongo spec: serviceName: "mongo" replicas: 3 template: metadata: labels: role: mongo spec: terminationGracePeriodSeconds: 10 containers: - name: mongo image: mongo command: - mongod - "--replSet" - rs0 - "--smallfiles" - "--noprealloc" ports: - containerPort: 27017 volumeMounts: - name: mongo-data mountPath: /data/db - name: mongo-sidecar image: cvallance/mongo-k8s-sidecar env: - name: MONGO_SIDECAR_POD_LABELS value: "role=mongo" volumeClaimTemplates: - metadata: name: data spec: accessModes: - ReadWriteMany resources: requests: storage: 5Gi selector: matchLabels: type: nfs 它需要3个PresistentVolumeClaim,所以我必须创建3个PV才能使用它.这可以像其他动态配置程序(如aws-ebs)一样在NFS中动态添加 这是使用NFS持久卷获取StatefulSet的正确方法. 解决方法
好消息是,Kubernetes现在支持动态创建Persistent卷,如下面的帖子所述:
> http://blog.kubernetes.io/2017/03/dynamic-provisioning-and-storage-classes-kubernetes.html 坏消息是这个功能似乎不支持NFS …这意味着考虑到每个卷都需要手动创建一定的意义,即使没有涉及Kubernetes (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |