Calico Practicing-1 -- About Calico


About Calico

I’m going to talk about my comprehension about Calico.
In addition, I’m only talking about cases upon Kubernetes.

  • First of all, Clico is a project, not a single software.

  • Calico has variety of options for networking implementing. Whether in public cloud or on-prem. Whether L2 network or L3 network or even your environment doesn’t allow either L3 peering or L2 connectivity.

    For detailed list of Calico networking options, please refer to this page.

Standardized Glossary

  • Networking Option: An option is a combination of networking backend, CNI, network policy.
  • network backend: The bottom implementation of network. Which are: IPIP, VXLAN, BGP. IPIP and VXLAN are overlay networking, which is under encapsulation. BGP is based on IP routing.
  • network policy: Rules that enforce which network traffic that is allowed or denied in the network.

The three things above are all logical concept, not specific software.
So, if you see something described as “using Flannel as networking backend, Calico as network policy”, don’t get confused. Every option is listed on Calico’s official site.

  • workload: A workload is a container or VM that Calico handles the virtual networking for. In Kubernetes, workloads are pods.
  • workload endpoint: A workload endpoint is the virtual network interface a workload uses to connect to the Calico network.

Quick Glance of Architecture

Calico is a modularized system which is made up of the following independent components:

  • Felix
  • The Orchestrator plugin
  • etcd
  • BIRD
  • BGP Router Reflector

Let’s take a look at official architecture diagram.:arrow_down:

You can see this is as a typical service mesh microcosmic architecture as well.
To take a look of detail, please refer to this official document – Calico architecture

Core Concept

  • Assigns IP addresses to pods using Calico’s IP address management (IPAM)
  • Programs the local node’s routing table
  • Distributes routes to other nodes and network devices

As we can see at the About Calico page, Calico is a SDN, which allows system and network administrators to use their familiar tools for troubleshooting.

So, I’m going to give it a try to my first goal – to let microservice endpoint communicating directly with other endpoint which is in a Kubernetes cluster.


文章作者: 少年G
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 少年G !
评论
 上一篇
Calico Practicing-2 -- About Calico Networking Option Calico Practicing-2 -- About Calico Networking Option
Our on-premise environment consists of several VLAN(layer 2 network), each VLAN is created by VCenter. Physically, every VLAN is based on several bare metal machines on the same floor, the bare metal machines are connected by ethernet switches. And we have several floors of bare metal machines, they're connected by ToR(Top of Rack) routers(layer 3 network).
2020-01-19
下一篇 
在Kubernetes中如何配置Traefik作为Ingress Controller暴露服务以及如何排错 在Kubernetes中如何配置Traefik作为Ingress Controller暴露服务以及如何排错
客户的服务申请了**pingan.com**集团二级域名,并配置到应用的 ingress 中,但是访问不了。记录下排错过程。
2019-12-31
  目录