minikube start - 如何修改传递给 kubeadm 的 KubeletConfiguration?
minikube start - howto modify KubeletConfiguration passed to kubeadm?
我想在启动 minikube
时设置传给 kubeadm
的 config.yaml
中的值 KubeletConfiguration.cpuCFSQuota = false
以关闭 CPU 资源检查,但是我还没有设法通过此处 https://minikube.sigs.k8s.io/docs/handbook/config/ 的文档找到执行此操作的选项。我找到的最接近的解决方案是使用 --extra-config=kubelet.cpu-cfs-quota=false
选项,但 kubelet
的 --cpu-cfs-quota
选项已被弃用,不再有效。
任何想法表示赞赏。
环境:
- Ubuntu 20.04
- Minikube 1.17.1
- Kubernetes 1.20.2
- Driver docker (20.10.2)
谢谢,
码头.
在 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 参数是推荐的方法,因为它简化了节点部署和配置管理。
我想在启动 minikube
时设置传给 kubeadm
的 config.yaml
中的值 KubeletConfiguration.cpuCFSQuota = false
以关闭 CPU 资源检查,但是我还没有设法通过此处 https://minikube.sigs.k8s.io/docs/handbook/config/ 的文档找到执行此操作的选项。我找到的最接近的解决方案是使用 --extra-config=kubelet.cpu-cfs-quota=false
选项,但 kubelet
的 --cpu-cfs-quota
选项已被弃用,不再有效。
任何想法表示赞赏。
环境:
- Ubuntu 20.04
- Minikube 1.17.1
- Kubernetes 1.20.2
- Driver docker (20.10.2)
谢谢, 码头.
在 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
或者,您可以在没有 --extra-config
标志的情况下启动您的 minikube,并且 start the Kubelet with the --config
flag 设置为 Kubelet 配置文件的路径。然后 Kubelet 将从该文件加载其配置。
我知道这些步骤比您预期的要多一些,但是通过配置文件设置 kubelet 参数是推荐的方法,因为它简化了节点部署和配置管理。