第八章 helm 轻松完爆 gitlab nfs 存储

注意:可在我 百度网盘 直接下载 helm、minio 以及修改好的 gitlab、nginx-ingress 资源包


本系列文章:

第一章:helm 一分钟轻松完爆

第二章:helm 轻松完爆公共仓库

第三章:helm 轻松完爆私有仓库

第四章:helm 轻松完爆 chart

第五章:helm 轻松完爆 release

第六章:helm 轻松完爆 gitlab

第七章:helm 轻松完爆 nginx-ingress

第八章:helm 轻松完爆 gitlab nfs 存储

目录

1 前言

2 nfs 服务端安装和配置

    2.1 安装 nfs-utils

    2.2 设置开机自启

    2.3 启动 nfs 服务

    2.4 创建共享目录

    2.5 配置 nfs 访问规则

    2.6 重新加载 nfs 服务

    2.7 查看 nfs 服务导出列表

3 nfs 客户端安装和配置

    3.1 安装 nfs-utils

    3.2 创建挂载目录

    3.3 设置开机自挂载

    3.4 启动挂载

    3.5 验证挂载

4 创建 nfs pv


1 前言

        nfs 是 network file system 简称,提供网络文件系统功能。我们在第六章安装 gitlab 时为了简便使用了本地存储类型(hostpath),这节将本地存储换成 nfs 存储,原因在于一旦 gitlab pod 重启被调度到其他节点,原有节点上的文件并不会同步到新的节点上。这样会造成文件、数据的不一致。所以这里采用 nfs 集中式文件存储方案。

        安装 nfs 服务之前,首先关闭防火墙。

systemctl stop firewalld


2 nfs 服务端安装和配置

        本人 nfs 服务端所在主机IP为: 10.110.101.106。看官可根据自己的实际情况修改。

2.1 安装 nfs-utils

        nfs 服务端安装需要 nfs-utils 程序包。

yum install nfs-utils -y

2.2 设置开机自启

systemctl enable rpcbind && systemctl enable nfs-server

2.3 启动 nfs 服务

systemctl start rpcbind && systemctl start nfs-server

2.4 创建共享目录

mkdir -p /data/nfs/gitlab

2.5 配置 nfs 访问规则

        编辑 /etc/exports 文件,设置 nfs 访问规则,允许 10.110.0.0/16 网段的主机读写 /data/nfs/gitlab 目录。

/data/nfs/gitlab 10.110.0.0/16(rw,sync,no_root_squash)

        参数说明:

参数 作用
ro read-only
rw read-write
root_squash nfs客户端以root管理员身份访问nfs服务端时,映射为nfs服务端所在主机的匿名用户(权限会受限)
no_root_squash nfs客户端以root管理员身份访问nfs服务端时,映射为nfs服务端所在主机的root用户(权限不会受限)
sync 数据同时写入内存和磁盘。相当于同步双写,因为同时要写内存和磁盘,所以性能会受损,但是数据一致性得以保证,不会丢失
async 数据会优先写入内存,然后再写入磁盘。因为写入到内存的数据并不会立刻把数据同步到硬盘中,这时如果断电就会导致部分数据丢失,但是性能却会比sync更有效

2.6 重新加载 nfs 服务

systemctl reload nfs

2.7 查看 nfs 服务导出列表

showmount -e

spacer.gifclipboard1.png


3 nfs 客户端安装和配置

3.1 安装 nfs-utils

        因为 nfs-utils 包中同时提供了客户端和服务端,所以在客户端安装时,也需要安装 nfs-utils 程序包。

yum install nfs-utils -y

3.2 创建挂载目录

mkdir /data/gitlab -p

3.3 设置开机自挂载

        编辑 /etc/fstab,设置开机挂载 nfs

## 将nfs服务端的 /data/nfs/gitlab 目录挂载到本机 /data/gitlab 目录

echo "10.110.101.106:/data/nfs/gitlab /data/gitlab nfs defaults 0 0" >> /etc/fstab

3.4 启动挂载

mount -a

3.5 验证挂载

df -h | grep -i nfs

clipboard2.png


4 创建 nfs pv

        nfs 跟 hostpath 类型的 pv 相比并没有什么不同。只是修改存储类型即可:

apiVersion: v1

kind: PersistentVolume

metadata:

name: gitlab-etc

spec:

capacity:

storage: 1Gi

volumeMode: Filesystem

accessModes:

-  ReadWriteOnce

persistentVolumeReclaimPolicy: Retain

nfs:

  server: 10.110.101.106

  path: /data/nfs/gitlab

猜你喜欢

转载自blog.51cto.com/14625168/2457153
今日推荐