K8S搭建存储卷
前言
一、StorageClass
StorageClass为管理员提供了描述存储 “类” 的方法。 不同的类型可能会映射到不同的服务质量等级或备份策略,或是由集群管理员制定的任意策略。K3S本身并不清楚各种类代表的什么。这个类的概念在其他存储系统中有时被称为 “配置文件”。
二、StorageClass资源
每个StorageClass 都包含 provisioner、parameters 和reclaimPolicy字段, 这些字段会在StorageClass 需要动态分配PersistentVolume 时会使用到。
StorageClass 对象的命名很重要,用户使用这个命名来请求生成一个特定的类。 当创建 StorageClass 对象时,管理员设置 StorageClass 对象的命名和其他参数,一旦创建了对象就不能再对其更新。
使用NFS实现动态创建PV(PersistentVolume)
K3S搭建
K3S本身支持的动态PV创建不包括NFS,所以需要使用外部存储卷插件分配PV。
卷插件称为 Provisioner(存储分配器),NFS 使用的是 nfs-client,这个外部卷插件会使用已经配置好的 NFS 服务器自动创建 PV。 Provisioner:用于指定 Volume 插件的类型,包括内置插件(如 kubernetes.io/aws-ebs)和外部插件(如 external-storage 提供的 ceph.com/cephfs)。
详见:存储类
服务端安装NFS
安装NFS
yum install -y nfs-utils rpcbind

创建共享目录
mkdir -p /data/nfs/skywalking
vi /etc/exports
# 输入
/data/nfs *(rw,no_root_squash)
/data/nfs/skywalking *(rw,sync,no_root_squash)

| 参数 | 说明 |
|---|---|
| /data/nfs | 需要共享给其他机器的目录 |
| * | 其他机器的IP地址,*代表任意机器都可以访问 |
| ro | 该主机对该共享目录有只读权限 |
| rw | 操作权限,rw代表其他机器对此目录具有可读写权限 |
| async | 资料会先暂存于内存中,而非直接写入硬盘 |
| sync | Sync 资料同步写入到内存与硬盘中 |
| root_squash | 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户 |
| no_root_squash | 客户机用root访问该共享文件夹时,不映射root用户 |
| all_squash | 客户机上的任何用户访问该共享目录时都映射成匿名用户 |
| anonuid | 客户机上的用户映射成指定的本地用户ID的用户 |
| anongid | 将客户机上的用户映射成属于指定的本地用户组ID |
| insecure | 允许从这台机器过来的非授权访问 |
| subtree_check | 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认) |
| no_subtree_check | 不检查父目录权限 |
| no_wdelay | 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置 |
| wdelay | 如果多个用户要写入NFS目录,则归组写入 |
| no_hide | 共享NFS目录的子目录 |
| hide | 在NFS共享目录中不共享其子目录 |
启动NFS
systemctl start rpcbind &&


2018

被折叠的 条评论
为什么被折叠?



