Как настроить Kubernetes с несколькими сетевыми адаптерами / VLAN на vSphere?

Играем с подготовкой кластера Kubernetes в vSphere с помощью Kubespray и Terraform для автоматизации процесса развертывания (с этим проблем нет).

Моя цель - иметь возможность подключаться Pod'ы в разные VLAN (или группы портов), поэтому каждое приложение будет работать в своей собственной сети, как мои виртуальные машины.

Я думаю, что есть 2 подхода: 1. Создайте «Группу портов всех VLAN (0-4095)» и управляйте VLAN внутри ОС узла K8S. 2. Подключите несколько сетевых адаптеров к виртуальным машинам узла K8S, каждая из которых будет подключена к разным VLAN

После нескольких недель поиска в Google я все еще не могу найти решение для аналогичных требований.

Моя проблема в том, что я застрял пытаюсь понять, как построить кластер K8S таким образом, и в то же время я не совсем уверен, что я вообще на правильном пути.

Пожалуйста, помогите мне, пока я не сойду с ума!

0
задан 22 July 2019 в 16:20
1 ответ

Этого можно добиться с помощью multus-cni плагин. Он создает настраиваемый ресурс NetworkAttachmentDefinition , где вы можете указать сетевой интерфейс, например

apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
  name: macvlan-conf
spec:
  config: '{
      "cniVersion": "0.3.0",
      "type": "macvlan",
      "master": "eth0",
      "mode": "bridge",
      "ipam": {
        "type": "host-local",
        "subnet": "192.168.1.0/24",
        "rangeStart": "192.168.1.200",
        "rangeEnd": "192.168.1.216",
        "routes": [
          { "dst": "0.0.0.0/0" }
        ],
        "gateway": "192.168.1.1"
      }
    }'

. Затем вы присоединяете эту конфигурацию к модулю:

apiVersion: v1
kind: Pod
metadata:
  name: samplepod
  annotations:
    k8s.v1.cni.cncf.io/networks: macvlan-conf

Кроме того, вы можете добавить дополнительные интерфейсы к модулю, создав дополнительные настраиваемые ресурсы, а затем ссылка на них в аннотации модуля

Дополнительные подробности

0
ответ дан 23 November 2019 в 22:44

Теги

Похожие вопросы