配置 Microk8s

AVa*_*arf 6 kubernetes minikube microk8s

我正在从 minikube 迁移到 Microk8s,我想更改 Microk8s 的配置并控制它可以使用的资源(cpu、内存等)。

在 minikube 中,我们可以使用如下命令来设置 minikube 的资源量:

minikube config set memory 8192
minikube config set cpus 2
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何在Microk8s中做到这一点。我使用了以下命令(有和没有 sudo):

microk8s.config set cpus 4
microk8s.config set cpu 4
Run Code Online (Sandbox Code Playgroud)

他们回来了:

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: ...
Run Code Online (Sandbox Code Playgroud)

但是当我获得该节点的描述时,我看到 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
Run Code Online (Sandbox Code Playgroud)

如何更改 Microk8s 的配置?

A_S*_*Suh 7

您对 microk8s 概念的理解有误。

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

所以,为了让你的集群资源保持边界,你必须使用 k8s pod/container资源限制来管理它

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

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

resources:
      requests:
        memory: "64Mi"
        cpu: 2
      limits:
        memory: "128Mi"
        cpu: 2
Run Code Online (Sandbox Code Playgroud)

  • 在 Mac 上,它确实在虚拟机中运行 kubernetes。 (3认同)