Как получить доступ к приложению, развернутому в кластере minikube k8s - PullRequest
1 голос
/ 10 марта 2020

Я установил миникуб, развернул приложение hello-minikube и открыл порт. В основном я следовал учебному пособию по началу работы на https://kubernetes.io/docs/setup/learning-environment/minikube/#quickstart.

Проблема начинается, когда я хочу открыть URL-адрес, на котором запущено развернутое приложение, полученное при запуске minikube service hello-minikube --url.

Я получаю http://172.17.0.7:31198, и этот URI не может быть открыт, так как этот IP не существует локально. Изменение его на http://localhost:31198 также не работает (так что добавление записи в файл hosts не будет работать, я думаю).

Приложение работает, я могу запросить кластер и получить информацию через http://127.0.0.1:50501/api/v1/namespaces/default/services/hello-minikube :

{
  "kind": "Service",
  "apiVersion": "v1",
  "metadata": {
    "name": "hello-minikube",
    "namespace": "default",
    "selfLink": "/api/v1/namespaces/default/services/hello-minikube",
    "uid": "56845ce6-bbba-45e5-a1b6-d094949438cf",
    "resourceVersion": "1578",
    "creationTimestamp": "2020-03-10T10:33:41Z",
    "labels": {
      "app": "hello-minikube"
    }
  },
  "spec": {
    "ports": [
      {
        "protocol": "TCP",
        "port": 8080,
        "targetPort": 8080,
        "nodePort": 31198
      }
    ],
    "selector": {
      "app": "hello-minikube"
    },
    "clusterIP": "10.108.152.177",
    "type": "NodePort",
    "sessionAffinity": "None",
    "externalTrafficPolicy": "Cluster"
  },
  "status": {
    "loadBalancer": {

    }
  }
}
λ kubectl get services
NAME             TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
hello-minikube   NodePort    10.108.152.177   <none>        8080:31198/TCP   4h34m
kubernetes       ClusterIP   10.96.0.1        <none>        443/TCP          4h42m

Как получить доступ к приложению, развернутому в кластере minikube k8s на локальном хосте? Также minikube работает как контейнер docker на машине со следующими портами 32770: 2376 32769: 8443 32771: 22 открыто.

1 Ответ

1 голос
/ 10 марта 2020

Нашел решение в другом потоке - переадресация портов

kubectl port-forward svc/hello-minikube 31191:8080

Первый порт - это порт, который вы будете использовать на своем компьютере (в браузере), а 8080 - это определенный порт. при запуске сервиса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...