配置 Microk8s

Configure Microk8s

我正在从 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 不同,microk8s 不会为您配置任何 VM,它 运行 在您的主机上,因此主机的所有资源都分配给 microk8s。

因此,为了让您的集群资源保持在边界内,您必须使用 k8s 对其进行管理 pod/container resource limits

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

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

resources:
      requests:
        memory: "64Mi"
        cpu: 2
      limits:
        memory: "128Mi"
        cpu: 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