1

我需要为 GKE 上的一些特定 K8s pod 添加第二个接口,这些 pod 需要从 Internet 上的公共用户直接访问。所以我使用了 Multus 并像这样定义了一个 Macvlan cni:

apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
  name: macvlan-conf
spec:
  config: '{
      "cniVersion": "0.3.1",
      "type": "macvlan",
      "master": "eth0",
      "mode": "bridge",
      "ipam": {
        "type": "host-local",
        "subnet": "10.162.0.0/20",
        "rangeStart": "10.162.0.100",
        "rangeEnd": "10.162.0.150",
        "routes": [
          { "dst": "0.0.0.0/0" }
        ],
        "gateway": "10.162.0.1"
      }
    }'

10.162.0.1 是我的 K8s 节点在 GCP 中的默认网关。所以,我想在这种情况下,豆荚应该可以访问外部。但是在 pod 中,只有一个默认网关来路由内部 pod 流量。另外,由于权限问题,我无法添加任何路线。

问题:

我的预期错了吗?我应该如何使用 Macvlan 为这些 pod 创建一个公共接口?

4

0 回答 0