minikube start - 如何修改传递给 kubeadm 的 KubeletConfiguration?

minikube start - howto modify KubeletConfiguration passed to kubeadm?

我想在启动 minikube 时设置传给 kubeadmconfig.yaml 中的值 KubeletConfiguration.cpuCFSQuota = false 以关闭 CPU 资源检查,但是我还没有设法通过此处 https://minikube.sigs.k8s.io/docs/handbook/config/ 的文档找到执行此操作的选项。我找到的最接近的解决方案是使用 --extra-config=kubelet.cpu-cfs-quota=false 选项,但 kubelet--cpu-cfs-quota 选项已被弃用,不再有效。

任何想法表示赞赏。

环境:

谢谢, 码头.

minikube start 旁边使用 --extra-config=kubelet. 标志是一个很好的方法,但您还需要 Set Kubelet parameters via a config file.

正如您已经注意到的 --cpu-cfs-quota 标志:

Enable CPU CFS quota enforcement for containers that specify CPU limits (DEPRECATED: This parameter should be set via the config file specified by the Kubelet's --config flag.

因此您需要通过创建 kubelet 配置文件来设置该参数:

The configuration file must be a JSON or YAML representation of the parameters in this struct. Make sure the Kubelet has read permissions on the file.

Here is an example of what this file might look like:

apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
evictionHard:
    memory.available:  "200Mi"

现在您可以使用该配置文件来设置 cpuCFSQuota = false:

// cpuCFSQuota enables CPU CFS quota enforcement for containers that
// specify CPU limits.
// Dynamic Kubelet Config (beta): If dynamically updating this field, consider that
// disabling it may reduce node stability.
// Default: true
// +optional`
CPUCFSQuota *bool `json:"cpuCFSQuota,omitempty"

然后用 --extra-config=kubelet.config=/path/to/config.yaml

调用 minikube

或者,您可以在没有 --extra-config 标志的情况下启动您的 minikube,并且 start the Kubelet with the --config flag 设置为 Kubelet 配置文件的路径。然后 Kubelet 将从该文件加载其配置。

我知道这些步骤比您预期的要多一些,但是通过配置文件设置 kubelet 参数是推荐的方法,因为它简化了节点部署和配置管理。