美文网首页
local-path-provisioner如何添加配额限制

local-path-provisioner如何添加配额限制

作者: wwq2020 | 来源:发表于2025-05-20 10:20 被阅读0次

背景

使用local-path-provisioner来供应local pv,但是local-path-provisioner仓库内没有提供local pv的配额限制方法
所以需要修改他的configmap中的配置

修改

yourimage内需要带xfs_quota命令
yourpath为local pv在host侧的目录
yourmountpoint为local pv在host侧目录对应的挂载点

apiVersion: v1
data:
config.json: |-
{
"nodePathMap":[
{
"node":"DEFAULT_PATH_FOR_NON_LISTED_NODES",
"paths":["/yourpath"]
}
]
}
helperPod.yaml: |-
apiVersion: v1
kind: Pod
metadata:
name: helper-pod
spec:
priorityClassName: system-node-critical
tolerations:
- key: node.kubernetes.io/disk-pressure
operator: Exists
effect: NoSchedule
containers:
- name: helper-pod
securityContext:
privileged: true
image: yourimage
imagePullPolicy: IfNotPresent
volumeMounts:
- name: projects
mountPath: /etc/projects
- name: projid
mountPath: /etc/projid
- name: dev
mountPath: /dev
- name: yourmountpoint
mountPath: /yourmountpoint
volumes:
- hostPath:
path: /etc/projects
type: FileOrCreate
name: projects
- hostPath:
path: /etc/projid
type: FileOrCreate
name: projid
- hostPath:
path: /dev
type: Directory
name: dev
- hostPath:
path: /yourmountpoint
type: Directory
name: yourmountpoint
setup: |-
#!/bin/sh
set -e
xfsPath="/yourmountpoint"
pvcName=(basename "VOL_DIR")
mkdir -p "VOL_DIR" type=`stat -f -c %T{xfsPath}if [ ${type} = 'xfs' ]; then echo "support xfs quota" exec 6>/tmp/local-path.lock flock -nx 6 project=cat /etc/projects | tail -n 1id=echo {project%:*}` if [ !{project} ]; then
id=1
else
id=((id+1)) fi echo "{id}:{VOL_DIR}" >> /etc/projects sync -d /etc/projects echo "{pvcName}:{id}" >> /etc/projid sync -d /etc/projid flock -u 6 xfs_quota -x -c "project -s{pvcName}"
xfs_quota -x -c "limit -p bsoft={VOL_SIZE_BYTES} bhard={VOL_SIZE_BYTES} {pvcName}"{xfsPath}
xfs_quota -x -c "report -pbih" {xfsPath} fi teardown: |- #!/bin/sh set -e xfsPath="/yourmountpoint" pvcName=(basename "VOL_DIR") type=`stat -f -c %T{xfsPath}`
if [ {type} = 'xfs' ]; then echo "support xfs quota" xfs_quota -x -c "limit -p bsoft=0 bhard=0{pvcName}" {xfsPath} fi rm -rf "VOL_DIR"
if [ {type} = 'xfs' ]; then echo "(sed "/{pvcName}/d" /etc/projects)" > /etc/projects sync -d /etc/projects echo "(sed "/{pvcName}/d" /etc/projid)" > /etc/projid sync -d /etc/projid xfs_quota -x -c "report -pbih"{xfsPath}
fi
kind: ConfigMap
metadata:
name: local-path-config
namespace: local-path-storage

相关文章

  • 12、磁盘配额quota

    磁盘配额 配额:quota 什么是磁盘配额? 限制磁盘资源的使用的。 限制原因就是因为资源不是无限的。 应用...

  • linux磁盘配额

    磁盘配额定义:针对某个用户或者某个组限制使用磁盘的使用空间。软限制:警告硬限制:禁用分配磁盘配额(对配置文件修改)...

  • etcd磁盘清理步骤

    etcd默认的空间配额限制为2G,超出空间配额限制就会影响服务,所以需要定期清理 以下是etcd磁盘清理的步骤: ...

  • 6. kubernetes 资源和调度

    6. kubernetes 资源和调度 一、资源配额与限制 资源配额用于管理命名空间(NameSpace)中对象...

  • 磁盘配额quota

    磁盘配额 磁盘配额就是管理员可以为用户所能使用的磁盘空间进行配额限制的一个功能。他可以通过用户和组进行配额管理的,...

  • 14-1高级文件系统管理之磁盘配额

    配置磁盘配额 一、开启磁盘配额功能 在/etc/fstab磁盘配额的挂载设备那行,挂载选项添加:分区挂载选项:us...

  • 通过easyctl为你的程序添加配额限制

    以下内容适用于CenOS7平台 缘起 试想下,你是否遇到以下场景: 同一主机运行多个程序,由于某个程序异常(循环引...

  • 12. ZooKeeper配额和认证

    ZooKeeper具有与其数据模型相关的可配置配额(quota)。 可以设置znode上的配额限制和存储的数据量。...

  • Linux限制用户的磁盘空间和内存使用

    一、如何限制用户的磁盘空间 1.查看系统中所有用户的磁盘空间配额 sudo repquota /dev/vda1 ...

  • kubernetes资源对象之resourcequota

    Resource Quotas,资源配额,是用来限制用户资源用量的一种机制。 使用资源配额前提条件 在 API S...

网友评论

      本文标题:local-path-provisioner如何添加配额限制

      本文链接:https://www.haomeiwen.com/subject/onzaijtx.html