一、前提说明

1、说明:

NFS client provisioner 利用 NFS Server 给 Kubernetes 作为持久存储的后端,并且动态提供PV。

默认 rancher 2 的存储类中的提供者不包含NFS,需要手动添加;添加方式有两种:

1)从应用商店直接安装配置 nfs-client-provisioner (需手动添加仓库,该仓库是从helm官方代码库复制自己需要的应用代码并定制的)

2)手动创建 nfs-client-provisioner 存储类,步骤如下:

2、前提:

1)安装好 nfs server(172.31.49.9 ),并分享目录(k8snfs_test)

2)安装有 helm 的 master 主机上安装 git

  1. yum install -y git

3)安装rpcbind

  1. yum install -y rpcbind
  2. systemctl enable rpcbind
  3. systemctl start rpcbind

二、安装 nfs-client-provisioner

参考:https://github.com/helm/charts/tree/master/stable/nfs-client-provisioner

在安装 helm 的主机上操作:

  1. git clone https://github.com/helm/charts.git
  2. cd charts/
  3. helm install stable/nfs-client-provisioner --set nfs.server=172.31.49.9 --set nfs.path=/k8snfs_test

执行结果如下:

nfs client 会以容器的形式运行。同时在集群的存储类中创建了 nfs-client 类

三、验证

1、启动一个 pod,添加存储卷(创建新的 PV,存储类选择 nfs-client,保存)。

2、然后填写PVC卷名,容器路径。

3、进入容器,创建一个测试文件

4、进入 NFS server 中查看分享的 k8snfs_test 目录可看到自动创建了持久卷目录。

  1. [root@DL-Dev4-- k8snfs_test]# ll
  2. total
  3. drwxrwxrwx root root Jun : default-pvc-g55h2-pvc-a002261e-93f7-11e9-a843-025f44ec7002
  4. [root@DL-Dev4-- k8snfs_test]#
  5. [root@DL-Dev4-- k8snfs_test]# ll default-pvc-g55h2-pvc-a002261e-93f7-11e9-a843-025f44ec7002/
  6. total
  7. -rw-r--r-- root root Jun : .txt

5、在rancher的持久卷中也可以看到该持久卷

四、NFS性能调整

Linux nfs客户端对于同时发起的NFS请求数量进行了控制,若该参数配置较小会导致IO性能较差,请查看该参数:

  1. cat /proc/sys/sunrpc/tcp_slot_table_entries

默认编译的内核该参数最大值为256,可适当提高该参数的值来取得较好的性能,请以root身份执行以下命令:

  1. echo "options sunrpc tcp_slot_table_entries=128" > /etc/modprobe.d/sunrpc.conf
  2. echo "options sunrpc tcp_max_slot_table_entries=128" > /etc/modprobe.d/sunrpc.conf
  3. sysctl -w sunrpc.tcp_slot_table_entries=

修改完成后,您需要重新挂载文件系统或重启机器。

参考:

https://yq.aliyun.com/articles/501417
https://github.com/helm/charts/tree/master/stable/nfs-client-provisioner

