Calico介绍

2023-11-13

        Calico 是一个基于 BGP 的纯三层的网络方案,与 OpenStack 、Kubernetes 、AWS 、GCE
等云平台都能够良好地集成 。 Calico 在每个计算节点都利用 Linux Kernel 实现了一个高效的 vRouter 来负责数据转发 。每个 vRouter 都通过 BGP 协议把在本节点上运行的容器的路由信息向整个 Calico 网络广播,并自动设置到达其他节点的路由转发规则 。 Calico 保证所有容器之间的数据流量都是通过 IP 路由的方式完成互联互通的 。 Calico 节点组网时可以直接利用数据中心的网络结构 (L2 或者 L3) ,不需要额外的 NAT 、隧道或者 Overlay Network, 没有额外的封包解包,能够节约 CPU 运算,提高网络效率。

        Calico 在小规模集群中可以直接互联,在大规模集群中可以通过额外的 BGP route reflector 来完成,如下图所示。

         此外, Calico 基于 iptables 还提供了丰富的网络策略,实现了 Kubemetes 的 Network
Policy 策略,提供容器间网络可达性限制的功能 。

        Calico 的主要组件如下 。
        © Felix: Calico Agent, 运行在每个 Node 上,负责为容器设置网络资源 (IP 地址、路由规则 、 iptables 规则等),保证跨主机容器网络互通 。
        © etcd: Calico 使用的后端存储 。
        © BGP Client: 负责把 Felix 在各 Node 上设置的路由信息通过 BGP 广播到 Calico 网络 。
        © Route Reflector: 通过一个或者多个 BGP Route Reflector 完成大规模集群的分级路由分发。
        © CalicoCtl: Calico 命令行管理工具 。 

        calico-node 应用的主要参数如下 。
        © DATASTORE_TYPE:数据后端存储,默认为 "kubernetes" ,也可以使用 “etcd” 。
        © CALICO_IPV4POOL_CIDR: Calico IPAM 的 IP 地址池,Pod 的 IP 地址将从该池中进行分配 。
        © CALICO_IPV4POOL_IPIP: 是否启用 IPIP 模式 。启用 IPIP 模式时, Calico 将在 Node 上创建一个名为 tunl0 的虚拟隧道 。
        © IP _AUTODETECTION_METHOD: 获取 Node IP 地址的方式 ,默认使用第 1 个网络接口的 IP 地址 ,对于安装了多块网卡的 Node, 建议使用正则表达式选择正确的网卡,例如 "interface=ens.*" 表示选择名称以 ens 开头的网卡的 IP 地址 。
        © FELIX_IPV6SUPPORT: 是否启用 IPv6 。
        © FELIX_LOGSEVERITYSCREEN: 日志级别 。

        其中, IP Pool 可以使用两种模式 BGP 或 IPIP 。 使用 IPIP 模式时,设置CALICO_IPV4POOL_IPIP="always" ; 不使用 IPIP 模式时, 设置 CALICO_IPV4POOL_IPIP=
"off" ,此时将使用 BGP 模式 。
        IPIP 是一种将各 Node 的路由之间做一个 tunnel, 再把两个网络连接起来的模式,如下图所示。 启用 IPIP 模式时 , Calico 将在各 Node 上创建一个名为 tunl0 的虚拟网络接口 。

         BGP 模式则直接使用物理机作为虚拟路由器 (vRouter) ,不再创建额外的 tunnel 。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Calico介绍 的相关文章

