我正在从minikube迁移到Microk8s,并且我想更改Microk8s的配置并控制它可以使用的资源(CPU,内存等)。
在minikube中,我们可以使用以下命令来设置minikube的资源量:
minikube config set memory 8192
minikube config set cpus 2
但是我不知道如何在Microk8s中做到这一点。我用下面的命令(有和没有sudo):
microk8s.config set cpus 4
microk8s.config set cpu 4
他们返回了:
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: VORCBDRVJUSUZJQ0FURS0tLS0...
server: https://10.203.101.163:16443
name: microk8s-cluster
contexts:
- context:
cluster: microk8s-cluster
user: admin
name: microk8s
current-context: microk8s
kind: Config
preferences: {}
users:
- name: admin
user:
username: admin
password: ...
但是,当我获得该节点的描述时,我看到Microk8s正在使用8 cpu:
Capacity:
cpu: 8
ephemeral-storage: 220173272Ki
hugepages-1Gi: 0
hugepages-2Mi: 0
memory: 32649924Ki
pods: 110
Allocatable:
cpu: 8
ephemeral-storage: 219124696Ki
hugepages-1Gi: 0
hugepages-2Mi: 0
memory: 32547524Ki
pods: 110
如何更改Microk8s的配置?
最佳答案
您对microk8s概念有错误的理解。
与minikube不同,microk8不会在您的主机上运行,而是为您预配任何VM,因此主机的所有资源都分配给了microk8。
因此,为了使群集资源保持边界,您必须使用k8s pod / container resource limits对其进行管理
假设您的主机有4个CPU,并且您不希望您的microk8s集群使用一半以上的容量。
您将需要根据运行的 pods 数量设置以下限制。对于单个 pods ,它将如下所示:
resources:
requests:
memory: "64Mi"
cpu: 2
limits:
memory: "128Mi"
cpu: 2
关于kubernetes - 配置Microk8,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56256809/