Skip to content

网络配置

Huanyu He edited this page Jun 7, 2022 · 13 revisions

通过添加 Underlay 网络配置以及设置集群默认网络类型为 Underlay,我们可以将一个 Overlay 的集群转变为一个 Underlay 的集群来使用

相对于 Overlay 的配置,Underlay 的配置往往跟环境强相关,并且需要花费一些精力将底层网络环境信息转化为网络插件部署的参数,这也是我们推荐用 Overlay 方式一键拉起集群的原因

Hybridnet 会通过监听 NetworkSubnet 两种 CR 对象来获取底层网络环境的相关信息

Network 对象

每个 Network 通过 spec.nodeSelector 字段和节点(Node)相关联,它代表了一组具有相同网络性质(比如,处于相同 VLAN 环境、属于同一网关、属于相同二层网络)的节点,我们称之为“调度域”。一个调度域具有这样的性质:一个带有特定地址的 Pod 如果能被部署到调度域内的某一节点,那么带有相同地址的 Pod 应该能被调度到同一调度域内的其他任意节点

Underlay Network 作为对接用户基础网络设施的容器网络类型,同一个集群内可以通过不同的 mode 同时创建 VLANBGP 的 Underlay Network

目前还不支持一个节点属于多个 Underlay Network,但是支持一个节点属于多个不同 type(比如 Overlay、Underlay)的 Network

Overlay Network 的 nodeSelector 必须为空,作为一种特殊的 Network type,其调度域对应集群内所有节点,一个集群最多只能有一个 Overlay Network,目前只支持创建 modeVXLAN 的 Overlay Network

如果需要进行节点扩容操作,需要为 Underlay Network 的新节点添加对应的 label,Network 对象的 status.nodeList 字段表示了实际对应的节点列表

apiVersion: networking.alibaba.com/v1
kind: Network
...
status:
  ...
  nodeList:                                           # Selected nodes.
  - network-test00002
  - network-test00003
  ...

Subnet 对象

每个 Subnet 表示一个调度域内节点可用的网段资源,必须属于并且只能属于一个 Network

一个 Network 只有在其附属的 Subnet 全部被删除之后才能被删除,同理,一个 Subnet 只有在其中没有任何 IP 地址在被使用时才能被删除