kubernetes1.22将swap置为alpha状态了

网友投稿 1378 2022-10-30

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

kubernetes1.22将swap置为alpha状态了

1.前言issue:https://github.com/kubernetes/enhancements/issues/2400kubernetes官方bolg:https://kubernetes.io/blog/2021/08/09/run-nodes-with-swap-alpha/Kubernetes-1.22 版本引入了 alpha 支持(嗯嗯,虽然现在已经1.22.4了),用于在每个节点的基础上为 Kubernetes 工作负载配置交换内存使用。在之前的版本中,Kubernetes 不支持在 Linux 上使用交换内存,因为当涉及交换时,很难保证和说明 pod 内存利用率。作为 Kubernetes 早期设计的一部分,交换支持被认为是超出范围的,如果在节点上检测到交换,kubelet 将默认无法启动。但是,有许多用例 可以从支持交换的 Kubernetes 节点中受益,包括提高节点稳定性、更好地支持具有高内存开销但工作集较小的应用程序、使用内存受限设备以及内存灵活性。因此,在过去的两个版本中,SIG Node 一直在努力收集适当的用例和反馈,并提出一种设计,以受控、可预测的方式向节点添加交换支持,以便 Kubernetes 用户可以执行测试并提供数据以继续构建交换之上的集群功能。节点交换内存支持的 alpha 毕业是我们实现这一目标的第一个里程碑!2.如何开启在kubelet的配置文件添加featureGates: #启用 featureGates  NodeSwap: true #启用 NodeSwap flag,默认为falsememorySwap:  swapBehavior: LimitedSwap #swap 支持 可选:LimitedSwap(默认)/UnlimitedSwap你可以通过 ps -ef|grep kubelet 找到kubelet的完整启动命令,以下是我的root     17760     1  3 17:05 ?        00:00:00 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/kubelet/config.yaml --container-runtime=remote --container-runtime-endpoint=/run/containerd/containerd.sock --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.5那 /var/lib/kubelet/config.yaml 就是我的配置文件了。值得一提的是有些人配置文件并没有featureGates ,那这个就需要自己加上去了。不然会报下面的这个错误。E1205 16:57:31.183739   14981 server.go:232] "Failed to validate kubelet configuration" err="invalid configuration: MemorySwap.SwapBehavior cannot be set when NodeSwap feature flag is disabled" path="&TypeMeta{Kind:,APIVersion:,}"

上一篇:Android App架构分析
下一篇:详解Java虚拟机类加载机制的五大阶段
相关文章

 发表评论

暂时没有评论,来抢沙发吧~