curl: (7) Не удалось подключиться к порту 1959.168.99.100 31591: соединение отклонено
Это мои стручки
hello-kubernetes-5569fb7d8f-4rkhs 0/1 ImagePullBackOff 0 5d2h
hello-minikube-5857d96c67-44kfg 1/1 Running 1 5d2h
hello-minikube2 1/1 Running 0 3m24s
hello-minikube2-74654c8f6f-trrrw 1/1 Running 0 4m8s
hello-newkubernetes 0/1 ImagePullBackOff 0 5d1h
Если я попробую
curl $(minikube service hello-minikube2 --url)
curl: (7) Failed to connect to 192.168.99.100 port 31591: Connection refused
Давайте проверим VBox
inet 192.168.99.1/24 brd 192.168.99.255 scope global vboxnet0
valid_lft forever preferred_lft forever
inet6 fe80::800:27ff:fe00:0/64 scope link
valid_lft forever preferred_lft forever
Почему мое соединение отказано?
kubectl get svc -o wide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
hello-kubernetes NodePort 10.98.65.138 <none> 8080:30062/TCP 5d2h run=hello-kubernetes
hello-minikube NodePort 10.105.166.56 <none> 8080:30153/TCP 5d3h run=hello-minikube
hello-minikube2 NodePort 10.96.94.39 <none> 8080:31591/TCP 42m run=hello-minikube2
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 5d4h <none>
tomcat-deployment NodePort 10.96.205.228 <none> 8080:30613/TCP 2m13s app=tomcat
kubectl get ep -o wide
NAME ENDPOINTS AGE
hello-kubernetes 5d14h
hello-minikube 172.17.0.7:8080 5d14h
hello-minikube2 172.17.0.4:8080,172.17.0.5:8080 12h
kubernetes 192.168.99.100:8443 5d16h
tomcat-deployment 172.17.0.6:8080 11h
Я хочу показать конечную точку сервиса
minikube service tomcat-deployment --url
http://192.168.99.100:30613
Почему этот URL-адрес отличается от широкого вывода?
2 ответа
По-видимому, вы пытаетесь получить доступ к своему сервису за пределами кластера, поэтому вам необходимо предоставить IP-адрес вашего сервиса для внешнего подключения.
Бежать kubectl edit svc hello-minikube2
и изменить
type: NodePort
в
type: LoadBalancer
Или же
kubectl expose deployment hello-minikube2 --type=LoadBalancer --port=8080
В облачных провайдерах, которые поддерживают балансировщики нагрузки, для доступа к Сервису будет предоставлен внешний IP-адрес. В Minikube тип LoadBalancer делает службу доступной с помощью команды службы minikube.
Запустите следующую команду:
minikube service hello-minikube2
Кажется , что вы пытаетесь получить доступ к модулю, и это должно быть сделано через службу kubernetes, а не напрямую к модулю. Вы также можете показать: kubectl get svc -o wide
?
если сервис действительно существует, попробуйте использовать kubectl get ep -o wide
чтобы проверить, что сервис действительно обнаружен