限制每个节点的数量pods
Limit the number of pods per node
我试图限制集群中每个节点的 pods 数量。
我设法使用配置文件从 kubeadm init 添加每个节点的全局限制:
apiVersion: kubeadm.k8s.io/v1beta1
kind: ClusterConfiguration
networking:
podSubnet: <subnet>
---
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
maxPods: 10
这不是很好,因为即使在主节点上也应用了限制(其中多个 kube-system pods 是 运行 并且这里的 pods 的数量可能会增加超过 10 ).
我想在 init 中保留默认值,并在每个节点上更改 join 时的值。
我发现了一些东西:
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
maxPods: 10
---
apiVersion: kubeadm.k8s.io/v1beta1
kind: JoinConfiguration
discovery:
bootstrapToken:
apiServerEndpoint: "<api_endpoint>"
token: "<token>"
unsafeSkipCAVerification: true
但是,即使没有出现 error/warning,似乎忽略了 maxPods 的值。我可以为该特定节点创建超过 10 个 pods。
还有 kubectl get node <node> -o yaml
returns status.capacity.pods
及其默认值 (110)。
我该如何继续才能对每个节点应用此 pods 限制?
我想提一下,我有 basic/limited 与 Kubernetes 相关的知识。
谢谢!
您还可以使用 kubelet --max-pods
选项设置每个节点的最大数量 pods。
/var/lib/kubelet
处有一个 config.yaml 文件。当您 运行 kubeadm join.Partial 文件内容如下时,此配置文件是从 kube-system 命名空间中的 kubelet 配置映射生成的。
apiVersion: kubelet.config.k8s.io/v1beta1
authentication:
anonymous:
enabled: false
webhook:
cacheTTL: 0s
enabled: true
x509:
clientCAFile: /etc/kubernetes/pki/ca.crt
authorization:
mode: Webhook
webhook:
cacheAuthorizedTTL: 0s
cacheUnauthorizedTTL: 0s
clusterDNS:
- 10.96.0.10
maxPods: 10
您可以更改该文件并添加 maxPods 参数,然后在节点上重启 kubelet。
sudo systemctl restart kubelet
目前在 kubeadm join 中无法传递 kubelet 配置文件。
我试图限制集群中每个节点的 pods 数量。 我设法使用配置文件从 kubeadm init 添加每个节点的全局限制:
apiVersion: kubeadm.k8s.io/v1beta1
kind: ClusterConfiguration
networking:
podSubnet: <subnet>
---
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
maxPods: 10
这不是很好,因为即使在主节点上也应用了限制(其中多个 kube-system pods 是 运行 并且这里的 pods 的数量可能会增加超过 10 ). 我想在 init 中保留默认值,并在每个节点上更改 join 时的值。 我发现了一些东西:
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
maxPods: 10
---
apiVersion: kubeadm.k8s.io/v1beta1
kind: JoinConfiguration
discovery:
bootstrapToken:
apiServerEndpoint: "<api_endpoint>"
token: "<token>"
unsafeSkipCAVerification: true
但是,即使没有出现 error/warning,似乎忽略了 maxPods 的值。我可以为该特定节点创建超过 10 个 pods。
还有 kubectl get node <node> -o yaml
returns status.capacity.pods
及其默认值 (110)。
我该如何继续才能对每个节点应用此 pods 限制?
我想提一下,我有 basic/limited 与 Kubernetes 相关的知识。
谢谢!
您还可以使用 kubelet --max-pods
选项设置每个节点的最大数量 pods。
/var/lib/kubelet
处有一个 config.yaml 文件。当您 运行 kubeadm join.Partial 文件内容如下时,此配置文件是从 kube-system 命名空间中的 kubelet 配置映射生成的。
apiVersion: kubelet.config.k8s.io/v1beta1
authentication:
anonymous:
enabled: false
webhook:
cacheTTL: 0s
enabled: true
x509:
clientCAFile: /etc/kubernetes/pki/ca.crt
authorization:
mode: Webhook
webhook:
cacheAuthorizedTTL: 0s
cacheUnauthorizedTTL: 0s
clusterDNS:
- 10.96.0.10
maxPods: 10
您可以更改该文件并添加 maxPods 参数,然后在节点上重启 kubelet。
sudo systemctl restart kubelet
目前在 kubeadm join 中无法传递 kubelet 配置文件。