我正在从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/

10-11 06:43