Kubernetes CNI Calico:Route Reflector 模式(RR) calico IPIP切换RR网络模式

1. 概述

Calico 路由反射模式是一种 BGP 互联方案,用于解决大规模网络中路由信息的分发和同步问题。在 Calico 的路由反射模式中,路由反射器(Route Reflectors)被用来集中管理路由信息,以减少网络中的路由信息数量和减小路由信息的分发规模。
在 Calico 的路由反射模式中,路由反射器会收集来自其他节点的路由信息,并将其保存在本地。然后,这些路由信息会被分发给其他节点,以便它们能够学习到所有可达的路由。由于路由反射器集中管理路由信息,因此可以大大减少网络中的路由信息数量和分发规模,从而提高网络的性能和可扩展性。

在 Calico 的路由反射模式中,如果某个节点需要发送数据到一个目标节点,但是它无法直接到达目标节点(例如,目标节点处于不同的机架或不同的网络中),那么它会将数据发送给一个路由反射器。然后,路由反射器会将数据转发给适当的节点,以确保数据能够到达目标节点

1.1 安装 calicoctl工具

Calico RR 所有配置操作都需要通过 calicoctl 工具来完成, calicoctl 允许从命令创建,读取,更新和删除 Calico 对象,所以我们首先需要在 Kubernetes 所有的工作节点上安装 calicoctl 工具。

采用二进制方式安装 calicoctl 工具。
版本号选择自己 calico 的版本。

# https://github.com/projectcalico/calicoctl/releases/
kubectl get deployment -n kube-system calico-kube-controllers -o yaml | grep image  #查看calico版本
curl -O -L  https://github.com/projectcalico/calicoctl/releases/download/v3.17.2/calicoctl
mv calicoctl-linux-amd64 /usr/local/bin/calicoctl
chmod +x /usr/local/bin/calicoctl
export CALICO_DATASTORE_TYPE=kubernetes
export CALICO_KUBECONFIG=~/.kube/config

如果不希望每次执行 calicoctl 之前都需要设置环境变量,可以将环境变量信息写到永久写入到 /etc/calico/calicoctl.cfg 文件:
mkdir -vp /etc/calico/

apiVersion: projectcalico.org/v3
kind: CalicoAPIConfig
metadata:
spec:
  datastoreType: "kubernetes"       
  kubeconfig: "/root/.kube/config"

1.2 使用 calicoctl 工具

1.1.1 查看所有的BGP节点,若携带右侧参数则能输出AS号,一个编号就是一个自治系统
calicoctl get nodes --output=wide 
NAME
name-02
name-03
1.1.2 查看所有的BGP节点状态
[root@calico ~

相关推荐

  1. riacv特权模式切换

    2024-02-07 12:52:02       32 阅读
  2. re:从0开始的CSS之旅 14. 显示模式切换

    2024-02-07 12:52:02       48 阅读
  3. android13实现切换导航模式功能

    2024-02-07 12:52:02       47 阅读
  4. 动态切换数据库-抽象工厂模式

    2024-02-07 12:52:02       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-07 12:52:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-07 12:52:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-07 12:52:02       82 阅读
  4. Python语言-面向对象

    2024-02-07 12:52:02       91 阅读

热门阅读

  1. idea vim配置

    2024-02-07 12:52:02       41 阅读
  2. 【GO】二、函数、结构体与错误处理

    2024-02-07 12:52:02       49 阅读
  3. Kubernetes 生产环境部署微服务 Spring Cloud

    2024-02-07 12:52:02       44 阅读
  4. Linux CentOS stream 9 alias

    2024-02-07 12:52:02       48 阅读
  5. 【C语言】简易计算器转移表(函数指针简化)

    2024-02-07 12:52:02       71 阅读
  6. 87.Go Redis实现可重入、自动续期分布式锁

    2024-02-07 12:52:02       60 阅读
  7. Makefile 和 Bash 脚本之间区别和联系

    2024-02-07 12:52:02       51 阅读