Kubectl alpha debug功能在1.20版本中迎来beta阶段,如今已经更名为kubectl debug。此功能直接通过kubectl为用户提供对常见调试工作流的支持。Beta版中,其支持的故障排查方案包括:
- 通过创建使用其他容器镜像或命令的Pod副本,对启动时发生崩溃的工作负载进行故障排查。
- 通过添加带有调试工具的Pod新副本或临时容器(临时容器为一项alpha版功能,默认未启用)对distroless容器进行故障排查。
- 通过在主机命名空间中创建运行容器,并由其访问主机文件系统对节点进行故障排查。请注意,作为新的内置命令,kubectl debug的优先级超过一切名为“debug”的其他kubectl插件。你必须对受到影响的插件进行重新命名。
在1.20版本中,我们不建议大家继续使用kubectl alpha debug,而且计划在之后的版本中将其删除。请更新你的脚本以使用kubectl debug。关于kubectl debug的更多详细信息,请参阅调试当前运行的Pod。
Beta功能: API优先级与公平性
作为1.18版本中首次引入的一项功能,API优先级与公平性(APF)已经在Kubernetes 1.20版本中实现默认启用。这意味着kube-apiserver可以按优先级对传入的请求进行分类。
经过更新的alpha功能:IPV4/IPV6
IPv4/IPv6双栈迎来重新实现,旨在支持用户及社区就双协议栈服务提出的反馈要求。这意味着我们可以将IPv4与IPv6服务集群的IP地址同时分配给单一服务,也能够在服务中实现单IP栈与双IP栈的往来切换。
通用版功能:限制进程PID以提高稳定性
进程ID(pid)是Linux上机上的一种基础资源。要避免主机稳定性受到影响,我们需要在达到任务上限但又不触及资源上限这两项条件之间取得平衡点。
管理员们需要相应的机制以确保用户Pod不会导致pid耗尽,避免主机守护程序(运行时、kubelet等)因此而停止运行。另外,更重要的是应确保在容器之间限制pid,确保它们不对节点上的其他工作负载产生太多影响。在一年之前实现默认启用之后,SIG Node终于通过 SupportNodePidsLimit(节点到Pod PID隔离)以及SupportPodPidsLimit(按Pod限制PID)将限制进程PID以提高稳定性功能推向通用版本。