kubernetes网络模型vs.网络插件vs.网络策略

kubernetes网络模型vs.网络插件vs.网络策略,kubernetes,Kubernetes,说到网络,我被众多的概念和选择弄得不知所措。 所以我的问题是:这些kubernetes概念之间的用例和区别是什么 我目前发现的情况: 网络策略文档非常清楚地描述了用例: 您希望在IP地址或端口级别控制流量 但网络策略在这里的使用并不一致:Calico是Azure Portal(s.image)中的一个或多个网络策略 我怀疑Azure在这里使用了错误的术语 但是我仍然不理解模型和插件之间的区别。当然,这是关于管理资源之间的通信 为什么我需要两个不同的概念和两个配置选项来管理网络流量?K

说到网络,我被众多的概念和选择弄得不知所措。 所以我的问题是:这些kubernetes概念之间的用例和区别是什么

我目前发现的情况:

网络策略文档非常清楚地描述了用例:

您希望在IP地址或端口级别控制流量

但网络策略在这里的使用并不一致:Calico是Azure Portal(s.image)中的一个或多个网络策略

我怀疑Azure在这里使用了错误的术语

但是我仍然不理解模型和插件之间的区别。当然,这是关于管理资源之间的通信


为什么我需要两个不同的概念和两个配置选项来管理网络流量?

Kubernetes解决了几个网络问题:

  • 集装箱对集装箱通信
  • 点对点通信
  • 吊舱对服务通信
  • 外部网络到服务通信
  • 第一个问题在容器运行时解决,其余问题(第三个和第四个问题仍取决于底层网络模型)由Kubernetes网络模型解决

    网络模型是Kubernetes中网络如何工作的高级描述,提出了3个主要要求:

    • 每个Pod都有自己的IP地址
    • 一个节点上的吊舱可以在没有NAT的情况下与所有节点上的所有吊舱通信
    • 节点上的代理可以与该节点上的所有POD通信
    这个抽象模型允许实际网络层的不同实现,例如称为or的默认网络实现,等等

    网络插件基本上是实现接口的任何东西。甚至,所有网络模型实现实际上都是网络插件。当然,您可以通过网络为更多功能/控制设置插件

    但是为什么Azure将
    Calico
    作为网络策略?网络策略是通过网络插件实现的,
    kubenet
    Calico
    提供了自己的网络策略实现