How configure Kubernetes Cluster Bare-Metal to access on local websites

Cluster information:

Kubernetes version: 1.21.3-pmk.35
Bare-Metal (1 Master + 2 Nodes)
Installation method: Automatic Deploy with Plateform9
Host OS: Ubuntu 20.04 focal
CNI and version: Calico v3.18.1
CRI and version: Docker version 19.03.11, build 42e35e61f3


I have deployed a Kubernetes Cluster with Plateform9 on my local ESXi 6.7.0. I have 3 VMs (1 Master and 2 Nodes on Ubuntu 20.04). I configured my cluster with a CephFS cluster with Rook (Ceph Docs).

I have set up my physical firewall with a VitualIP with a static public IP to point on my Kubernetes Master.

Now, I try to configure a website test (with this topic : [Chapter 1] How to easily deploy your web on Kubernetes. | by Taverat Chaiman | Medium) but nothing work when I’m try to acces with local IP.

After searching for a long time on many discuss, I tried to configured an Ingres like Ingress-Nginx but no effect. On Plateform9, I can deploy MetalLB but I don’t know if that’s the way to go.

Cluster configuration :

Can some one help me on this ?

Thank’s !

Pods for the Wordpress and MySQL run on the worker nodes. If your firewall only allows access to the Master node, this may prevent accessing the application exposed by Ingress.

Another thing to take into account is that the author of the tutorial you mention has deployed the cluster in a cloud provider; when he creates the service for Wordpress as type “Loadbalancer”, the cloud provider creates a public load balancer and assigns a public IP to it (check the image under the command kubectl -n wordpress-tutorial get service -w;) the public IP is pending while the cloud provider creates the ALB. This won’t happen in your local infrastructure (that’s why you need and ingress or using a service of type NodePort Service | Kubernetes)

Hope it helps.

Hi Xavi !

Thanks for your help, I find a solution with an HA-Proxy on my Fortigate and Istio service for the routing HTTPS requests to my pods !

Thanks again !

1 Like