Calico 是一个开源的网络和网络安全解决方案,广泛应用于容器、虚拟机和宿主机之间的网络连接。它可以在 Kubernetes、OpenShift、Docker EE、OpenStack 等 PaaS 或 IaaS 平台上使用。
主要特点
- 纯 Layer 3 架构:每个节点上的 Pod 都拥有唯一的 IP 地址,简化了网络管理并提供了更直观的网络拓扑。
- BGP 路由:Calico 使用边界网关协议(BGP)进行路由,实现高效的 IP 路由和负载均衡。
- ACL 支持:允许对网络流量进行精细的访问控制,通过定义 ACL 规则,可以实现对 Pod 之间和 Pod 与外部网络之间的流量进行安全控制。
- 网络流量加密:支持使用 IPSec 对跨节点的网络流量进行加密,提高集群的安全性。
组件
- Felix:Calico 的核心组件,负责接口管理、路由规则、ACL 规则和状态报告。
- etcd:保证数据一致性的数据库,存储集群中节点的所有路由信息。
- Bird:BGP 客户端,负责将 Felix 的路由信息读入内核,并通过 BGP 协议在集群中分发。
- calicoctl:Calico 的命令行管理工具。
优势
- 高性能:由于采用纯 Layer 3 架构和 BGP 路由,Calico 在网络性能方面表现出色。
- 易于管理:设计简单且易于理解,部署和管理相对轻松。
- 强大的安全性:通过 ACL 和 IPSec 提供灵活且强大的安全控制机制。
- 可扩展性:架构天生支持横向扩展,适用于大型集群。
calicoctl 可以使用来介绍
|
|
安装完成后,我们可以根据如下指令查看ipPool状态
|
|
从结果我们得知ip地址池是有的,只是被禁用了,DISABLED的状态被设置为true,将其改为false后故障估计就能恢复
|
|
当出现问题时,可能disabled的状态为true,可以通过以下命令进行修复
|
|
但是这样执行后,可能没有生效,如果没有生效,可以直接通过yaml文件进行创建
calicoctl delete ippool default-ipv4-ippool
接着,我们用下面的指令进行创建
|
|
重启calico的组件即可。