【K8s】3# 使用kuboard管理K8s集群(NFS存储安装)

文章目录

  • 1.NFS是什么
  • 2.配置NFS服务器
    • [2.1.执行以下命令安装 nfs 服务器所需的软件包](#2.1.执行以下命令安装 nfs 服务器所需的软件包)
    • [2.2.执行命令 vim /etc/exports,创建 exports 文件,文件内容如下](#2.2.执行命令 vim /etc/exports,创建 exports 文件,文件内容如下)
    • [2.3.执行以下命令,启动 nfs 服务](#2.3.执行以下命令,启动 nfs 服务)
    • 2.4.检查配置是否生效
  • 3.在客户端测试NFS
    • [3.1.执行以下命令安装 nfs 客户端所需的软件包(所有客户端节点)](#3.1.执行以下命令安装 nfs 客户端所需的软件包(所有客户端节点))
    • [3.2.执行以下命令检查 nfs 服务器端是否有设置共享目录](#3.2.执行以下命令检查 nfs 服务器端是否有设置共享目录)
  • [4.在Kuboard中创建 NFS 存储类](#4.在Kuboard中创建 NFS 存储类)

1.NFS是什么

最完整的学习文档莫过于官网:直达地址:Kuboard for K8S

Kubernetes 对 Pod 进行调度时,以当时集群中各节点的可用资源作为主要依据,自动选择某一个可用的节点,并将 Pod 分配到该节点上。在这种情况下,Pod 中容器数据的持久化如果存储在所在节点的磁盘上,就会产生不可预知的问题,例如,当 Pod 出现故障,Kubernetes 重新调度之后,Pod 所在的新节点上,并不存在上一次 Pod 运行时所在节点上的数据。

为了使 Pod 在任何节点上都能够使用同一份持久化存储数据,我们需要使用网络存储的解决方案为 Pod 提供 数据卷。

常用的网络存储方案有:

  • NFS
  • cephfs
  • glusterfs`。

本文介绍一种使用 centos 搭建 nfs 服务器的方法。此方法仅用于测试目的,请根据您生产环境的实际情况,选择合适的 NFS 服务。

2.配置NFS服务器

2.1.执行以下命令安装 nfs 服务器所需的软件包

shell 复制代码
yum install -y rpcbind nfs-utils

2.2.执行命令 vim /etc/exports,创建 exports 文件,文件内容如下

shell 复制代码
/root/nfs_root/ *(insecure,rw,sync,no_root_squash)
  • ro: 只读访问
  • rw:读写访问sync 所有数据在请求时写入共享
  • sync: nfs在写入数据前阻塞响应请求
  • insecure: nfs通过1024以上的端口发送
  • no_root_squash:不讲root用户及所属用户组映射为匿名用户或用户组,默认root是被映射为匿名用户的nfsnobody,所有即使开了rw写权限,客户机也使无法写入的,这个不映射为匿名用户,还保留原来的用户权限就可以读写了,因为一般都是用root用户登录的。
  • 注意:当客机是否有写权限时,还要看该目录对该用户有没有开放写入权限

2.3.执行以下命令,启动 nfs 服务

shell 复制代码
# 创建共享目录,如果要使用自己的目录,请替换本文档中所有的 /root/nfs_root/
mkdir /root/nfs_root

systemctl enable rpcbind
systemctl enable nfs-server

systemctl start rpcbind
systemctl start nfs-server
exportfs -r

2.4.检查配置是否生效

shell 复制代码
exportfs
# 输出结果如下所示
/root/nfs_root  <world>

exportfs 选项参数

  • -a:输出/etc/exports中设置的所有目录
  • -r:重新读取/etc/exports文件中的设置,并且立即生效,而不需要重新启动NFS服务
  • -u:停止输出某一目录
  • -v:在输出目录时,将目录显示在屏幕上。
  1. 修改vi /etc/exports后,不用重启服务,直接使用命令输出共享目录
    exportfs -rv
  2. 停止输出所有共享目录
    exportfs -auv

3.在客户端测试NFS

3.1.执行以下命令安装 nfs 客户端所需的软件包(所有客户端节点)

shell 复制代码
yum install -y nfs-utils

3.2.执行以下命令检查 nfs 服务器端是否有设置共享目录

shell 复制代码
# showmount -e $(nfs服务器的IP)
showmount -e 192.168.33.106

输出结果:

showmount 参数选项 nfs服务器名称或地址

  • -a:显示指定的nfs服务器的所有客户端主机及其所连接的目录
  • -d:显示指定的nfs服务器中已经被客户端连接的所有共享目录
  • -e:显示指定的nfs服务器上所有输出的共享目录
  1. 查看所有输出的共享目录
    showmount -e
  2. 显示所有被挂载的所有输出目录
    showmount -d

4.在Kuboard中创建 NFS 存储类

4.1.设置存储类

打开 Kuboard 的集群概览页面,点击 创建存储类 按钮,如下图所示

4.2.填写表单输入表单

  • 名称 nfs-storage 请自定义名称
  • NFS Server 172.17.216.82 请使用您自己的NFS服务的IP地址
  • NFS Path /root/nfs_root 请使用您自己的NFS服务所共享的路径

4.1.在场景中使用存储类

此时您可以在自己的场景中使用刚创建的存储类。Kuboard上,有以下几个地方可以用到NFS存储> > 类:

  • 导入 example 微服务
  • 安装监控套件

下一章节,使用kuboard不是开源项目 blade-cloud

相关推荐
桂月二二3 小时前
Java与容器化:如何使用Docker和Kubernetes优化Java应用的部署
java·docker·kubernetes
Smile丶凉轩5 小时前
Docker核心技术和实现原理
运维·docker·容器
清风细雨_林木木5 小时前
Docker使用——国内Docker的安装办法
运维·docker·容器
运维&陈同学5 小时前
【Kibana01】企业级日志分析系统ELK之Kibana的安装与介绍
运维·后端·elk·elasticsearch·云原生·自动化·kibana·日志收集
一休哥助手6 小时前
深入理解 Docker 网桥配置与网络管理
docker·容器·eureka
time_silence9 小时前
微服务——数据管理与一致性
微服务·云原生·架构
颜淡慕潇12 小时前
【K8S问题系列 | 20 】K8S如何删除异常对象(Pod、Namespace、PV、PVC)
后端·云原生·容器·kubernetes
lmxnsI12 小时前
docker使用笔记
笔记·docker·容器
didiplus13 小时前
Kubernetes 镜像拉取策略全解析:如何根据需求选择最佳配置?
云原生·容器·kubernetes
玄德公笔记14 小时前
docker-compose搭建sfpt服务器
服务器·docker·容器·sftp·docker-compose