【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

相关推荐
ggaofeng3 小时前
通过命令学习k8s
云原生·容器·kubernetes
death bell3 小时前
Docker基础概念
运维·docker·容器
想学习java初学者5 小时前
Docker Compose部署Kafka(非Zookeeper)
docker·容器·kafka
qq_道可道6 小时前
K8S升级到1.24后,切换运行时导致 dind 构建镜像慢根因定位与解决
云原生·容器·kubernetes
SONGW20186 小时前
k8s拓扑域 :topologyKey
kubernetes
weixin_438197387 小时前
K8S实现反向代理,负载均衡
linux·运维·服务器·nginx·kubernetes
郝同学的测开笔记8 小时前
云原生探索系列(十二):Go 语言接口详解
后端·云原生·go
mit6.8249 小时前
[Docker#5] 镜像仓库 | 命令 | 实验:搭建Nginx | 创建私有仓库
linux·后端·docker·云原生
牛右刀薛面10 小时前
麒麟V10,arm64,离线安装docker和docker-compose
运维·docker·容器·麒麟·鲲鹏
后端常规开发人员10 小时前
在 Mac 上使用 Docker 安装宝塔并部署 LNMP 环境
macos·docker·容器·宝塔