总结:根据我的 k3s 版本,kubectl logs -f
返回到控制台(超时?)50秒后没有新的日志条目,而是保持连接直到发出 Ctrl-C。我似乎找不到这个配置的位置或为什么会发生这种情况。
操作系统:Ubuntu Server 22.04(虚拟机),配备 6GB RAM(可扩充至 8GB)和充足的磁盘空间。VM 是原始版本(未应用任何奇怪配置)。
编辑1:@mdaniel - 网络拓扑是最简单的情况:单个 VM,没有明确配置任何内容。默认通过 TCPIPv4 的 DHCP 连接到 Internet,内部仅使用默认网络(启用 TCPIPv4 和 v6,因为这是 Ubuntu Server 22.04 中的默认设置)。默认的 k3s 安装说明设置了一个既充当控制器又充当代理的单个节点。同样,在 k3s 安装期间没有使用明确的配置语句 - 对所有内容都使用默认值,因此 API 服务器和 kubectl 位于本地运行的同一台机器上。我正在通过 SSH 连接到机器本身以使用 kubectl,因此没有外部网络问题导致该问题。
编辑2:我正在使用与 k3s 一起安装的 kubectl 二进制文件,而不是使用 snap。
对我来说,所有版本的 k3s (包括 v1.23.6+k3s1)都可以完美运行:kubectl logs -f
保持连接。从版本 v1.23.7+k3s1 开始,50 秒超时会让我回到控制台。
注意:我不需要在 k3s 上安装任何东西来重现这个问题——即使在 pod 中也会发生这种情况kube 系统对全新 VM 的全新安装进行分组。
这对我来说是个大问题,因为我正在尝试运行澳大利亚水产养殖协会它似乎依赖于此命令来向我显示我的 ansible playbook 运行的结果。只要我执行任何需要超过 50 秒才能在屏幕上记录任何内容的 playbook,我的部署就会失败,并且不会提供任何有用的信息。
我已经阅读了所有 k3s、kubernetes 和 AWX 的发行说明、手册页、Github 问题和安装手册,但似乎找不到任何关于此行为的参考资料。我甚至在 github 的代码库中搜索过,但似乎找不到任何有用的东西。
有人有任何信息可以帮助我吗?在我弄清楚之前,我只能使用 k3s v1.23.6+k3s1,它现在已经很旧了。
感谢您花时间阅读此条目。