[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