kuberntes Calico介绍

What is Calico?

Calico是一个用于容器、虚拟机器和基于本机主机的工作负载的开源网络和网络安全解决方案。Calico支援广泛的平台,包括Kubernetes、OpenShift、Docker EE、OpenStack和bare metal服务。
Calico将灵活的网络功能与随处执行的安全执行相结合,提供了一个具有本地Linux核心效能和真正的云本地可伸缩性的解决方案。Calico为无论是在公共云中执行、在prem上执行、在单个节点上执行、还是跨数千个节点丛集执行为开发人员和丛集操作人员提供了一致的体验和功能集。
Why use Calico?
最佳网络安全事件(Best practices for network security)
Calico丰富的网络策略模型使得锁定通讯变得很容易,所以唯一的流量就是你想要的流量。您可以将Calico的安全增强看作是用自己的个人防火墙封装每个工作负载,在部署新服务或将应用程序向上或向下伸缩时,可以实时动态地重新配置防火墙。
Calico的策略引擎可以在主机网络层和服务网格层执行相同的策略模型(如果使用Istio & Envoy),保护您的基础设施免受工作负载危害,并保护您的工作负载免受基础设施危害。
效能(Performance)

Calico使用Linux核心内建的、高度优化的转发和访问控制功能来提供本地Linux网络资料平台 的效能,特别的不需要任何与第一代SDN网络相关的encap/decap开销。Calico的控制平台和策略引擎经过多年的生产使用已经进行了微调,达到最小化CPU的总体使用和占用。
可伸缩性(Scalability)

Calico的核心设计原则利用了最佳实践的云原生设计模式,并结合了全球最大的互联网运营商所信任的、基于已验证标准的网络协议。其结果是一个具有特殊可伸缩性的解决方案,多年来一直在大规模生产中执行。Calico的开发测试周期包括定期测试数千个节点丛集。无论您执行的是10个节点丛集、100个节点丛集,还是更多,您都可以从Kubernetes丛集所要求的效能和可伸缩性特性的改进中获益。
互操作性(Interoperability)

Calico支援Kubernetes及其他工作负载无缝、安全地通讯。Kubernetes pods是网络上的最小化单元,能够与网络上的任何其他工作负载进行通讯。此外,Calico可以无缝地扩充套件,以保护与Kubernetes一起的、现有基于主机的工作负载(无论是在公共云端计算中,还是在VMs或裸金属服务器上的on-prem中)。所有工作负载都受制于相同的网络策略模型,因此允许流的唯一流量就是您希望流的流量。
相似(Looks familiar)

Calico使用现有系统管理员已经熟悉的Linux原语。输入您最喜欢的Linux网络命令,您将得到您期望的结果。在绝大多数部署中,离开应用程序的包是连线在网络上的包,没有封装、隧道或覆盖。系统和网络管理员可通过现有的工具来分析网络问题,就跟现在一样。
实际生产(Real world production hardened)
Calico受到信任,并在大型企业(包括SaaS提供商、金融服务公司和制造商)的生产中执行。最大的公共云提供商已经选择Calico为其托管的Kubernetes服务(Amazon EKS、Azure AKS、GoogleGKE和IBM IKS)提供网络安全,这些服务执行在数万个丛集中。
全面的Kubernetes网络策略支援(Full Kubernetes network policy support)
Calico的网络策略引擎在API的开发过程中形成了Kubernetes网络策略的原始参考实现。Calico的不同之处在于它实现了API定义的全部特性,为使用者提供了API定义时所设想的所有功能和灵活性。对于需要更强大功能的使用者,Calico支援一组扩充套件的网络策略功能,这些功能与Kubernetes API无缝地协同工作,为使用者定义网络策略提供了更大的灵活性。