Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 资源配额及;多个内存有限的作业-重新启动挂起的作业需要很长时间_Kubernetes_Jobs - Fatal编程技术网

Kubernetes 资源配额及;多个内存有限的作业-重新启动挂起的作业需要很长时间

Kubernetes 资源配额及;多个内存有限的作业-重新启动挂起的作业需要很长时间,kubernetes,jobs,Kubernetes,Jobs,我测试Kubernetes的目的是能够在队列中运行批处理作业。我已经用创建了一个resourcequota $kubectl创建配额内存quota--hard=memory=450Mi, 将所用命名空间中所有容器的总内存使用量限制为450M。我还有一个脚本run memhog.sh,它创建了一个内存限制为X并使用Y兆内存的memhog作业: kubectl run memhog-$(cat /dev/urandom | tr -dc 'a-z0-9' | fold -w 8 | head -n

我测试Kubernetes的目的是能够在队列中运行批处理作业。我已经用创建了一个resourcequota

$kubectl创建配额内存quota--hard=memory=450Mi
,

将所用命名空间中所有容器的总内存使用量限制为450M。我还有一个脚本
run memhog.sh
,它创建了一个内存限制为X并使用Y兆内存的memhog作业:

kubectl run memhog-$(cat /dev/urandom | tr -dc 'a-z0-9' | fold -w 8 | head -n 1)
--replicas=1 --restart=OnFailure --limits=memory=$1Mi,cpu=100m --record
--image=derekwaynecarr/memhog --command -- memhog -r100 $2m
为{1..4}中的i运行
$;do./run-memhog.sh 200 100;正确完成
将创建四个作业,其中两个在大约20秒内完成,另外两个,如预期的那样,将收到带有消息的
失败创建
警告

创建吊舱“memhog-plgxke9m-”时出错:禁止:超出配额:内存配额,请求:内存=200Mi,已使用:内存=400Mi,有限:内存=450Mi

运行
$kubectl get jobs
显示预期结果:

NAME              DESIRED   SUCCESSFUL   AGE
memhog-2covdiww   1         0            35s
memhog-6bg0b6g6   1         1            35s
memhog-plgxke9m   1         0            35s
memhog-w2ujbg1b   1         1            35s
到目前为止,一切正常,我希望这两个仍然未完成的作业在资源可用时(即在清除之前的pod/容器后)立即开始运行。但是,作业处于挂起状态的时间有多长,谁知道呢?我在两个小时后检查了,但它们仍然没有开始运行,之后我让服务器运行了一夜,作业在这段时间内的某个地方完成了


我的问题是:是什么原因导致这些工作等待这么长时间?我是否可以更频繁地轮询资源可用性?我试图搜索kubectl参考和kubernetes文档,但没有找到任何关于此的修复/设置。

我不确定,但您是否尝试过.spec.template.spec.restartPolicy中的“restartPolicy”?
restart=OnFailure
应该与此等效哦,对了,我之前没有注意到这一点