[Starlingx-discuss] How can I expose container workloads in kubernetes which are running on worker nodes?

Peters, Matt Matt.Peters at windriver.com
Tue Jun 30 13:41:58 UTC 2020


Containerized services may be exposed to an external network via several methods, with considerations needed for each option.

1) Add a dedicated platform interface with static IP assignment for NodePort service type
  - Host interface and routes are configured using the StarlingX system commands (does not need to be associated with a specific network type)
  - Traffic can be exposed directly via the service NodePort or via an Ingress Controller with NodePort
  - DNAT is used to translate between Host IP+NodePort to Pod IP+Port

2) Configure the cluster-service network to be externally routable and advertise the network using Calico BGP or static routing
  - Adjacent routers would learn and distribute the cluster service network
  - Standard K8s service load balancing is used to distributed traffic amongst pods
  - DNAT is required to translate between service address and pod address
  - Additional References:
    https://docs.projectcalico.org/networking/bgp
    https://docs.projectcalico.org/networking/advertise-service-ips

3) Configure the cluster-pod network to be externally routable and 
  - Pod IP is directly used as the destination IP address
  - Can add additional Pod IP pools to select which Pods are externally routable
  - No abstraction of multiple Pod Endpoints (redundancy handled at the application layer)
  - No proxy or NAT required to reach destination endpoint
  - Additional References:
    https://docs.projectcalico.org/networking/workloads-outside-cluster

I hope this additional information helps.

Regards, Matt


On 2020-06-28, 2:11 PM, "bnovickovs at weecodelab.com" <bnovickovs at weecodelab.com> wrote:

    Hi folks,

    Question is simple as that:

    I want to run some workloads in Kubernetes and expose them via NodePort 
    or LoadBalancer service (via MetalLB). Its pretty easy to do on 
    controller-0/1 nodes since they are connected to OAM network. Thus, I am 
    wondering how this can be done on worker nodes which are connected to 
    mgnmt network and data networks (but data networks can be used in 
    conjunction with openstack only).

    Thank you

    _______________________________________________
    Starlingx-discuss mailing list
    Starlingx-discuss at lists.starlingx.io
    http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss



More information about the Starlingx-discuss mailing list