【Calico系列】1 Calico官网文章列表

前言

Calico 是容器网络的一种解决方案,提供了纯 3 层的网络模型,每个容器都通过 IP 直接通信,中间通过路由转发找到对方。容器所在的节点充当传统的路由器,提供了路由查找的功能。

我计划将 Calico/BGP 相关的内容都过一遍,把这个过程记录下来。本篇是第一篇,对目前为止官网的 blog 做了一些简单的中文备注或吐槽。calico 团队是个挺有趣的团队(笑,也一直在前进。

由于网络的水深与个人能力有限,本文不免存在错误之处。如有疑问,请查阅文末参考资料或与我线上/线下讨论。

官网

http://projectcalico.org/

  1. 为什么选择Calico?

    免费开源,简单,可伸展,安全的云网络 (simplify, scale, and secure)

    1. Scalable, distributed control plane 可分发的控制平面
    2. Policy-driven network security 安全的网络策略
    3. No overlay required 不需要overlay
    4. Pluggable Data Plane 可插拔的数据平面
    5. Integrated with all major cloud platforms 集成云平台
    6. Widely deployed, and proven at scale 可扩展
  2. 功能

    1. 路由
    2. ip管理
    3. 控制平面
    4. 数据平面
    5. 网路策略
    6. 监控
    7. 支持多架构、多公有云

github: https://github.com/projectcalico/calico

blog列表

https://www.projectcalico.org/blog/

重点感兴趣的技术文,我加粗显示。

  1. 2014-06-25 Welcome to Project Calico! 开启新项目,仅支持openstack。

  2. 2014-07-21 Update from the Calico Team – July 21 正在开发calico基于chef的自动化安装,支持centos系Linux,正在定义calico的开发路线图,正在招新。bugfix。

    每两周是一个开发周期,每个开发周期(sprint)都用猫的名字来定义。

  3. 2014-07-22 German Rex is out! 新版本可以加快openstack和calico的安装。

  4. 2014-07-25 Update from the Calico Team – July 25th 新成员加入,正在建立一套框架进行安装测试和calico的功能测试。

  5. 2014-08-04 Introducing Havana Brown! bugfix。

  6. 2014-08-06 Welcome to Red Hat / RPMs available for Calico! 支持redhat,也就是centos系Linux。

  7. 2014-09-16 New Architecture, Updated Roadmap and IPv6 Support 做了未来开发的规划,正在规划calico架构。将Felix分离出来。已经支持ipv6了。

  8. 2014-10-17 Congratulations to the OpenStack community on releasing Juno 恭喜 openstack 某版本发布,汇报进度。(对不起我们鸽了,毕竟正在迁移架构。)

  9. 2014-10-27 New packages and architecture on the way 这次不鸽了,我们已经迁移到新架构了,并准备支持的 openstack 的新版本。但是建议大家等过几天我们推出的新版本。我们下周需要更多的测试,但尽量不影响版本发布。 下周参加openstack峰会。

  10. 2014-11-07 The three P’s – Paris, Packages and Pesto 几个人参加了峰会,剩下的人在忙碌进行测试,修复bug。(流水账)

  11. 2014-11-19 Calico and Docker containers 验证了calico与docker结合的可行性,令人兴奋!但是短期内不打算进一步开发。

  12. 2014-12-03 OpenStack London meetup 活动日常广告。

  13. 2014-12-16 Exploring Juju with Project Calico 利用juju工具安装openstack与calico。

  14. 2014-12-19 Updating our Docker prototype to work on GCE 为 gce 的虚机和容器测试calico,讲了一些难点和思路。

  15. 2015-01-12 Why Calico? 技术文!这篇很有看头,可以更好地理解calico为何选择三层协议进行互联。

  16. 2015-01-15 New packages and an award 新版本0.10,得了一个杂志的奖项。

  17. 2015-01-23 Obtaining External Connectivity in OpenStack 在openstack架构中,calico如何做到外部访问内部。

  18. 2015-02-03 Why BGP? 技术文!介绍calico为何选择bgp协议。

    任何网络,特别是大型网络,都有两个不同的路由问题需要处理:

    1)发现网络的路由器间拓扑

    2)发现网络中或外部连接到网络的endpoint

    Calico的设计哲学是使用互联网工具和技术来扩展网络结构。基于VM的云可以托管成千上万的计算服务器,容器云可能会将端点计数增加一两个数量级,BGP是唯一可行的选择。在Calico设计中,这相当于数万个路由器,甚至数百万条路由或端点。BGP路由反射是Calico体系结构的关键部分。

    • 简单
    • 行业当前的最佳实践
    • 唯一可以充分扩展的协议
  19. 2015-02-03 Using Ethernet as the interconnect fabric for a Calico installation 技术文!基于以太网的calico网络架构设计

    在大多数云网络基础架构中,网络边缘是机架柜顶交换机(ToR)。ToR下的计算服务器只是将流量封装起来并将其发送到ToR。没有 可见的 (到互连结构)聚合发生在计算服务器上。

    Calico 将IP 推到了边缘,但是在Calico网络中,该边缘是计算服务器本身。

  20. 2015-02-03 See Project Calico in Action at #MWC15 活动日常广告。

  21. 2015-03-11 CoreOS London Meetup report 活动日常广告。

  22. 2015-03-16 Calico at the Docker Edinburgh meetup 活动日常广告。

  23. 2015-03-23 Calico at Docker Edinburgh 活动日常广告。

  24. 2015-03-26 Calico Introduction at FOSDEM 活动日常广告。

  25. 2015-03-31 Technical note on IP fabrics published 技术文!基于IP的calico网络架构设计

    一些相关问题:

    • Calico网络中路由表的大小,与交换机中的转发表大小的比较
    • 确保适当的自治系统边,界并确保这些自治系统的连续性
    • 确保路由通告的下一跳正确
  26. 2015-04-02 Project Calico comes to New York and does a (mini) meetup marathon 活动日常广告。

  27. 2015-04-10 Moving Calico to a distributed data store using etcd 改架构啦,把存储换成etcd。

  28. 2015-04-16 IPv6, DDoS and Project Calico 介绍calico如何解决空地址攻击问题。由于calico路由器路由表中均具有完整且准确的端点列表网络,calico只使用最长匹配,不存在的请求就放到黑洞路由中,静默丢弃。

  29. 2015-04-20 Calico version 0.16 released 版本升级,主要是换了etcd存储。

  30. 2015-04-27 Project Calico and Clocker 企划联动广告。

  31. 2015-05-07 Project Calico at the Docker London May meetup 活动日常广告。

  32. 2015-05-12 Calico at Docker Randstad 活动日常广告。

  33. 2015-05-14 Using etcd for elections 流水账说明。

  34. 2015-05-26 Fueling Mirantis OpenStack with Calico 版本联动广告。openstack。

  35. 2015-06-02 A better future for securing micro-services 活动日常广告。开始见到 kubernetes 了。

  36. 2015-06-21 Seamless OpenStack and Docker networking using Apache Brooklyn and Project Calico 与brooklyn 和 openstack 的联动广告。

  37. 2015-06-22 Calico adds simple, highly efficient networking with fine grained security policy to Docker 1.7 release 与 docker 联动!

  38. 2015-06-25 The Sharp Edges of Gevent 额,不感兴趣,与calico也没有关系。

  39. 2015-07-09 Calico and containers are flip sides of the same coin 科普文,docker 是未来趋势。

  40. 2015-07-13 When you view a scale-out network through a 1990’s enterprise lens…. 技术文!雄文。我目前还看不太懂。

  41. 2015-07-16 Calico networking for Kubernetes 为k8s 1.0 打造的第一个版本。

  42. 2015-07-17 Its obvious, Project Calico needs to communicate better 技术文!对某篇评论calico文章的的回应。涉及网络知识点较多且深,目前理解起来有困难。

  43. 2015-08-04 Calico and Weave Scope 非常有趣的项目,可视化排查故障。目前还在研究初期。

  44. 2015-08-13 Calico Network Policy Comes to Kubernetes 可以在k8s上运行网络策略,而不必使用calico网络的特性。

  45. 2015-08-14 Emerald City, here we come! 活动日常广告。

  46. 2015-08-14 Announcing Calico v1.0 1.0版本!

    拥有以下特性:

    • 针对VM和容器的虚拟化第3层网络解决方案。
    • 与 OpenStack Neutron 完全可部署的集成,支持多个Neutron服务器和API线程,以及VM的实时迁移。
    • 与容器管理和编排系统(例如Docker,Kubernetes等)的概念验证级别集成。
    • 支持IPv4和IPv6工作负载。
    • 通过白名单的灵活安全策略,将允许的流量集成到OpenStack的已配置安全组中。
    • 控制平面正常重启而不会影响数据平面–您可以重启Calico代理,Neutron插件和BGP客户端,而不会影响工作负载之间的数据流。

    达到了以下测试情况:

    • 基于Calico的OpenStack集群,其中包含10,000个VM,可跨500个计算主机运行。
    • Calico的容器部署可在500台主机上运行多达50,000个容器,且设置速率每秒超过20个容器。
    • 在10 Gb网络上的吞吐量测试显示,Calico网络VM的吞吐量接近裸机速度的100%,性能是任何其他虚拟网络技术都无法比拟的。
  47. 2015-08-20 Calico Q&A with InfoQ 活动日常广告。

  48. 2015-08-31 Mesos Networking leaps forward with Calico 活动日常广告。

  49. 2015-09-07 Calico dataplane performance calico的数据平面测试结果!

  50. 2015-09-09 Calico now works with vanilla OpenStack 版本联动广告。

  51. 2015-10-07 Calico comes to Dublin 活动日常广告。

  52. 2015-10-15 OpenStack Liberty – now with added Calico 版本联动广告。

  53. 2015-10-22 Tokyo here we come and a v1.2 sneak peek 活动日常广告,新版本预热。

  54. 2015-10-23 Docker 1.9 includes network plugin support and Calico is ready! 支持 docker 的网络插件新特性。

  55. 2015-10-26 Announcing Calico 1.2! 1.2版本!

  56. 2015-11-06 Securing Namespaces and Services in Kubernetes 对namespace和service进行访问控制,可以把service暴露出namespace。

  57. 2015-11-12 Barcelona, here we come! 活动日常广告。

  58. 2015-11-25 A Little Cat in the Big Apple 活动日常广告。

  59. 2015-12-03 Calico Networking for Tectonic 企划联动广告。支持 coreos 的企业级k8s Tectonic。今天已经改名了,叫 red hat openshift。

  60. 2015-12-15 Packet announces beta support for Project Calico 企划联动广告。

  61. 2016-01-22 Announcing 1.0 Calico CNI integration for Kubernetes 针对 Kubernetes 的 Calico 插件1.0里程碑版本。与CNI集成。

  62. 2016-02-04 A rocket reaches orbit, Project Calico is right there with it 与 Redhat的py交易,宣传rkt,互相站台。

  63. 2016-02-11 A Sneak Peek at Kubernetes Policy 科普文,Calico如何将网络策略引入Kubernetes。

  64. 2016-03-09 Announcing Calico 1.3.0 1.3版本!大规模场景下的性能和占用率优化,测试包括

    • 1000个主机中的100,000个容器,每秒的启动速度约为165个容器。该测试包括验证每个容器中的网络连接性,并强加“预定的”分布式安全规则。
    • 跨 500 个 OpenStack 主机的 10,000 个VM,每秒6个VM的变动率。
  65. 2016-04-19 DC/OS: Data center automation with a side of Calico secure networking 企划联动广告。数据中心操作系统。

  66. 2016-04-19 Calico visits the land of the Longhorns 活动日常广告。

  67. 2016-05-05 Calico-DC/OS Demo: Security, Speed, and No More Port Forwarding! 科普文,Calico-DC/OS Demo。

  68. 2016-05-09 Containers, Cloud and Currywurst: CoreOS Fest 2016 活动日常广告。

  69. 2016-05-09 Flannels, Canals and Tigers, Oh My! — Big News in the Land of Project Calico 新特性预研广告。

  70. 2016-06-01 Canal brings fine-grained policy to DC/OS and Apache Mesos via CNI canal 发布预热。

  71. 2016-07-27 Mesos 1.0 – Now with Calico CNI 企划联动广告。mesos 1.0 发布.

  72. 2016-10-31 Let’s Talk Policy (for a Change) 特性宣传广告。网络策略。

  73. 2016-11-03 See you in Seattle 活动日常广告。

  74. 2016-11-07 Celebrating two Milestone Releases 2.0 beta版本宣传预热!

  75. 2016-11-08 Primetime Kubernetes with Kismatic + Calico 企划联动广告。

  76. 2016-11-09 And The Winner Is… Project Calico 客户案例广告。

  77. 2016-11-09 Click, Deploy, Secure: Kubernetes the Easy Way 客户案例广告。

  78. 2016-11-28 The Results are In… for the 2016 Calico User Survey 用户调查。

    虚拟网络解决方案的前5个最重要的因素是:

    • 可靠性/简单性
    • 数据平面性能
    • 易于故障排除
    • 可扩展性/控制平面性能
    • 微细分/细粒度的安全策略

    calico的排名都不错。

  79. 2016-11-29 Turbo-charged Calico 客户案例广告,偏技术,实现思路很巧,使用了DPDK 。 用加速的用户空间数据平面替换了Calico默认使用的标准Linux内核数据平面。

  80. 2016-12-22 A Christmas Present from the Team… Calico 2.0! 2.0 版本发布!新特性

    • 一个新的基于资源的UX模型(类似于Kubernetes的习惯用法)
    • 重大的性能改进
    • 简化Kubernetes安装
    • 新的数据平面驱动程序API(实验性)
    • 增加对使用Kubernetes本身作为数据存储的支持,消除了对etcd的需求。
  81. 2017-01-03 Calico launches into Gravitational’s orbit 客户案例广告。

  82. 2017-03-28 New Series: Cloud Native, Microservices, Security, & Scale 演讲文!云原生系列: 微服务,安全性和规模

  83. 2017-02-24 Webinar: Simplify & Secure Your OpenShift Network 企划联动广告。OpenShift。

  84. 2017-03-01 New AWS Quick Start Features Project Calico as Default Networking Solution 企划联动广告。AWS。

  85. 2017-03-21 Project Calico 2.1 Released! 2.1 版本发布!新特性

    • IP自动检测
    • IP-in-IP模式中用于流量处理
    • … …
    • Felix和calico / node容器完全用Go编写,性能和占用率优化!
  86. 2017-03-28 From Zero to Azure: Network Policy Comes to ACS Engine 企划联动广告。Azure。

  87. 2017-04-04 Cloud Native Series: Monolithic Enterprise and Modern Needs 演讲文!云原生系列:整体企业和现代需求

  88. 2017-04-11 KubeCon Keynote: Around the (Cloud Native) World in 323 Days KubeCon主题演讲

  89. 2017-04-13 DockerCon 2017: Hot Dogs, Talks, and Kitties 活动日常广告。

  90. 2017-04-25 1,000 Community Slack Users!!! 自吹广告。

  91. 2017-04-27 Cloud Native Series: What is Cloud Native 演讲文!云原生系列:什么是Cloud Native。

  92. 2017-05-02 Join Karthik at OpenStack Summit Boston 活动日常广告。

  93. 2017-05-02 Project Calico 2.2 Released! 2.2 版本发布!新特性

    • 改进GoBGP支持
    • CNI版本更新
    • KDD(Kubernetes数据存储驱动程序)路由
    • BIRD 1.6.3的BGP多路径支持BIRD 1.6.3
    • Felix性能和占用率改进
  94. 2017-05-12 3 Takeaways on the Future of OpenStack Networking from the Boston Summit 活动日常广告。(可以看出来calico现在在战略上k8s与openstack并驾齐驱了)

  95. 2017-05-17 Video: Common Networking Operations Across Kubernetes and OpenStack with Calico 自吹广告,但还不错。使用Calico跨Kubernetes和OpenStack进行通用网络操作

  96. 2017-05-24 Network Policy and Istio: Deep Dive 新技术预热,Istio。

  97. 2017-05-24 Welcoming Istio to the Kubernetes networking community 企划联动广告。Istio。

  98. 2017-06-08 How Giant Swarm uses Calico to enable multi-tenant Kubernetes 企划联动广告。Swarm。

  99. 2017-06-15 Cloud Native Series: What are Microservices 什么是微服务。

  100. 2017-06-23 Project Calico 2.3 Released! 2.3 版本发布!新特性

    • 显着的性能改
    • v1 NetworkPolicy API支持
    • 引入Typha –以及针对KDD模式的更大规模
  101. 2017-06-26 The New NetworkPolicy API in Kubernetes 1.7 上下游版本协同。

  102. 2017-07-13 Using Network Policy in concert with Istio 企划联动广告。Istio。

  103. 2017-07-18 Using Network Policy in Concert with Istio Part 2 企划联动广告。Istio。

  104. 2017-07-25 Using Network Policy in Concert with Istio Part 3 企划联动广告。Istio。

  105. 2017-08-08 Project Calico 2.4 Released!!! 2.4 版本发布!新特性

    • Felix和Typha现在支持Kubernetes 健康检查
    • DNAT之前的策略
    • 使用calicoctl命令行工具配置bgp
    • … …
  106. 2017-08-14 Calico: Shifting into top gear with OpenShift! 企划联动广告。openshift。

  107. 2017-08-31 From Beta to Stable: Evolution of the NetworkPolicy API calico 在 k8s 网络策略的更改。

  108. **2017-09-12 Revealing the hidden host protection superpowers of Felix, the Calico secret agent 技术文!Calico 保护主机Endpoints **

  109. 2017-09-28Breaking Down the Boxes: Containers 科普文,容器。

  110. 2017-09-28 Project Calico 2.6 Released!!! 2.6 版本发布!新特性

    • 支持Kubernetes 1.8 NetworkPolicy ipBlock和出口规则
    • kube-policy-controller现已更名为kube-controllers
    • 稳定性增强功能
  111. 2017-10-26 Enable IPv6 on Kubernetes with Project Calico 操作文,k8s ipv6。

  112. 2017-11-30 Grow Your Skills with Instructor Led Training 培训广告。

  113. 2017-12-04 Introducing: Application Layer Policy 新特性,Calico的应用程序层策略。

  114. 2018-02-22 Announcing Calico v3.0 版本发布!从3.0版本开始,接下来会有一系列和容器紧密相关的更新,非常令人激动。

  115. 2018-04-10 Announcing Calico v3.1 版本发布!开始支持ipvs!

  116. 2018-08-14 Announcing Calico v3.2 版本发布!激动:正式支持ipvs!

  117. 2018-10-24 What’s new in Calico v3.3 版本发布!激动:支持路由反射器!

    • 集群内路由反射器
    • 集群内路由反射器使用标签的BGP对等配置
    • IPAM增强
    • 在网络策略中支持SCTP
  118. 2018-11-05 Calico IPAM: Explained and Enhanced 操作文!ipam操作

  119. 2018-11-13 In-cluster Route Reflection 技术文!calico的路由反射器

  120. 2018-12-10 What’s new in Calico v3.4 版本发布!激动:通过 BGP 宣告 Kubernetes service!

  121. 2019-01-14 Kubernetes Service IP Route Advertisement 操作文!Kubernetes service 路由宣告!

  122. 2019-01-28 What’s new in Calico 3.5 版本发布!激动:基于拓扑的IP地址分配!

  123. 2019-03-11 What’s new in Calico v3.6 版本发布!

  124. 2019-04-17 Comparing kube-proxy modes: iptables or IPVS? iptables或IPVS 模式讨论

  125. 2019-04-26 When Linux conntrack is no longer your friend 技术文!可以使用Calico网络策略有选择地绕过conntrack,避免不划算的开销,同时仍然加强网络安全性。

  126. 2019-05-01 What’s new in Calico v3.7 版本发布!支持vxlan,引入了XDP优化,支持 eBPF。

  127. 2019-06-03 Introducing XDP-optimized denial-of-service mitigation 技术文!Calico的doNotTrack策略通过在Linux数据包处理管道中尽早丢弃流量来帮助缓解DoS攻击。

  128. 2019-06-13 Tigera adds eBPF support to Calico 自吹广告。

  129. 2019-07-09 What’s new in Calico v3.8 版本发布!IPAM利用率报告!

  130. 2019-10-03 What’s new in Calico v3.9 版本发布!跨子网VXLAN封装,实时从flannel到calico的迁移。

  131. 2019-10-11 Everything you need to know about Kubernetes pod networking on AWS 企划联动广告。aws。

  132. 2019-11-04 What’s new in Calico v3.10 版本发布!激动:引入 service ExternalIP 的 BGP通告! namespaceSelector 支持多个选择器,calicoctl支持patch 命令。

  133. 2019-12-11 Live Migration from Flannel to Calico 操作文,不停机从flannel更换为calico。

  134. 2019-12-30 What’s new in Calico v3.11 版本发布!支持双栈Pod IP!


从零开始搭建完善的记账体系 - 少数派 【Calico系列】2 BGP入门笔记