calico CRD

27 阅读4分钟

calico CRD 一览


# kubectl get crd -A -o wide | grep calico
bgpconfigurations.crd.projectcalico.org                       2024-10-12T06:18:00Z
bgpfilters.crd.projectcalico.org                              2024-10-12T06:18:00Z
bgppeers.crd.projectcalico.org                                2024-10-12T06:18:00Z
blockaffinities.crd.projectcalico.org                         2024-10-12T06:18:00Z
caliconodestatuses.crd.projectcalico.org                      2024-10-12T06:18:00Z
clusterinformations.crd.projectcalico.org                     2024-10-12T06:18:00Z
felixconfigurations.crd.projectcalico.org                     2024-10-12T06:18:00Z
globalnetworkpolicies.crd.projectcalico.org                   2024-10-12T06:18:00Z
globalnetworksets.crd.projectcalico.org                       2024-10-12T06:18:00Z
hostendpoints.crd.projectcalico.org                           2024-10-12T06:18:00Z
ipamblocks.crd.projectcalico.org                              2024-10-12T06:18:00Z
ipamconfigs.crd.projectcalico.org                             2024-10-12T06:18:00Z
ipamhandles.crd.projectcalico.org                             2024-10-12T06:18:00Z
ippools.crd.projectcalico.org                                 2024-10-12T06:18:00Z
ipreservations.crd.projectcalico.org                          2024-10-12T06:18:00Z
kubecontrollersconfigurations.crd.projectcalico.org           2024-10-12T06:18:00Z
networkpolicies.crd.projectcalico.org                         2024-10-12T06:18:00Z
networksets.crd.projectcalico.org                             2024-10-12T06:18:00Z


calico CRD 功能一览

Calico 在 Kubernetes 中的网络资源定义

以下是每个资源的详细功能说明:

  1. **bgpconfigurations.crd.projectcalico.org**用于配置Calico的BGP(边界网关协议)全局设置,包括AS号(自治系统号)、BGP监听端口、路由反射器配置等,控制集群中BGP路由的整体行为。

  2. **bgpfilters.crd.projectcalico.org**定义BGP路由过滤规则,用于控制哪些路由可以被接收、发布或重分布,帮助精细化管理集群内外的路由传播。

  3. **bgppeers.crd.projectcalico.org**配置BGP邻居关系,包括集群内节点间的BGP对等体(用于节点间路由交换)和集群与外部网络的BGP对等体(用于跨集群通信)。

  4. **blockaffinities.crd.projectcalico.org**用于IP地址管理(IPAM)的块亲和性配置,指定哪些节点可以使用特定的IP地址块,帮助控制Pod IP的分配策略。

  5. **caliconodestatuses.crd.projectcalico.org**存储Calico在每个节点上的运行状态信息,包括BGP连接状态、Felix(Calico代理)健康状态、网络接口信息等,用于监控节点网络状态。

  6. **clusterinformations.crd.projectcalico.org**存储集群级别的元数据,如Calico版本、集群ID等,是Calico组件间同步集群信息的基础资源。

  7. **felixconfigurations.crd.projectcalico.org**配置Calico代理(Felix)的运行参数,包括日志级别、健康检查间隔、网络接口管理策略、连接跟踪设置等,控制节点上的网络代理行为。

  8. **globalnetworkpolicies.crd.projectcalico.org**定义全局网络策略,适用于整个集群中的所有命名空间,用于在集群级别统一管控Pod间、Pod与外部的网络流量。

  9. **globalnetworksets.crd.projectcalico.org**定义全局网络集合,可包含IP地址、CIDR、域名等,供全局网络策略引用,简化跨命名空间的流量规则配置。

  10. **hostendpoints.crd.projectcalico.org**表示集群节点(主机)的网络端点,用于将节点本身纳入Calico网络策略的管控范围,实现对节点与Pod、节点与外部网络的流量控制。

  11. **ipamblocks.crd.projectcalico.org**由Calico IPAM(IP地址管理)系统自动创建,记录已分配的IP地址块信息,用于跟踪和管理Pod IP的分配情况。

  12. **ipamconfigs.crd.projectcalico.org**配置Calico的IPAM策略,包括IP地址池选择规则、IP分配模式(如CIDR块大小)等,控制Pod IP的分配逻辑。

  13. **ipamhandles.crd.projectcalico.org**用于IPAM系统跟踪IP地址的分配关联关系,确保IP地址在Pod生命周期内的正确分配与释放。

  14. **ippools.crd.projectcalico.org**定义Pod可使用的IP地址池,指定CIDR范围、网关、路由策略等,是Calico分配Pod IP的核心配置。

  15. **ipreservations.crd.projectcalico.org**预留特定IP地址,确保这些IP不被自动分配给Pod,用于需要固定IP的场景(如特定服务需要静态IP)。

  16. **kubecontrollersconfigurations.crd.projectcalico.org**配置Calico控制器(如网络策略控制器、IPAM控制器)的运行参数,包括同步间隔、日志级别等,控制控制器的行为。

  17. **networkpolicies.crd.projectcalico.org**定义命名空间级别的网络策略,仅适用于所在命名空间,用于精细化控制该命名空间内Pod的入站/出站流量。

  18. **networksets.crd.projectcalico.org**定义命名空间级别的网络集合,包含IP、CIDR等,供同命名空间的网络策略引用,简化命名空间内的流量规则配置。

这些 CRD 共同构成了 Calico 的核心功能体系,覆盖了网络策略、BGP 路由、IP 地址管理、节点网络状态监控等关键能力,是 Calico 在 Kubernetes 中实现灵活网络管控的基础。