Kyl*_*yle 3 kubernetes rancher k3s
我尝试在安装时使用以下命令设置每个 Pod 的最大节点数:
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--max-pods 250" sh -s -
Run Code Online (Sandbox Code Playgroud)
但是,K3s 服务器将无法加载。根据kubernetes 文档,该标志似乎--max-pods已被弃用:
--max-pods int32 默认值:110
(已弃用:应通过 Kubelet 标志指定的配置文件设置此参数
--config。 有关更多信息,请参阅https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ 。)
那么对于 K3s,kubelet 配置文件在哪里?是否可以/应该使用上述方法来设置它?
dol*_*ols 10
要使用增加的 max-pods 更新现有安装,请将 kubelet 配置文件添加到 k3s 关联位置,例如/etc/rancher/k3s/kubelet.config:
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
maxPods: 250
Run Code Online (Sandbox Code Playgroud)
编辑/etc/systemd/system/k3s.service以更改 k3s 服务器参数:
ExecStart=/usr/local/bin/k3s \
server \
'--disable' \
'servicelb' \
'--disable' \
'traefik' \
'--kubelet-arg=config=/etc/rancher/k3s/kubelet.config'
Run Code Online (Sandbox Code Playgroud)
重新加载 systemctl 以获取服务更改:
sudo systemctl daemon-reload
重启k3s:
sudo systemctl restart k3s
检查描述节点的输出并kubectl describe <node>查找可分配的资源:
Allocatable:
cpu: 32
ephemeral-storage: 199789251223
hugepages-1Gi: 0
hugepages-2Mi: 0
memory: 131811756Ki
pods: 250
Run Code Online (Sandbox Code Playgroud)
以及一条消息,指出可分配节点限制已在事件中更新:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Starting 20m kube-proxy Starting kube-proxy.
Normal Starting 20m kubelet Starting kubelet.
...
Normal NodeNotReady 7m52s kubelet Node <node> status is now: NodeNotReady
Normal NodeAllocatableEnforced 7m50s kubelet Updated Node Allocatable limit across pods
Normal NodeReady 7m50s kubelet Node <node> status is now: NodeReady
Run Code Online (Sandbox Code Playgroud)
如文档中所述,可以通过磁盘配置文件设置 Kubelet 的配置参数。
注意:使用磁盘上的配置文件,我们只能设置要覆盖的 Kubelet 配置参数的子集,所有其他 Kubelet 配置值都保留其内置默认值,除非被标志覆盖。
我创建了简单的配置文件来覆盖maxPods值(默认110):
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
maxPods: 250
Run Code Online (Sandbox Code Playgroud)
然后我们必须在K3s安装过程中将此配置文件作为参数传递(我建议指定绝对路径名):
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--kubelet-arg=config=<KUBELET_CONFIG_FILE_LOCATION>" sh -
Run Code Online (Sandbox Code Playgroud)
最后我们可以检查它maxPods是否等于250:
# kubectl describe nodes <NODE_NAME> | grep -i pod
pods: 250
pods: 250
PodCIDR: 10.42.0.0/24
PodCIDRs: 10.42.0.0/24
Run Code Online (Sandbox Code Playgroud)
另外你可以在这里找到有趣的讨论,我相信你可以找到另一种方法来解决你的问题。
| 归档时间: |
|
| 查看次数: |
6936 次 |
| 最近记录: |