Run the following command:
Helm 3:
helm repo add nginx-stable https://helm.nginx.com/stable
helm repo update
helm install nginx-ingress nginx-stable/nginx-ingress --set controller.service.externalIPs={yourIp} --set controller.service.type=NodePort
by google
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm install project-ingress ingress-nginx/ingress-nginx
metalb
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.3/manifests/namespace.yaml
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.3/manifests/metallb.yaml
# On first install only
kubectl create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)"
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.34.1/deploy/static/provider/baremetal/deploy.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.26.2/deploy/static/provider/baremetal/service-nodeport.yaml
kubectl -n ingress-nginx edit service/ingress-nginx
and add the following lines:
spec:
externalIPs:
- X.X.X.X
- Y.Y.Y.Y