carina提供了磁盘限速的高级功能,该功能可以限制容器读写挂载磁盘的速度,使用方式也很简单只要在pod的annotation加入如下注解即可
创建容器kubectl apply -f deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: carina-deployment-speed-limit
namespace: carina
labels:
app: web-server-speed-limit
spec:
replicas: 1
selector:
matchLabels:
app: web-server-speed-limit
template:
metadata:
annotations:
carina.storage.io/blkio.throttle.read_bps_device: "10485760"
carina.storage.io/blkio.throttle.read_iops_device: "10000"
carina.storage.io/blkio.throttle.write_bps_device: "10485760"
carina.storage.io/blkio.throttle.write_iops_device: "100000"
labels:
app: web-server-speed-limit
spec:
containers:
- name: web-server
image: nginx:latest
imagePullPolicy: "IfNotPresent"
volumeMounts:
- name: mypvc
mountPath: /var/lib/www/html
volumes:
- name: mypvc
persistentVolumeClaim:
claimName: csi-carina-pvc-speed-limit
readOnly: false
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: csi-carina-pvc-speed-limit
namespace: carina
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 17Gi
storageClassName: csi-carina-sc
volumeMode: Filesystem
该注解值会被写入相应pod层次的cgroup配置文件中
cgroup v1
/sys/fs/cgroup/blkio/kubepods/burstable/pod0b0e005c-39ec-4719-bbfe-78aadbc3e4ad/blkio.throttle.read_bps_device
/sys/fs/cgroup/blkio/kubepods/burstable/pod0b0e005c-39ec-4719-bbfe-78aadbc3e4ad/blkio.throttle.read_iops_device
/sys/fs/cgroup/blkio/kubepods/burstable/pod0b0e005c-39ec-4719-bbfe-78aadbc3e4ad/blkio.throttle.write_bps_device
/sys/fs/cgroup/blkio/kubepods/burstable/pod0b0e005c-39ec-4719-bbfe-78aadbc3e4ad/blkio.throttle.write_iops_device
cgroup v2
/sys/fs/cgroup/kubepods/burstable/pod0b0e005c-39ec-4719-bbfe-78aadbc3e4ad/io.max
备注1:支持设置一个或多个annotation,增加或移除annontation会在一分钟内同步到cgroup
备注2:只支持块设备磁盘限速,测试命令dd if=/dev/zero of=out.file bs=1M count=512 oflag=dsync
备注3:carina能够根据系统环境,自动决策使用cgroup v1还是cgroup v2
备注4:如果系统使用的是cgroup v2,那么支持buffer io限速(需要同时开启io和memory的controller),否则只支持direct io限速
备注5:如果将磁盘限速设置的太低,会导致设备格式化不成功,容器处于pending状态,此时在容器所在节点上执行 pa aux |grep xfs
可以看到阻塞中的mkfs.xfs进程,此时需要在容器所在节点cgroup下执行echo 250:2 0 > /sys/fs/cgroup/blkio/blkio.throttle.write_bps_device
即取消cgroup限制即可成功格式化磁盘;其中250:2
为创建的lvm卷设备号
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )