<p>如果不使用docker runtime,kubeadm会抱怨bridge-nf-call和ip_forward</p>

创建于 2018-08-16  ·  10评论  ·  资料来源: kubernetes/kubeadm

这是错误报告还是功能请求?

/种类错误

发生了什么事

引导干净的系统后,使用配置为docker以外的CRI运行时运行kubeadm init会产生以下错误消息对:

[ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables does not exist [ERROR FileContent--proc-sys-net-ipv4-ip_forward]: /proc/sys/net/ipv4/ip_forward contents are not set to 1

您预期会发生什么

这两个飞行前检查通过,因为它们可以自动满足。

显然,这些通常是通过正常启动docker守护程序来自动处理的,但是对于openSUSE Kubic,我们正在默认情况下使用CRI-O进行调查,在该应用中,我们没有一个霸道的守护程序来干预此类事情。

因此,此错误报告是kubeadm自己处理事情的机会。 我认为有一种情况是因为kubeadm知道需要什么,因此kubeadm应该自动modprobe br_netfilterecho '1' > /proc/sys/net/ipv4/ip_forward而不是抱怨这些问题。

另外,如果这个建议不可接受,那么我将对openSUSE Kubic如何以与kubeadm的总体期望保持一致的方式自动解决这些问题的建议表示赞赏。

如何复制它(尽可能少且精确)

  • 安装kubeadm和cri-o
  • systemctl enable --now crio
  • 配置kubeadm以运行带有附加参数的kublet --container-runtime=remote --container-runtime-endpoint=unix:///var/run/crio/crio.sock --runtime-request-timeout=15m
  • 运行kubeadm init --cri-socket /var/run/crio/crio.sock

我们还有什么需要知道的吗?

环境

  • Kubernetes版本(使用kubectl version ):v1.11.2
  • 云提供商或硬件配置:qemu-kvm x86_64 16GB RAM 2核
  • 操作系统(例如来自/ etc / os-release):opensuse-tumbleweed-kubic
  • 内核(例如uname -a ):4.17.13
  • 安装工具:kubeadm
help wanted kinbug

最有用的评论

重新启动Docker确实成功了...谢谢

所有10条评论

感觉不像是产品错误,而是文档错误(只是缺少的手册)。 当前,只有关于如何使用docker作为容器运行时使用kuberadm安装kubernetes的页面,我们应该为cri-o编写另一个页面。

IMO kubeadm至少应该自己做modprobe。 ip_forward也是值得商as的,因为这是系统配置,取决于管理员。

@vrothberg-您怎么看? 是否应该通过kubeadm自动纠正上述2个条件(modprobe和sysctl),或者您认为这在CRI-O中可以更好地解决?

Docker本身会自动完成

而且,如果您认为应该适当地考虑CRI-O,那么您认为应该在openSUSE的哪个地方进行肮脏的破解? 在cri-o程序包或kubeadm程序包中? ;)

我认为这是kubeadm软件包应做的事情。 之后,我们可以
检查这是否确实是错误,或者是否可以将其降级为信息日志。
K8中的许多事情仍然围绕Docker的工作方式而建立,但是
他们并不总是必要的。

我目前正在休假,但将不时检查邮件。 谢谢
为ping。

在2018年9月12日星期三10:30,理查德·布朗[email protected]
写道:

@vrothberg https://github.com/vrothberg-您怎么看? 应该
以上2个条件(modprobe和sysctl)将通过以下方式自动纠正:
kubeadm,还是您认为这在CRI-O中可以更好地解决?

Docker本身会自动完成

而且,如果您认为CRI-O不应妥善保管,您认为应该在哪里
是否应该在openSUSE中进行肮脏的破解? 在cri-o套件中或
kubeadm包? ;)

-
您收到此邮件是因为有人提到您。
直接回复此电子邮件,在GitHub上查看
https://github.com/kubernetes/kubeadm/issues/1062#issuecomment-420559942
或使线程静音
https://github.com/notifications/unsubscribe-auth/ALI4g1dRKf5vWXz_7H27VktuD8nP5tAsks5uaMYogaJpZM4V_W70

此问题将在openSUSE中进行以下更改: https ://build.opensuse.org/package/rdiff/devel:kubic / kubernetes?linkrev = base&rev = 9

我打算立即在上游rpm包装中提交类似的内容

重新启动Docker确实成功了...谢谢

我第二次将此信息添加到设置页面。 我看到此错误,这至少使我痛苦了20分钟,直到遇到此线程。 感谢您分享解决方案。

确保您遵循该过程,然后错误不会发生
https://kubernetes.io/docs/setup/production-environment/container-runtimes/#cri -o

仅仅修改东西并不能确保它们正在运行。 如果重新启动,那么一切都会中断。 它应该告诉您确保永久启用这些功能。 这适用于sysctl规则,但不适用于模块。

当遵循此类指导时,我不喜欢阅读事物,而是尝试根据预感采取额外的措施。 如果它告诉我要做某事,那就去做。 如果不是,我不会。 我等待事情破裂,然后回去修复它们。 这样,我有一个更好的主意,那就是问题出在不好的文档上,而不是事态破裂时我做了一些随机的事情。

我可能需要重建本地Hyper-V节点映像。

此页面是否有帮助?
0 / 5 - 0 等级