web-dev-qa-db-fra.com

Server NFS sur un nœud Kubettes?

Nous avons un cluster dans la maison KubeNettes en cours d'exécution sur Bare-Metal, puis-je configurer un serveur NFS sur l'un des nœuds (ouvrier ou maître) dans le cluster? Si oui, dois-je changer quoi que ce soit dans le cluster?

3
AVarf

Vous pouvez configurer un pod qui agira en tant que serveur NFS.

Il y a une image prête sur Docker Hub CPUGUY83/NFS-Server .

Pour l'utiliser, vous devez créer un service pour exposer le serveur NFS aux pods à l'intérieur du cluster:

kind: Service
apiVersion: v1
metadata:
  name: nfs-service
spec:
  selector:
    role: nfs
  ports:
    # Open the ports required by the NFS server
    # Port 2049 for TCP
    - name: tcp-2049
      port: 2049
      protocol: TCP

    # Port 111 for UDP
    - name: udp-111
      port: 111

Et un pod qui dirigera l'image:

kind: Pod
apiVersion: v1
metadata:
  name: nfs-server-pod
  labels:
    role: nfs
spec:
  containers:
    - name: nfs-server-container
      image: cpuguy83/nfs-server
      securityContext:
        privileged: true
      args:
        # Pass the paths to share to the Docker image
        - /exports

Un exemple d'un pod à l'aide du volume NFS:

kind: Pod
apiVersion: v1
metadata:
  name: pod-using-nfs
spec:
  # Add the server as an NFS volume for the pod
  volumes:
    - name: nfs-volume
      nfs: 
        # URL for the NFS server
        server: 10.108.211.244 # Change this!
        path: /

  # In this container, we'll mount the NFS volume
  # and write the date to a file inside it.
  containers:
    - name: app
      image: Alpine

      # Mount the NFS volume in the container
      volumeMounts:
        - name: nfs-volume
          mountPath: /var/nfs

      # Write to a file inside our NFS
      command: ["/bin/sh"]
      args: ["-c", "while true; do date >> /var/nfs/dates.txt; sleep 5; done"]

2
Crou