1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

k8s使用nfs持久化数据

安装部署NFS服务器

NFS是常用的远程存储,下面是安装和部署NFS服务器的过程。首先使用命令yum -y install nfs-utils安装NFS工具,然后使用systemctl start nfs和systemctl enable nfs命令来启动和设置开机自启动NFS服务,接下来使用mkdir -p /data/nfs/命令创建NFS的目录,并使用chmod -R 777 /data/nfs命令设置目录权限。对目录进行共享,使用echo “/data/nfs *(rw,no_root_squash,sync)” >> /etc/exports命令将共享目录配置写入到/etc/exports文件中,应用配置使用exportfs -r命令,然后使用systemctl restart rpcbind和systemctl enable rpcbind来启动RPC服务,并使用systemctl restart nfs和systemctl enable nfs来启动和设置NFS服务开机自启动。最后使用rpcinfo -p localhost和showmount -e 192.168.32.133命令来查看RPC服务的注册状况和测试NFS服务。

k8s使用nfs持久化数据

K8s安装NFS驱动

下面是安装K8s的NFS驱动的过程。首先访问官方仓库https://github.com/kubernetes-csi/csi-driver-nfs,并使用curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/master/deploy/install-driver.sh | bash -s master –命令在线安装。如果安装时无法访问国外镜像,则需要将官方默认的镜像转储到国内的仓库里,可以选择找一台香港的机器或者使用科学上网。安装完成后,使用kubectl -n kube-system get pod | grep nfs命令等待所有Pod正在运行。接下来,使用git clone https://github.com/kubernetes-csi/csi-driver-nfs.git命令本地安装,并执行./deploy/install-driver.sh master local命令。最后,使用kubectl apply -f nfs-cs.yml命令部署存储类对象,将nfs-csi设置为默认存储类并测试部署静态PV。

以下是测试部署静态PV的命令和配置:

# 部署静态PV
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv-nfs
spec:
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  storageClassName: nfs-csi
  mountOptions:
    - nfsvers=3
  csi:
    driver: nfs.csi.k8s.io
    readOnly: false
    volumeHandle: unique-volumeid # make sure it's a unique id in the cluster
    volumeAttributes:
      server: 192.168.32.133
      share: /data/nfs

# 部署静态PVC
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pvc-nfs-static
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 10Gi
  volumeName: pv-nfs
  storageClassName: nfs-csi

# 部署Pod
apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  containers:
    - name: nginx
      image: nginx
      ports:
        - containerPort: 80
      volumeMounts:
        - name: test
          mountPath: /data
  volumes:
    - name: test
      persistentVolumeClaim:
        claimName: pvc-nfs-static

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/7439.html