
СогласноСвязь, мы можем создать модули с несколькими сетями, если приложение открывает порт с сетью, отличной от сети по умолчанию (eth2,3 и т. д.) Как мы можем представить его как службу? В yaml службы я не нашел другого способа представить службу, кроме как по умолчанию.
решение1
Multus позволяет подключать сетевые устройства к вашим модулям Pod, хотя следует отметить, что эти интерфейсы не являются частью нашего кластера Kubernetes SDN.
С устройствами на базе Multus: вы бы выделили IP-адреса для своих Pod, используя DHCP, статические IP-адреса, ... на ваше усмотрение. Имейте в виду, что эти адреса независимы от вашего Kubernetes SDN.
Если другим контейнерам в этом кластере потребуется подключиться к этим конечным точкам, то их трафик будет покидать вашу SDN, проходя через их обычный шлюз по умолчанию, который, в свою очередь, должен иметь некоторую информацию о (маршруте) ваших подсетях адресов Multus.
Однако вы все равно можете создавать Услуги, назначая адреса из вашего SDN. Это будет сделано путем создания объекта Endpoints, рядом с вашими Услугами, например:
---
apiVersion: v1
kind: Endpoints
metadata:
name: svc-out-sdn
namespace: ns
subsets:
- addresses:
- ip: 10.0.0.1
ports:
- name: tcp-80
port: 80
protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
name: svc-out-sdn
namespace: ns
spec:
clusterIP: None
ports:
- name: tcp-80
port: 80