0

我在 Kubernetes 集群中有 2 个工作节点。工作节点位于同一个 L2 域上。

$]cat ipvlanconf1.yaml
apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
  name: ipvlanconf1
  namespace: cncf
spec:
  config: '{
      "cniVersion": "0.3.0",
      "type": "ipvlan",
      "master": "enp1s0.10",
      "mode": "l3",
      "vlan": 10,
      "ipam": {
        "type": "whereabouts",
        "range": "10.1.1.1/24",
        "gateway": "10.1.1.254"
      }
    }'

Worker-node0 上的 Pod00 正在使用 IPVLAN。所以,net1 得到 10.1.1.1

Worker-node1 上的 Pod01 正在使用 IPVLAN。所以,net1 得到 10.1.1.2

我希望能够 ping 10.1.1.1 <---> 10.1.1.2 并且它应该带有 VLAN 标头。我在 tcpdump 中看不到任何内容。问题:

  • 我假设 VLAN 标头是由 Pod 本身插入的。但是,在 IPVLAN CNI 中,我看不到任何通过配置获取 VLAN 信息的代码。我的理解正确吗?

  • 应该将 pod 中的接口显式配置为 vlan-subinterfaces (net1.10) 还是应该在工作节点 (enp1s0.10) 上进行配置?

  • 我应该使用什么作为“主”界面?enp1s0 还是 enp1s0.10?

谢谢

4

0 回答 0