Change:
you need start and then to solve same problem in mac
This issue is currently awaiting triage. SIG Docs takes a lead on issue triage for this website, but any Kubernetes member can accept issues by applying the label. The label can be by org members by writing in a comment. <detailsInstructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details
/triage needs-information Hi. Is this about a particular web page?
sorry, this is about following tutorial Create an Ingress step 4
/retitle Ingress tutorial does not mention commands needed for Mac /remove-triage needs-information
/kind bug /language en
I can confirm that this is a valid issue on MacOS and the page needs to be updated. I think we should move this to /triage accepted. I cannot test this on Windows at the moment, but suggests that the behaviour on Windows will be the same as MacOS. The network is limited if using the Docker driver on Darwin, Windows, or WSL, and the Node IP is not reachable directly.
/assign

Discussion:
This tutorial assumes that you are using `minikube` to run a local Kubernetes cluster. Visit [Install tools](/docs/tasks/tools/#minikube) to learn how to install `minikube`. <ins> {{< note >}} This tutorial uses a container that requires the AMD64 architecture. If you are using minikube on a computer with a different CPU architecture, you could try using minikube with a driver that can emulate AMD64. For example, the Docker Desktop driver can do this. {{< /note >}} </ins> {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} If you are using an older Kubernetes version, switch to the documentation for that version.

```none deployment.apps/web created ``` <ins> Verify that the Deployment is in a Ready state: ```shell kubectl get deployment web ``` The output should be similar to: ```none NAME   READY   UP-TO-DATE   AVAILABLE   AGE web    1/1     1            1           53s ``` </ins> 1. Expose the Deployment:

web       NodePort   10.104.133.249   <none>        8080:31637/TCP   12m ``` <del> 1. Visit the Service via NodePort: </del> <ins> 1. Visit the Service via NodePort, using the [`minikube service`](https://minikube.sigs.k8s.io/docs/handbook/accessing/#using-minikube-service-with-tunnel) command. Follow the instructions for your platform: {{< tabs name="minikube_service" >}} {{% tab name="Linux" %}} </ins> ```shell minikube service web --url ``` The output is similar to: ```none http://172.17.0.15:31637 ``` <ins> Invoke the URL obtained in the output of the previous step: </ins> ```shell curl http://172.17.0.15:31637 ``` <ins> {{% /tab %}} {{% tab name="MacOS" %}} ```shell # The command must be run in a separate terminal. minikube service web --url ``` The output is similar to: ```none http://127.0.0.1:62445 ! Because you are using a Docker driver on darwin, the terminal needs to be open to run it. ``` From a different terminal, invoke the URL obtained in the output of the previous step: ```shell curl http://127.0.0.1:62445 ``` {{% /tab %}} {{< /tabs >}} <br> </ins> The output is similar to: ```none

``` <del> 1. Verify that the Ingress controller is directing traffic: </del> <ins> 1. Verify that the Ingress controller is directing traffic, by following the instructions for your platform: {{< note >}} The network is limited if using the Docker driver on MacOS (Darwin) and the Node IP is not reachable directly. To get ingress to work you’ll need to open a new terminal and run `minikube tunnel`. `sudo` permission is required for it, so provide the password when prompted. {{< /note >}} {{< tabs name="ingress" >}} {{% tab name="Linux" %}} </ins> ```shell curl --resolve "hello-world.info:80:$( minikube ip )" -i http://hello-world.info ``` <ins> {{% /tab %}} {{% tab name="MacOS" %}} ```shell minikube tunnel ``` The output is similar to: ```none Tunnel successfully started NOTE: Please do not close this terminal as this process must stay alive for the tunnel to be accessible ... The service/ingress example-ingress requires privileged ports to be exposed: [80 443] sudo permission will be asked for it. Starting tunnel for service example-ingress. ``` From within a new terminal, invoke the following command: ```shell curl --resolve "hello-world.info:80:127.0.0.1" -i http://hello-world.info ``` {{% /tab %}} {{< /tabs >}} <br> </ins> You should see: ```none

Hostname: web-55b8c6998d-8k564 ``` <del> You can also visit `hello-world.info` from your browser. </del> <ins> 1. Optionally, you can also visit `hello-world.info` from your browser. </ins> <del> * **Optionally** Look up the external IP address as reported by minikube: ```shell minikube ip ``` Add line similar to the following one to the bottom of the `/etc/hosts` file on </del> <ins> Add a line to the bottom of the `/etc/hosts` file on </ins> your computer (you will need administrator access): <del> ```none 172.17.0.15 hello-world.info ``` {{< note >}} Change the IP address to match the output from `minikube ip`. {{< /note >}} </del> <ins> {{< tabs name="hosts" >}} {{% tab name="Linux" %}} Look up the external IP address as reported by minikube ```none minikube ip ``` <br> ```none 172.17.0.15 hello-world.info ``` {{< note >}} Change the IP address to match the output from `minikube ip`. {{< /note >}} {{% /tab %}} {{% tab name="MacOS" %}} ```none 127.0.0.1 hello-world.info ``` {{% /tab %}} {{< /tabs >}} <br> </ins> After you make this change, your web browser sends requests for `hello-world.info` URLs to Minikube.

```none deployment.apps/web2 created ``` <ins> Verify that the Deployment is in a Ready state: ```shell kubectl get deployment web2 ``` The output should be similar to: ```none NAME   READY   UP-TO-DATE   AVAILABLE   AGE web2   1/1     1            1           16s ``` </ins> 1. Expose the second Deployment:

1. Access the 1st version of the Hello World app. <ins> {{< tabs name="ingress2-v1" >}} {{% tab name="Linux" %}} </ins> ```shell curl --resolve "hello-world.info:80:$( minikube ip )" -i http://hello-world.info ``` <ins> {{% /tab %}} {{% tab name="MacOS" %}} ```shell minikube tunnel ``` The output is similar to: ```none Tunnel successfully started NOTE: Please do not close this terminal as this process must stay alive for the tunnel to be accessible ... The service/ingress example-ingress requires privileged ports to be exposed: [80 443] sudo permission will be asked for it. Starting tunnel for service example-ingress. ``` From within a new terminal, invoke the following command: ```shell curl --resolve "hello-world.info:80:127.0.0.1" -i http://hello-world.info ``` {{% /tab %}} {{< /tabs >}} <br> </ins> The output is similar to:

1. Access the 2nd version of the Hello World app. <ins> {{< tabs name="ingress2-v2" >}} {{% tab name="Linux" %}} </ins> ```shell curl --resolve "hello-world.info:80:$( minikube ip )" -i http://hello-world.info/v2 ``` <ins> {{% /tab %}} {{% tab name="MacOS" %}} ```shell minikube tunnel ``` The output is similar to: ```none Tunnel successfully started NOTE: Please do not close this terminal as this process must stay alive for the tunnel to be accessible ... The service/ingress example-ingress requires privileged ports to be exposed: [80 443] sudo permission will be asked for it. Starting tunnel for service example-ingress. ``` From within a new terminal, invoke the following command: ```shell curl --resolve "hello-world.info:80:127.0.0.1" -i http://hello-world.info/v2 ``` {{% /tab %}} {{< /tabs >}} </ins> The output is similar to: