若本地数据中心的网络模式为BGP网络,您在混合云场景下只能使用BGP Peer模式,且云下环境中使用的交换机和路由器都要支持BGP协议,Calico是支持Overlay和BGP协议的网络模型。本文介绍如何配置云下K8s集群的Calico网络。

前提条件

背景信息

云上云下网络连接示意图如下所示:

Connect

配置方法

  1. 安装Calicoctl。具体操作,请参见安装 Calicoctl
  2. 使用Calicoctl下发以下两个资源来配置Calico的策略。
    根据云下环境选择合适的asNumberpeerIP
    kubectl apply -f - << EOF
    apiVersion: projectcalico.org/v3
    kind: BGPConfiguration
    metadata:
      name: default
    spec:
      logSeverityScreen: Info
      nodeToNodeMeshEnabled: false
      asNumber: 64513
    EOF
    kubectl apply -f - << EOF
    apiVersion: projectcalico.org/v3
    kind: BGPPeer
    metadata:
      name: my-global-peer
    spec:
      peerIP: 192.168.0.1
      asNumber: 64513
    EOF
  3. 通过以下方式检查路由条目是否已经下发。
    • 通过Calicoctl检查路由条目是否已经下发。
      [root@master ~]# ./calicoctl node status
      Calico process is running.
      
      IPv4 BGP status
      +--------------+-----------+-------+----------+-------------+
      | PEER ADDRESS | PEER TYPE | STATE |  SINCE   |    INFO     |
      +--------------+-----------+-------+----------+-------------+
      | 192.168.0.1  | global    | up    | 03:38:03 | Established |
      +--------------+-----------+-------+----------+-------------+
      
      IPv6 BGP status
      No IPv6 peers found.
    • 通过查看云企业网的VPC的自定义路由表,也可以看到对应的路由规则。
      1. 登录专有网络管理控制台
      2. 在左侧导航栏中,单击路由表
      3. 路由表页面,单击目标实例进入路由表详情页面。
      4. 单击路由条目列表,然后单击云企业网查看路由表,表中已存在上述路由规则。路由表