How I setup HaProxy Ingress ingress controller on kubernetes cluster - Part 8

preview_player
Показать описание

In this lab session, we are going to perform the following tasks -

2. Install HAproxy load balancer on your Kubernetes cluster

3. Setup Ingress Controller after installing HAproxy.

5. Expose the deployment as service using ClusterIP

6. Create Ingress resource for the exposed service

7. Finally, test the microservice.

Disclaimer/Policy: All the content/instructions are solely mine. The source is completely open-source.

Video is copyrighted and it can not be re-distributed on any platform.
Рекомендации по теме
Комментарии
Автор

Mastaru, I became a FAN for you like my boss Chiranjeevi. I subscribed your channel. Your explanation and voice is simply superb. You are blessed with Goddess Saraswathi . I will implement this.

One more doubt I have. Does HA Proxy automatically handles multiple client requests automatically or we need to configure?

Also, we all be thankful if you can explain round robin, IP hash and least connection with some example in INGRESS

God bless you, thank you

raghuvardhansaripalli
Автор

Your tutorial guide videos are very good. It gives sorted and clear picture/ understanding. I follow every video when I have doubts. Helm chart videos helps me a lot. Thanks @rahul

diptiranjan
Автор

In /etc/hosts, we should have domain name mapped with HA-Proxy IP, so that domain intended traffic hit LB first[HA-proxy] and then route to backend server[kube nodes in cluster].

swgqabeta
Автор

Hello Rahul, Could you please help me to know that how internalService(demo-service) i.e ClusterIP communicating with outside of Kubernetes Cluster with Node-IP:8080
I haven't seen any service(NodePort) linked with Ingress-Controller POD

xsqhilj
Автор

Nice, but providing IP details of cluster setup actually helps a lot, here its dealing with LoadBalancer, Ingress controller and resource, NodePort etc. Without showing IP details, its like doing video for self rather than to make others understand.
For people who is getting pending state, please check the configmap under the ingress controller namespaces. That worked for me.

pronabbairagi
Автор

nice basic video however, you missed some important points here: 1- Annotations in Ingress resource (rewrite-target) which is important and 2 - would have been great if you can explain the how it works with DNS level kind of production based system

anil
Автор

Thanks, sir, nice video. Does Istio is working same like HA proxy?

vedaanish
Автор

Great Tutorial! One problem I ran into is that I'm trying to run this on an ARM64 system but the default method you showed runs it on an AMD64 image. How do we set the controller up to use an ARM64 docker image?

kingofmaglos
Автор

Great video Sir, and i need to now how can i set many site not based with the fqdn of the machine

tarekbellili
Автор

hi Rahul, congratulations. It was a great video, but pods didn't work for me, I had a minikube cluster, does this tutorial work for minikube?

CesarMartinez-elow
Автор

Hi I created k8s cluster with aws cloud providers I deployed nginx ingress now I'm getting loadbalncer I don't have any domain name how to setup ingress

venkateshponnaganti
Автор

Thanks Rahul for good explaination on how to use haproxy for kubernetes cluster.
Im a beginner but i have one query, As per kubernetes official document they use load balancer for kube API server for multi master setup and I'm bit confuse does external traffic routes from master server to worker nodes or directly from the haproxy to the worker nodes using ingress controller as you shown. please help me out
Thank

syedsaifulla
Автор

Good stuff, but local development machine is not the thing it would have been greater to see a multinode cluster and most importantly what will happen if an angular front end is there how to bind that with spring boot haproxy and ingress, that's the actual stuff

Aradhyafouzde
Автор

I dont' see this is default-server-secret.yaml ? Please update

nhuongtrieuhoang
Автор

Hello ! thank you for this video,
I was wondering what is the point of having a load balance that send traffic to only one server ?
What should I do if I wanted more than one server to balance to (exemple, if I have multiple masters, should I install the ingress controller on all the masters nodes and then references them to the loadbalancer Backend ?)?

royals
Автор

hi Rahul, i set up 3 worker nodes, which pods are deployed in each nodes with HPA without ingress and expose through NodePort. In HAProxy, i added 3 worker node ip address and port to do load balancing. When one worker node downs, it will case other 2 worker to goes down momentarily and goes up, and client going through HAProxy machine will get 503 error. Is there anyway to prevent this from happening?

chaiyy
Автор

hi thanks for the guide, why didn't you installed ha proxy ingress controller in k8 ?

hungryengineering
Автор

Hey good vid. If I understand you right, the ha-proxy is on the master node. How about if the HAproxy is on different node/server? External to the Kubernetes cluster can you help me with that?

emilpeychev
Автор

Great Video. I appreciate the diagram made by hand. Thanks for that, really helpful.

I was wondering if you could help me understand something didn't work in my case. I'm playing with raspis to learn devops tools.

So this is my scenario: Under the same network I installed haproxy on two devices with keepalived and on a separate device a kubernetes cluster with k3d, so the cluster run as docker container. I was trying to understand if in my case the ipaddress in the backend, showed in the diagram (which is used to setup haproxy cfg file), so this IP should be the externalip address assigned from the kubernetes cluster to nginx service. I'm referring to the IP address displayed when run the command get svc kube-system. I see that k3d nginx service is up and it has an ip an External-Ip addresses. Should I try to change the configuration map of the lb layer 2 to assign an IP address reachable from other devices?

cerruz
Автор

Wonderful - In your ingress resources file - under paths: do we need to add - path: /hello ?

Fayaz-Rehman