【问题标题】:why is My Ingress Ip same as Minikube Ip. I am not able to access the Minikube Ip in my Broswer为什么我的 Ingress Ip 与 Minikube Ip 相同。我无法在我的 Broswer 中访问 Minikube Ip
【发布时间】:2021-08-03 12:38:09
【问题描述】:

我创建了一个服务作为负载均衡器,并尝试使用 Minikube 隧道访问该服务。它正在工作。

当我尝试为服务创建 Ingress 时,我得到的 IP 与 minikube IP 相同,而不是隧道 IP。

我的入口控制器的类型是 NodePort

NAMESPACE              NAME                                 TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE
default                kubernetes                           ClusterIP   10.96.0.1        <none>        443/TCP                      18h
default                springboot                           NodePort    10.103.228.107   <none>        8090:32389/TCP               16h
ingress-nginx          ingress-nginx-controller             NodePort    10.98.92.81      <none>        80:31106/TCP,443:32307/TCP   17h
ingress-nginx          ingress-nginx-controller-admission   ClusterIP   10.99.224.119    <none>        443/TCP                      17h
kube-system            kube-dns                             ClusterIP   10.96.0.10       <none>        53/UDP,53/TCP,9153/TCP       18h
kubernetes-dashboard   dashboard-metrics-scraper            ClusterIP   10.100.23.18     <none>        8000/TCP                     16h
kubernetes-dashboard   kubernetes-dashboard                 ClusterIP   10.98.172.252    <none>        80/TCP                       16h

我使用以下方法进行隧道传输:

minikube service  ingress-nginx-controller -n ingress-nginx --url
* Starting tunnel for service ingress-nginx-controller.
|---------------|--------------------------|-------------|------------------------|
|   NAMESPACE   |           NAME           | TARGET PORT |          URL           |
|---------------|--------------------------|-------------|------------------------|
| ingress-nginx | ingress-nginx-controller |             | http://127.0.0.1:58628 |
|               |                          |             | http://127.0.0.1:58629 |
|---------------|--------------------------|-------------|------------------------|
http://127.0.0.1:58628
http://127.0.0.1:58629
! Because you are using a Docker driver on windows, the terminal needs to be open to run it.

我的网址是http://127.0.0.1:58628

我现在申请入口

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingresstest
spec:
  rules:
  - host: "ravi.com"
    http:
      paths:
      - pathType: Prefix
        path: /
        backend:
          service:
            name: springboot
            port:
              number: 8090

但是处理的入口暴露在

kubectl get ingress
NAME          CLASS    HOSTS      ADDRESS        PORTS   AGE
ingresstest   <none>   ravi.com   192.168.49.2   80      64m

我需要入口中的隧道 URL

【问题讨论】:

  • 您好@user2924500,请提供更多详细信息:您使用哪个入口?还请在 .yaml 文件中附加您的配置。你有一些错误吗?想要达到什么目标?
  • 我已经编辑了描述
  • 我正在使用 ingress-nginx-controller
  • 当我通过隧道访问我的服务时,我可以访问。但无法通过 Ingress 访问。 (入口地址与 Minikube IP 相同)。我正在使用--driver=docker

标签: kubernetes-ingress kubernetes-pod


【解决方案1】:

很遗憾,您的入口中不能包含隧道 URL。 Ingress 正在按预期工作。

您可以通过命令添加minikube ingressminikube addons enable ingress。启用入口插件后,特别说明:After the addon is enabled, please run "minikube tunnel" and your ingress resources would be available at "127.0.0.1"。这个tunnel 创建了一个到使用 LoadBalancer 类型部署的服务的路由,并将它们的 Ingress 设置为它们的 ClusterIP。您可以找到更多信息here

所以你可以安装 ingress,但不幸的是它不会按照你想要的方式工作。

您还应该知道,Minikube 主要用于测试和学习目的,因此它的某些功能可能并不理想。

【讨论】:

  • mikiube 插件启用入口失败,所以我做到了
  • 我可以通过负载均衡服务127.0.0.1:8090的隧道URL访问。但不是通过入口 URL ravi,com
  • 我的应用服务和入口是这样的
  • 默认 springboot LoadBalancer 10.101.140.68 127.0.0.1 8090:32038/TCP 4m21s ingress-nginx ingress-nginx-controller NodePort 10.96.22.191 80:31005/TCP,443:31302/TCP 38h
猜你喜欢
  • 1970-01-01
  • 2020-11-18
  • 2023-03-09
  • 1970-01-01
  • 2021-11-25
  • 1970-01-01
  • 2020-05-20
  • 2020-10-04
  • 2015-12-13
相关资源
最近更新 更多