在网络方面,众多的概念和选项让我不知所措。 所以我的问题是:这些kubernetes概念的用例和区别是什么?
我到目前为止发现的内容:
网络策略文档非常清楚地描述了用例:
您要在IP地址或端口级别上控制流量
但是此处未始终使用网络策略:Calico是Networking Model in kubernetes doc或Azure Portal中的网络策略(s。image)。
我怀疑Azure在这里使用了错误的术语。
但是我仍然不了解模型和插件之间的区别。当然,这是关于管理资源之间的通信的。
为什么我需要两个不同的概念和两个配置选项来管理网络流量?
答案 0 :(得分:1)
Kubernetes解决了一些网络问题:
容器运行时解决的第一个问题,其余部分(services涵盖的第3和第4个问题,仍取决于基础网络模型)由Kubernetes网络模型解决。
网络模型是Kubernetes中网络应该如何工作的高级描述,它提出了3个主要要求:
此抽象模型允许实际网络层的不同实现,例如称为kubenet或Calico,Cilium等的默认网络实现。
基本上,网络插件是实现NetworkPlugin接口的任何东西。实际上,所有网络模型实现都是网络插件,甚至是default one。当然,您可以设置some additional插件以获得更多功能/网络控制。
但是为什么Azure会提到Calico
作为网络策略?好吧,网络策略是通过网络插件实现的,kubenet
,Calico
提供了自己的网络策略实现。