随机推荐

  • COCO数据集的使用笔记

    一 简介 官方网站 http cocodataset org 全称 Microsoft Common Objects in Context MS COCO 支持任务 Detection Keypoints Stuff Panoptic Ca
  • 【C语言】关键字

    1 定义 声明的关键字 关键字 说明 int 声明整型变量或函数返回值类型 signed 声明有符号类型变量或函数 unsigned 声明无符号类型变量或函数 short 声明短整型变量或函数 long 声明长整型变量或函数返回值类型 fl
  • Seaborn lineplot图例标题设置

    详细版本见个人博客 Seaborn lineplot图例标题设置 一 问题描述 下面是我的lineplot 代码 如果此方法用了hue参数同时绘制多个类别图 这时候seaborn会把这个hue的标签当做子标题 sns lineplot x
  • 【BATJ面试必会】Jvm 虚拟机篇

    一 运行时数据区域 程序计数器 Java 虚拟机栈 本地方法栈 堆 方法区 运行时常量池 直接内存 二 垃圾收集 判断一个对象是否可被回收 引用类型 垃圾收集算法 垃圾收集器 三 内存分配与回收策略 Minor GC 和 Full GC 内
  • 网络层——IP协议及IP地址总结

    基本概念 在复杂的网络环境中确定一个合适的路径 主机 配有IP地址 但是不进行路由控制的设备 路由器 既然 配有IP地址 又能进行路由控制 节点 主机和路由器的统称 IP协议的功能 寻址和路由 根据对方的IP地址 寻找出最佳的路径传输信息
  • 数组下标的别致用法

    数组常识 common sense 当一个数组被创建 数组下标都是从0开始计数的 例如 创建了一个名为 arr 的数组 可以通过 arr i 来读取数据 arr 为数组名 i 为数组下标 arr i 在编译器内部会被读取转换为另外一种形式
  • 清华 NLP 团队推荐:必读的77篇机器阅读理解论文

    https mp weixin qq com s 2VhgEieBwXymAv2qxO3MPw 导读 机器阅读理解 Machine Reading Comprehension 是指让机器阅读文本 然后回答和阅读内容相关的问题 阅读理解是自然
  • C语言 学生成绩管理 txt存储数据

    include
  • SQL注入基础知识

    1 注入分类 1 根据注入点分 数值型注入 不需要考虑闭合 和字符型注入 搜索型注入 即文本框注入 2 根据注入方式分 联合注入 报错注入 盲注 二次注入 堆叠注入 宽字节注入 3 根据请求方式注入分 GET型注入 POST型注入 HEAD
  • 麦克风阵列波束形成

    我的书 淘宝购买链接 当当购买链接 京东购买链接 波束形成 beamforming 体现的是声源信号的空域选择性 许多传统波束形成方法具有线性处理结构 波束形成需要考虑三个方面 1 麦克风阵列个数 2 性能 3 鲁棒性 在麦克风较少时 波束
  • Redis实现投票功能

    一 背景介绍 投票功能是一个非常常见的Web应用场景 SpringBoot作为当今流行的Web开发框架 为了提高开发效率和性能 通常需要整合一些第三方组件 Redis是一种高性能的键值对存储数据库 而Mybatis plus则是Mybati
  • Kubernetes资源对象Pod、ReplicaSet、Deployment、Service之间的关系

    docker k8s教程 Pod ReplicaSet Deployment Service之间的关系如下图 Pod Pod是一个或多个容器的组合 这些容器共享存储 网络和命名空间 以及如何运行的规范 Pod是Kubernetes的最小可部
  • 关于新光源建设的一些想法

    表格里颜色没法调 建议的飞书版本有颜色 一些建议 对大批量使用的设备 模块 器件 材料以及基础软件架构等不要对进口产生依赖 尽可能选用国产 助力产业 方案公开评价提意见 要让我们做的每个系统拿出去都可以当个标杆推广才好 依赖进口的部分是硬伤
  • 使用自动化工具saltstack编译安装lnmp环境

    使用自动化工具saltstack编译安装lnmp环境
  • html转义字符和选择器(详)

    目录 转义字符 伪类选择器 代码解析 伪元素选择器 转义字符 转义字符 某些字符具有特殊意义 无法直接显示 需要转义 nbsp 不断行的空格 ensp 半方大的空格 emsp 全方大的空格 lt 小于 lt gt 大于 gt amp 符号
  • 安达发

    近几年来 企业对生产效率和管理水平的要求越来越高 为了提高生产效率 降低生产成本 许多企业开始引入先进的生产计划与调度系统 APS 实现生产过程的自动化 智能化管理 APS排产软件是一种能够根据企业的生产任务 资源状况 交货期等因素 自动生
  • Android开发错误——Android Studio中遇到过的错误问题与解决方案汇总

    1 编译时发生 Error 25 0 Gradle DSL method not found compile Possible causes ul li The project AP may be using a version of Gr
  • Mybatis代码生成器——让Java开发更高效

    Mybatis是一款优秀的ORM框架 在Java开发中广泛应用 然而 手写Mybatis代码工作量大 效率低 而Mybatis代码生成器可以帮助开发人员自动生成基本的CRUD代码 极大地提高了开发效率 本文将介绍如何使用Mybatis代码生
  • Modelling Uncertainty in Deep Learning for Relocaliz基于不确定性建模的DL相机重定位

    本博客仅为作者记笔记之用 不对之处 望见谅 欢迎批评指正 更多相关博客请查阅 http blog csdn net weixin 39779106 如需转载 请附上本文链接 http blog csdn net weixin 3977910
  • Calico介绍

    Calico 是一个基于 BGP 的纯三层的网络方案 与 OpenStack Kubernetes AWS GCE 等云平台都能够良好地集成 Calico 在每个计算节点都利用 Linux Kernel 实现了一个高效的 vRouter 来