我需要将最适合的 cni 用于带有 SQL 服务器(相同网络但不同 IP)Kubernetes 部署的 Dotnet 核心。
最佳答案
这取决于...
TCP事项
有关于不同 CNI 性能的好文章:Benchmark results of Kubernetes network plugins (CNI)
根据图表,几乎所有 CNI 都最适合 TCP。
请参阅:CNI 中的 TCP 性能
由于您在评论中指出您使用的是 MS SQL,因此 TCP 是您案例的主要协议(protocol)。默认 MS SQL 设置 uses TCP/IP protocol
所以,在所有的CNI中,根据它们的性能,你几乎可以选择任何一个(除了加密的Clilium和加密的WaveNet)
MTU 也很重要
但是,如果将性能图表与 CNI 自动检测 MTU 选项进行比较,您会发现只有 Cilium 和 Flannel 仍然是冠军(裸机除外):
安全重要吗?
这取决于。
假设 MS SQL 提供了开箱即用的适当安全级别,您可以跳过该部分建议。
如果您决定额外的安全级别 对您的情况 很重要,您可以引用这个矩阵:
结论
所以,对于SQL,如果从性能上选择的话,稍微有优势的可以选择Flannel或者Cilium。
如果安全很重要,那么 Cilium 更好。
附言下面的答案提到了 Calico。
正如您在 TCP 性能图表上看到的,Calico 是领先者。 但是 如果您可以在云中设置正确的 MTU。
关于kubernetes - 哪个 CNI 最适合在 kubernate 部署中使用外部 sql server 运行 .net 核心应用程序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57987691/