This document discusses methods for providing high availability services in Kubernetes including NodePort, cloud provider load balancers, Ingress, and Keepalived VIP. NodePort exposes services on each node's IP at a static port. Cloud provider load balancers rely on the cloud platform to provide an external IP for services. Ingress is for HTTP load balancing but does not fully support external networking. Keepalived VIP uses a virtual IP address, IP to service mapping, and daemonset to provide high availability services on bare metal clusters without a cloud provider.
2. Me
鄭偉聖, Sam Zheng
CS student in NCTU
Intern in National Center for High-performance
Computing (NCHC)
Intern in Industrial Technology Research Institute
(ITRI)
Familiar with OpenStack, Docker and Kubernetes
kweisamx.cs05g@g2.nctu.edu.tw
2
6. How do we to export the service IP to public
network on bare metel?
In kubernetes we have some existed solution
NodePort
CloudProvider Load Balancer
Ingress
But it is enough?
6
9. Load Balancer
Cloud Provider e.g. AWS , GCP, OpenStack
Load Balancer is created by Cloud Provider, and provide
the external IP to for service
But it is only for Cloud Provider, the bare metal cannot
do this
9
18. Keep-Alived VIP
Real High-Availability
Virtual IP Address
IP to Service
Configmap
DaemonSet
18
Ref :
- https://github.com/kubernetes/contrib/tree/master/keepalived-vip
24. Summary
Just have fun or Test – NodePort
Using Cloud to build your kubernetes – Cloud Load
Balancer
Using DNS to provide your service – Ingress
VIP – keepalived-VIP
24