前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Calico网络模式切换

Calico网络模式切换

原创
作者头像
DifficultWork
发布2023-04-10 15:50:21
2.3K0
发布2023-04-10 15:50:21
举报
文章被收录于专栏:阶梯计划阶梯计划

1 Calico默认的网络模式是IPIP

2 切换到BGP网络模式

2.1 确保安装了calicoctl工具

2.2 配置一个global BGP peer

global BGP peer是确保和集群其他calico节点建立peer:

代码语言:yaml
复制
apiVersion: projectcalico.org/v3
kind: BGPPeer
metadata:
  name: my-global-peer
spec:
  peerIP: 192.20.30.40 # 每个calico node都和该地址建立peer
  asNumber: 64567

2.3 为每个calico node配置BGP peer

代码语言:yaml
复制
apiVersion: projectcalico.org/v3
kind: BGPPeer
metadata:
  name: rack1-tor
spec:
  peerIP: 192.20.30.40
  asNumber: 64567
  nodeSelector: rack == 'rack-1' # 可以基于标签操作calico node

2.4 选择一个node作为RR反射器

这里不介绍full-mesh的组网,选择更适用于大规模集群的RR组网方式。选作为RR的node需要分配一个未使用的IPv4地址作为Cluster-ID。

使用如下命令将指定node配置成RR:

代码语言:shell
复制
kubectl annotate node {node-name} projectcalico.org/RouteReflectorClusterID=244.0.0.1

为该node打一个标签更便于其他node与其建立BGP peer:

代码语言:shell
复制
kubectl label node {node-name} route-reflector=true

使用如下配置建立RR组网:

代码语言:yaml
复制
kind: BGPPeer
apiVersion: projectcalico.org/v3
metadata:
  name: peer-with-route-reflectors
spec:
  nodeSelector: all()
  peerSelector: route-reflector == 'true'

完成后使用calicoctl node status可以查看路由条目。

3 切换到Overlay网络模式

假设IP资源池(CIDR)为192.68.0.0/16。

3.1 配置跨子网封装模式为IP-IP

代码语言:yaml
复制
apiVersion: projectcalico.org/v3
kind: IPPool
metadata:
  name: ippool-ipip-cross-subnet-1
spec:
  cidr: 192.168.0.0/16
  ipipMode: CrossSubnet
  natOutgoing: true

3.2 配置所有流量封装模式为IP-IP

代码语言:yaml
复制
apiVersion: projectcalico.org/v3
kind: IPPool
metadata:
  name: ippool-ipip-1
spec:
  cidr: 192.168.0.0/16
  ipipMode: Always
  natOutgoing: true

3.3 配置跨子网封装模式为VxLAN

代码语言:yaml
复制
apiVersion: projectcalico.org/v3
kind: IPPool
metadata:
  name: ippool-vxlan-cross-subnet-1
spec:
  cidr: 192.168.0.0/16
  vxlanMode: CrossSubnet
  natOutgoing: true

3.4 配置所有流量封装模式为VxLAN

代码语言:yaml
复制
apiVersion: projectcalico.org/v3
kind: IPPool
metadata:
  name: ippool-vxlan-1
spec:
  cidr: 192.168.0.0/16
  vxlanMode: Always
  natOutgoing: true

如果只使用VxLAN模式,则BGP的能力可以去使能。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 Calico默认的网络模式是IPIP
  • 2 切换到BGP网络模式
    • 2.1 确保安装了calicoctl工具
      • 2.2 配置一个global BGP peer
        • 2.3 为每个calico node配置BGP peer
          • 2.4 选择一个node作为RR反射器
          • 3 切换到Overlay网络模式
            • 3.1 配置跨子网封装模式为IP-IP
              • 3.2 配置所有流量封装模式为IP-IP
                • 3.3 配置跨子网封装模式为VxLAN
                  • 3.4 配置所有流量封装模式为VxLAN
                  相关产品与服务
                  容器服务
                  腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档