什么时候需要安装kube代理



如果我只想使用K8s master来管理运行在工作节点中的守护进程集(没有负载平衡,没有HTTP请求处理,每个工作节点运行相同的pod(,是否需要安装kube代理?我只想使用kubernetes来确保每个工作节点都在运行守护进程集清单中指定的容器的一个副本。

我希望节省磁盘空间,而不是不必要地将映像安装到工作节点上。

如介质上所述

最关键的(如果不是最关键的(之一是kubernetes网络。kubernetes网络有很多层——pod网络、服务IP、外部IP集群IP等。在这一过程中,kube代理扮演着重要的角色。

什么是eBPF?完全深入的技术理解超出了本实验的范围,甚至超出了我自己的技能范围,但简单地说,eBPF(扩展的Berkeley数据包过滤器(是一个在linux机器内核中运行的虚拟机。它能够在本地运行实时编译的"bpf程序",这些程序可以访问某些内核函数。换句话说,用户可以在运行时根据需要注入这些程序以在内核中运行。这些程序遵循bpf提供的特定指令集,并有某些规则需要遵循,并且它将只运行安全运行的程序。这与linux模块不同,后者也在内核中运行,但如果编写不正确,可能会给内核带来问题。我将把这些细节推迟到过多的关于BPF的文章中。但这个虚拟机可以连接到任何内核子系统,比如网络设备,并且BPF程序是响应这些子系统上的事件而执行的。tcpdump是最古老、最流行的linux工具之一,它利用了BPF。我很想说,像智能仿生等新技术利用了BPF,但这对我来说只是一个疯狂的猜测。用利用eBPF 的CNI驱动程序替换kube代理

cilium项目利用eBPF执行网络策略,还提供kube代理替换。Calico项目也有一个使用eBPF的技术预览,但对于这个实验,我们将只使用Cilium。

所以AFAIK它是kubernetes工作的必要条件,如果你不想使用kube代理,也许你可以尝试一个像cilium这样的化身,看看上面关于它的媒体教程。值得一提的是,它并不比kube代理轻,它是147MB。

kube代理在我的特定用例中是不必要的。kube代理是负载平衡Kubernetes服务所必需的,并且我的用例不依赖于任何Kubernete服务。运行kubeadm init --skip-phases=addon/kube-proxy可以避免kube代理安装

最新更新