首页私人日誌k8s使用nfs持久化数据

k8s使用nfs持久化数据

admin 10-15 20:22 411次浏览

nfs是们常用的远程存储,这里记录下k8s安装nfs

部署nfs服务器

安装nfs工具

yum -y install nfs-utils
systemctl start nfs      systemctl enable nfs

创建nfs的目录

mkdir -p /data/nfs/      chmod -R 777 /data/nfs# 设置共享目录echo  /data/nfs *(rw,no_root_squash,sync)     /etc/exports# 应用配置exportfs -r# 查看配置exportfs

启动nfs服务

systemctl restart rpcbind      systemctl enable rpcbind
systemctl restart nfs      systemctl enable nfs# 查看 RPC 服务的注册状况rpcinfo -p localhost# 测试一下showmount -e 192.168.32.133

k8s安装nfs驱动

官方仓库https://github /kubernetes-csi/csi-driver-nfs

官方默认的镜像在国内是无法访问,需要转储到国内的仓库里,建议找台香港的机器或者科学上网

registry.k8s.io/sig-storage/csi-provisioner:v3.2.0
registry.k8s.io/sig-storage/livenessprobe:v2.7.0
registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.5.1
gcr.io/k8s-staging-sig-storage/nfsplugin:canary
在线安装
curl -skSL https://raw.githubusercontent /kubernetes-csi/csi-driver-nfs/master/deploy/install-driver.sh | bash -s master --
本地安装
git clone https://github /kubernetes-csi/csi-driver-nfs.gitcd csi-driver-nfs
./deploy/install-driver.sh master local

git clone https://github /kubernetes-csi/csi-driver-nfs.gitcd csi-driver-nfs ./deploy/install-driver.sh master local

等待所有pod running

kubectl -n kube-system get pod  |grep nfs
部署存储类对象
cat <<EOF   nfs-cs.ymlapiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: nfs
parameters:
  server: 192.168.32.133 # nfs服务器地址
  share: /data/nfs # nfs共享的目录
provisioner: nfs.csi.k8s.io
reclaimPolicy: Delete
volumeBindingMode: Immediate
EOFkubectl apply -f nfs-cs.yml
# 将nfs-csi 设置为默认存储类kubectl patch storageclass nfs-csi -p   39;{ metadata : { annotations :{ storageclass.kubernetes.io/is-default-class : true }}}  39;

测试部署

静态pv

---apiVersion: v1kind: PersistentVolumemetadata:
  name: pv-nfsspec:
  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  39;s a unique id in the cluster
    volumeAttributes:
      server: 192.168.32.133      share: /data/nfs---kind: PersistentVolumeClaimapiVersion: v1metadata:
  name: pvc-nfs-staticspec:
  accessModes:
    - ReadWriteMany  resources:
    requests:
      storage: 10Gi  volumeName: pv-nfs  storageClassName: nfs-csi---apiVersion: v1kind: Podmetadata:
  name: nginxspec:
  containers:
  - name: nginx    image: nginx    ports:
    - containerPort: 80
    volumeMounts:
    - name: test      mountPath: /data  volumes:
  - name: test    persistentVolumeClaim:
      claimName: pvc-nfs-static


k8s使用nfs持久化数据
kubeadm修改证书过期时间 ​Hibernate的QBC查询方法怎么使用
相关内容