6

我正在从 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 的配置?

4

2 回答 2

7

你对 microk8s 的概念有错误的理解。

与 minikube 不同,microk8s 不会为您配置任何虚拟机,它在您的主机上运行,​​因此主机的所有资源都分配给 microk8s。

因此,为了将您的集群资源保持在边界内,您必须使用 k8s pod/container资源限制来管理它

假设您的主机有 4 个 CPU,并且您不希望 microk8s 集群使用超过一半的容量。

您需要根据正在运行的 pod 数量设置以下限制。对于单个 pod,它将如下所示:

resources:
      requests:
        memory: "64Mi"
        cpu: 2
      limits:
        memory: "128Mi"
        cpu: 2
于 2019-05-22T15:20:05.320 回答
2

在 OS/X ...

第一站多程

sudo launchctl unload /Library/LaunchDaemons/com.canonical.multipassd.plist

接下来编辑配置文件:

sudo su -
vi /var/root/Library/Application\ Support/multipassd/multipassd-vm-instances.json

再次启动 multipassd

sudo launchctl load /Library/LaunchDaemons/com.canonical.multipassd.plist

来源:https ://github.com/canonical/multipass/issues/1158

于 2020-11-04T06:56:51.477 回答