I checked the previous question about this topic:
Minikube with ingress example not working
But it doesn't solve my issue, since the solution doesn't work with newer version of Kubernetes. Version 1.22
- The command I used:
# Setup minikube
minikube start
minikube addons enable ingress
# Create the Deployment and Service
kubectl create deployment web --image=gcr.io/google-samples/hello-app:1.0;
kubectl expose deployment web --type=NodePort --port=8080;
# Create the Ingress
kubectl apply -f https://k8s.io/examples/service/networking/example-ingress.yaml;
Since I am using Minikube in local, I have to add the ip from minikube ip in the etc/hosts, which I did.
CHECKING:
❯ kubectl get all
NAME READY STATUS RESTARTS AGE
pod/web-79d88c97d6-zfhgh 1/1 Running 0 24m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 25m
service/web NodePort 10.97.138.67 <none> 8080:31460/TCP 24m
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/web 1/1 1 1 24m
NAME DESIRED CURRENT READY AGE
replicaset.apps/web-79d88c97d6 1 1 1 24m
We have the Pod, the Service, the Deployment and the RepicaSet.✅
❯ kubectl get ingress
NAME CLASS HOSTS ADDRESS PORTS AGE
example-ingress nginx hello-world.info 192.168.49.2 80 24m
The Ingress is okay, the address is indeed the Minikube IP. ✅
❯ cat /etc/hosts
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateHosts = false
127.0.0.1 localhost
127.0.1.1 DESKTOP-B4JM855.localdomain DESKTOP-B4JM855
192.168.1.12 host.docker.internal
192.168.1.12 gateway.docker.internal
127.0.0.1 kubernetes.docker.internal
192.168.49.2 hello-world.info # <----------- What we care about ✅
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Everything should be correct but, I can't curl to the Ingress with:
I do not know if using WSL is causing this issue, but it shouldn't be.
CodePudding user response:
Well, I tried coupal of things but none of them worked out well with
docker driver
As of now, there is a going issue with ingress doesn't work on docker desktop kubernetes
So you can't run ingress on local as of now with docker Driver. But you can try out this on AWS/IBM/GCP cloud and clear your task link.
Alternatively, you can try with
hyperkitdriverlike
minikube start --vm=true --driver=hyperkit
- Or Public Cloud (I tried and it worked) will be good choice to get it done fast.
