Brincando com o provisionamento do cluster Kubernetes no vSphere usando Kubespray e Terraform para automatizar o processo de implantação (sem problemas com isso).
Meu objetivo é poder conectar pods a diferentes VLANs (ou grupos de portas), para que cada aplicativo seja executado em sua própria rede, como minhas VMs fazem.
Acho que existem 2 abordagens: 1. Criar 'Grupo de portas de todos os VLANs (0-4095)' e gerenciar VLANs dentro do sistema operacional do nó K8S 2. Anexe múltiplas NICs às VMs do nó K8S, cada uma delas será conectada a uma VLAN diferente
Depois de pesquisar no Google por semanas, ainda não consigo encontrar uma solução para requisitos semelhantes.
Portanto, meu problema é que estou tentando descobrir como construir o cluster K8S dessa maneira e, ao mesmo tempo, não tenho certeza se estou no caminho certo.
Por favor me ajude antes que eu enlouqueça!
Responder1
Isto pode ser conseguido commultus-cniplugar. Ele criaNetworkAttachmentDefinition
recurso personalizado, onde você pode especificar a interface de rede, ou seja
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"
}
}'
E então, você anexa esta configuração ao pod:
apiVersion: v1
kind: Pod
metadata:
name: samplepod
annotations:
k8s.v1.cni.cncf.io/networks: macvlan-conf
Além disso, você pode adicionar mais interfaces a um pod criando mais recursos personalizados e, em seguida, referindo-se a eles na anotação do pod
Maisdetalhes.