Atribuya una IP pública estática para un pod en Kubernetes y especifíquela en el servicio.

Atribuya una IP pública estática para un pod en Kubernetes y especifíquela en el servicio.

segúnEnlace, podemos crear pods con múltiples redes, si la aplicación abre un puerto con una red no predeterminada (eth2,3, etc.) ¿Cómo podemos exponerlo como servicio? En el servicio yaml no encuentro ninguna forma de exponer el servicio que no sea el predeterminado.

Respuesta1

Multus le permite conectar dispositivos de red a sus Pods, aunque debemos tener en cuenta que estas interfaces no forman parte de nuestro SDN de clúster de Kubernetes.

Con dispositivos basados ​​en Multus: asignaría IP a sus Pods, ya sea usando DHCP, IP estáticas,... depende de usted. Teniendo en cuenta que esas direcciones son independientes de su SDN de Kubernetes.

Si otros contenedores en ese clúster necesitan conectar esos puntos finales, entonces su tráfico abandonaría su SDN, pasando por su puerta de enlace predeterminada habitual, que a su vez debería tener algún conocimiento (enrutamiento hacia) sus subredes de direcciones Multus.

Sin embargo, aún puede crear Servicios, designando direcciones fuera de su SDN. Esto se haría creando un objeto Endpoints, junto con su Servicio, como por ejemplo:

---
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

información relacionada