Rancher 2:添加 NFS client provisioner 动态提供 Kubernetes 后端存储卷的更多相关文章

  1. 利用nfs-client-provisioner动态提供Kubernetes后端存储卷

    原文:https://www.kubernetes.org.cn/3894.html 利用NFS client provisioner动态提供Kubernetes后端存储卷 本文翻译自nfs-clie ...

  2. kubernetes之NFS动态提供Kubernetes后端存储卷

    StorageClass作为对存储资源的抽象定义, 对用户设置的NFS申请屏蔽后端存储的细节, 一方面减少了用户对于存储资源细节的关注, 另一方面减轻了管理员手工管理pv的工作, 由系统自动完成pv的 ...

  3. Rancher 构建 CI/CD 自动化流程 - 动态配置 Jenkins-slave(二)

    一.说明 1.1 说明 前面介绍采用 Jenkinsfile + KubernetesPod.yaml 方式进行部署项目(Rancher 构建 CI/CD 自动化流程 - 动态配置 Jenkins-s ...

  4. 基于NFS的PV动态供给(StorageClass)

    一.简介 PersistentVolume(PV)是指由集群管理员配置提供的某存储系统上的段存储空间,它是对底层共享存储的抽象,将共享存储作为种可由用户申请使的资源,实现了“存储消费”机制.通过存储插 ...

  5. rancher中级(二)(rancher中添加证书及操作虚拟主机)

    制作一个ssl证书 首先了解关于ssl证书的背景知识:http://www.cnblogs.com/zxj015/p/4458066.html SSL证书包括: 1,CA证书,也叫根证书或者中间级证书 ...

  6. macOS X Mount NFS Share / Set an NFS Client

    last updated November 3, 2018 in CategoriesLinux, Mac OS X, UNIX How do I access my enterprise NAS s ...

  7. How to use the NFS Client c# Library

    类库下载 I add a wiki page that explains how to use the NFS Client c# .net library in your project. Neko ...

  8. kubernetes 静态存储与动态存储

    静态存储   Kubernetes 同样将操作系统和 Docker 的 Volume 概念延续了下来,并且对其进一步细化.Kubernetes 将 Volume 分为持久化的 PersistentVo ...

  9. 9 云计算系列之Cinder的安装与NFS作为cinder后端存储

    preface 在前面我们知道了如何搭建Openstack的keystone,glance,nova,neutron,horizon这几个服务,然而在这几个服务中唯独缺少存储服务,那么下面我们就学习块 ...

随机推荐

  1. DECLARE_MESSAGE_MAP( )

    DECLARE_MESSAGE_MAP( ) 说明: 你的程序中的每一个CCmdTarget的派生类都可以提供一个消息映射以处理消息.在你的类声明的末尾使用DECLARE_MESSAGE_MAP宏.然 ...

  2. 2019 支付宝App支付 --- PHP

    SDK下载:https://docs.open.alipay.com/54/106370/;联系客服:https://cschannel.alipay.com/newPortal.htm?scene= ...

  3. SQL一对多取子表最新记录的所有字段(ROW_NUMBER()OVER()函数的应用)

    ROW_NUMBER()OVER() 参数1:分组字段 PARTITION BY   ..,..,....  可选 参数2:排序字段 ORDER BY .. DESC  必须 实例: 根据Confir ...

  4. java中关于数组的初始化

  5. matplotlib命令与格式:标题(title),标注(annotate),文字说明(text)

      1.title设置图像标题 (1)title常用参数 fontsize设置字体大小,默认12,可选参数 ['xx-small', 'x-small', 'small', 'medium', 'la ...

  6. web前端学习总结--CSS

    CSS 什么是CSS? CSS 指层叠样式表(Cascading Style Sheets) 样式定义如何显示HTML元素 样式通常存储在样式表中 如何使用CSS 内联方式 样式定义在单个的HTML元 ...

  7. 让TP5.0在SWOOLE上飞起来

    TP-SWOOLE 目前,TP5.1官方已经提供了think-swoole2.0,集成程度以前优雅很多,不过5.0的集成方式确实有些鸡肋.所以看了下2.0,为5.0开发了一个扩展包,可以采用compo ...

  8. MySql 日志查看与设置

    错误日志log-errol 开启方式:在my.ini的[mysqld]选项下:添加代码:log-error=E:\log-error.txt 记录内容:主要是记录启动.运行或停止mysqld时出现的致 ...

  9. STM32_NVIC寄存器详解

    在MDK内,与NVIC相关的寄存器,MDK为其定义了如下的结构体:  typedef struct  {        vu32   ISER[2];    //2个32位中断使能寄存器分别对应到60 ...

  10. CentOS 7.3降低内核版本为7.2

    查看当前内核版本: [root@nineep ~]# uname -r 2.3.10.0-514.2.2.el7.x86_64  查看当前发行版本: [root@nineep ~]# cat /etc ...