k8s如何挂载分布式nfs?

现在有3个nfs地址10.1.40.31,10.1.40.32,10.1.40.33
定义了3个容器部署,发布挂载不同的ip,PROVISIONER_NAME相同,然后启动了50个pod,启动后挂载的只有10.1.40.31这一个。
image.png

deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nfs-dist-fp01
  labels:
    app: nfs-dist-fp01
  namespace: default
spec:
  replicas: 1
  strategy:
    type: Recreate
  selector:
    matchLabels:
      app: nfs-dist-fp01
  template:
    metadata:
      labels:
        app: nfs-dist-fp01
    spec:
      serviceAccountName: nfs-client-provisioner
      containers:
        - name: nfs-dist-fp01-31
          image: k8s.gcr.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2
          volumeMounts:
            - name: nfs-client-root-31
              mountPath: /persistentvolumes
          env:
            - name: PROVISIONER_NAME
              value: nfs-dist-fp01
            - name: NFS_SERVER
              value: 10.1.40.31
            - name: NFS_PATH
              value: /forest_platform_01

        - name: nfs-dist-fp01-32
          image: k8s.gcr.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2
          volumeMounts:
            - name: nfs-client-root-32
              mountPath: /persistentvolumes
          env:
            - name: PROVISIONER_NAME
              value: nfs-dist-fp01
            - name: NFS_SERVER
              value: 10.1.40.32
            - name: NFS_PATH
              value: /forest_platform_01

        - name: nfs-dist-fp01-33
          image: k8s.gcr.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2
          volumeMounts:
            - name: nfs-client-root-33
              mountPath: /persistentvolumes
          env:
            - name: PROVISIONER_NAME
              value: nfs-dist-fp01
            - name: NFS_SERVER
              value: 10.1.40.33
            - name: NFS_PATH
              value: /forest_platform_01

      volumes:
        - name: nfs-client-root-31
          nfs:
            server: 10.1.40.31
            path: /forest_platform_01
        - name: nfs-client-root-32
          nfs:
            server: 10.1.40.32
            path: /forest_platform_01
        - name: nfs-client-root-33
          nfs:
            server: 10.1.40.33
            path: /forest_platform_01

nfs-class.yaml

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: nfs-dist-fp01
  namespace: default
provisioner: nfs-dist-fp01
parameters:
  archiveOnDelete: "false"
allowVolumeExpansion: true

mysql.yaml

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mysql-0
  namespace: demo
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: nfs-dist-fp01
  resources:
    requests:
      storage: 1Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: demo
  name: mysql-0
  labels:
    app: mysql-0
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mysql-0
  template:
    metadata:
      labels:
        app: mysql-0
    spec:
      containers:
        - image: hub.app.ht/forest-platform-02/mysql:8.0.3
          name: mysql
          volumeMounts:
            - name: mysql-data
              mountPath: /var/lib/mysql
          env:
            - name: MYSQL_ROOT_PASSWORD
              value: "xxxxx"
          ports:
            - name: mysql
              containerPort: 3306
              protocol: TCP
      volumes:
        - name: mysql-data
          persistentVolumeClaim:
            claimName: mysql-0
阅读 1.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题