资讯专栏INFORMATION COLUMN

k8s使用nfs持久化数据

社区管理员 / 1029人阅读

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

部署nfs服务器

安装nfs工具

</>复制代码

  1. yum -y install nfs-utils
  2. systemctl start nfs && systemctl enable nfs

创建nfs的目录

</>复制代码

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

启动nfs服务

</>复制代码

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

k8s安装nfs驱动

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

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

</>复制代码

  1. registry.k8s.io/sig-storage/csi-provisioner:v3.2.0
  2. registry.k8s.io/sig-storage/livenessprobe:v2.7.0
  3. registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.5.1
  4. gcr.io/k8s-staging-sig-storage/nfsplugin:canary
在线安装

</>复制代码

  1. curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/master/deploy/install-driver.sh | bash -s master --
本地安装

</>复制代码

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

等待所有pod running

</>复制代码

  1. kubectl -n kube-system get pod  |grep nfs
部署存储类对象

</>复制代码

  1. cat <<EOF > nfs-cs.ymlapiVersion: storage.k8s.io/v1
  2. kind: StorageClass
  3. metadata:
  4.   name: nfs
  5. parameters:
  6.   server: 192.168.32.133 # nfs服务器地址
  7.   share: /data/nfs # nfs共享的目录
  8. provisionernfs.csi.k8s.io
  9. reclaimPolicy: Delete
  10. volumeBindingMode: Immediate
  11. EOFkubectl apply -f nfs-cs.yml

</>复制代码

  1. # 将nfs-csi 设置为默认存储类kubectl patch storageclass nfs-csi -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'

测试部署

静态pv

</>复制代码

  1. ---apiVersion: v1kind: PersistentVolumemetadata:
  2.   name: pv-nfsspec:
  3.   capacity:
  4.     storage: 10Gi  accessModes:
  5.     - ReadWriteMany  persistentVolumeReclaimPolicy: Retain  storageClassName: nfs-csi  mountOptions:
  6.     - nfsvers=3  csi:
  7.     drivernfs.csi.k8s.io    readOnlyfalse
  8.     volumeHandle: unique-volumeid  # make sure it's a unique id in the cluster
  9.     volumeAttributes:
  10.       server: 192.168.32.133      share: /data/nfs---kind: PersistentVolumeClaimapiVersion: v1metadata:
  11.   name: pvc-nfs-staticspec:
  12.   accessModes:
  13.     - ReadWriteMany  resources:
  14.     requests:
  15.       storage: 10Gi  volumeName: pv-nfs  storageClassName: nfs-csi---apiVersion: v1kind: Podmetadata:
  16.   name: nginxspec:
  17.   containers:
  18.   - name: nginx    image: nginx    ports:
  19.     - containerPort: 80
  20.     volumeMounts:
  21.     - name: test      mountPath: /data  volumes:
  22.   - name: test    persistentVolumeClaim:
  23.       claimName: pvc-nfs-static


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/127905.html

相关文章

  • Kubernetes Nacos集群

    摘要:前言最近几天完成了在部署顺便写篇文章记录下部署过程,项目地址有兴趣的可以去了解下后续会提交到里面。 前言 最近几天完成了 Nacos 在Kubernetes 部署,顺便写篇文章记录下部署过程,项目地址Nacos-K8s,有兴趣的可以去了解下,后续会提交到Nacos-Group 里面。 Kubernetes Nacos 本项目包含一个可构建的Nacos Docker Image,旨在利用...

    genedna 评论0 收藏0
  • Kubernetes Nacos集群

    摘要:前言最近几天完成了在部署顺便写篇文章记录下部署过程,项目地址有兴趣的可以去了解下后续会提交到里面。 前言 最近几天完成了 Nacos 在Kubernetes 部署,顺便写篇文章记录下部署过程,项目地址Nacos-K8s,有兴趣的可以去了解下,后续会提交到Nacos-Group 里面。 Kubernetes Nacos 本项目包含一个可构建的Nacos Docker Image,旨在利用...

    Clect 评论0 收藏0
  • 一个网站的微服务架构实战(2)k8s迁移

    摘要:前言我们一起回顾上一篇文章平台的微服务架构和,一共通过构建了三个镜像数据库,部署前端页面的,和接口。最近阿里云产品春节大促销,我一时没忍住又买了一台服务器,打完折扣还是很贵。是一个非常稳定的,可移植的网络文件系统。 前言 我们一起回顾上一篇文章《Bees平台的微服务架构(1)docker和docker-compose》,一共通过Dockerfile构建了三个docker镜像:mysql...

    Forelax 评论0 收藏0
  • 在UK8S使用UFS 容器云 UK8S

    摘要:与集群必须处于同一,否则文件系统无法成功挂载。此处填写挂载地址创建创建创建创建示例如下创建完后,可以发现与已经绑定。在中挂载在中挂载在中挂载创建完之后,我们可以通过命令进入容器,执行命令查看是否挂载到 在UK8S中使用UFS本篇目录前置条件创建PV创建PVC在Pod中挂载UFS本文档介绍如何在UK8S集群中,使用UFS作为K8S底层的存储支持,UFS为共享存储,可以同时为多个Pod提供服务。...

    ernest.wang 评论0 收藏2130

发表评论

0条评论

最新活动
阅读需要支付1元查看
<