问题描述
需要创建新的 ResourceQuota
对象,每个命名空间一个。
每个命名空间的默认 ResourceQuota 应为 2 cpu
和 10 GB
。
针对上述情况的任何解决方案。
我试过的例子:
apiVersion: v1
kind: ResourceQuota
Metadata:
name: mem-cpu-demo
spec:
hard:
requests.cpu: "2"
requests.memory: 10Gi
limits.cpu: "2"
limits.memory: 10Gi
解决方法
没有内置的解决方案,但作为一种选择,您可以使用 bash
脚本来实现它。
这将在除 ResourceQuota
之外的所有命名空间中创建 kube-system
对象:
#!/bin/bash
for ns in $(kubectl get ns -o jsonpath="{.items[*].metadata.name}"); # get all namespaces in cluster
do
if [ $ns != kube-system ] # check if it's not kube-system namespace
then
cat <<EOF | kubectl apply -f - # body of kubectl apply -f
apiVersion: v1
kind: ResourceQuota
metadata:
name: resource-quota-$ns
namespace: $ns
spec:
hard:
requests.cpu: "2"
requests.memory: 10Gi
limits.cpu: "2"
limits.memory: 10Gi
EOF
fi
done
有用的链接: