当前位置: 首页 > 知识库问答 >
问题:

无法在Docker-Driver Windows 10上访问Minikube(v1.18.1)入口

晁璞
2023-03-14

我的问题和这个一模一样。但再次复制这个问题供大家参考:

我面临的问题是我无法使用其IP访问浏览器上的迷你库贝入口。我已经在Windows 10家庭上安装了迷你库贝,并使用泊坞驱动程序启动迷你库贝(迷你库贝启动 --驱动程序=泊坞窗)。

系统信息:

视窗 10 主页

迷你库贝(v1.18.1)

Docker(minikube的驱动程序)- Docker引擎版本20.10.5

我在关注这个官方文档——https://kubernetes . io/docs/tasks/access-application-cluster/ingress-minikube/

首先,我通过在Minikube上运行以下命令来创建部署。

< code > kubectl create deployment we B- image = gcr . io/Google-samples/hello-app:1.0

部署已创建,可以在下图中看到:在此输入映像描述

接下来,我公开了我在上面创建的部署。为此,我运行了下面的命令。

kubectl公开部署web--类型=节点端口--端口=8080

这创建了一个服务,可以通过运行以下命令来查看:

minikube服务网站

在下面的截图中,你可以看到我可以在浏览器上查看它。

kubectl应用-fhttps://k8s.io/examples/service/networking/example-ingress.yaml

入口被创建,我可以通过运行以下命令来验证它:

入口ip被列为192.168.49.2。这意味着如果我应该在浏览器中打开它,它就应该打开,但不幸的是没有。它显示无法访问网站。请参阅下面的屏幕截图。

问题出在哪里。请为我提供解决方案?

我还添加了etc\hosts文件上的映射。

< code > 192 . 168 . 49 . 2 hello-world . info

然后我也试着在浏览器上打开hello-world.info,但是没有成功。

在下图中,我ping了hello-world.info,它的IP地址是192.168.49.2。这表明etc\hosts映射是正确的:

我还对minikube ip和hello-world.info进行了卷曲,都获得了超时。见下图:

kubectl描述服务网站提供以下详细信息:

Name:                     web
Namespace:                default
Labels:                   app=web
Annotations:              <none>
Selector:                 app=web
Type:                     NodePort
IP:                       10.100.184.92
Port:                     <unset>  8080/TCP
TargetPort:               8080/TCP
NodePort:                 <unset>  31880/TCP
Endpoints:                172.17.0.4:8080
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

kubectl 描述入口示例 - 入口给出了以下输出:

Name:             example-ingress
Namespace:        default
Address:          192.168.49.2
Default backend:  default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
  Host              Path  Backends
  ----              ----  --------
  hello-world.info
                    /   web:8080   172.17.0.4:8080)
Annotations:        nginx.ingress.kubernetes.io/rewrite-target: /$1
Events:             <none>

通过以下说明(如评论中所示),问题似乎已在那里得到解决:

一旦你设置了入口并做了必要的修改,我想你是在windows的powershell中运行minikube了吧?确保你“启用插件入口”并有一个单独的控制台运行“迷你隧道”。另外,将主机名和ip地址添加到windows的主机表中。然后在powershell中输入“minikue ssh ”,它会给出命令行。然后你可以“curl myapp.com”然后你应该得到预期的回应。

然而,在我的例子中,minikube隧道在给出< code>minikube tunnel命令时没有响应。:

即使通过< code>minikube ssh,我也无法< code > curl hello-world . info 。好心帮忙!

共有2个答案

哈骞仕
2023-03-14

docker驱动程序也有同样的问题。但是hyperv驱动程序一切正常。在您的windows上启用hyperv,启动时使用:minikube start - driver=hyperv或minikube config set driver hyperv和minikube start

狄法
2023-03-14

在Windows上

经过一段相当长的时间后,我得出结论,在Windows10-Home上使用Docker时,入口有一些冲突。如果我们想公开NodePort类型的服务,事情进展顺利,但是入口很麻烦。

此外,我尝试在Windows 10中使用Ubuntu设置WSL 2,但没有成功。

最后,以下内容适用于Windows10主页上的迷你库贝入口:

  • 安装VirtualBox
  • 控制面板中取消选中虚拟机平台和Windows Hypervisor平台选项-
minikube delete
minikube start --driver=virtualbox

如果迷你库贝启动 --驱动程序=虚拟盒不起作用,则使用迷你库贝启动 --驱动程序=虚拟盒 --no-vtx-check

这个过程解决了我的问题,入口在我的Windows 10家庭迷你库贝上运行良好。

在Ubuntu上

最后,Ubuntu上的Docker天生支持Minikube Ingress,没有任何故障。

 类似资料:
  • 我是kubernetes的新手,我尝试使用Kubernete运行小型应用程序。我创建了docker镜像并使用minikube运行它。所以应用程序非常简单,它只打印hello world。 我的dockerfile文件: deployment.yaml 我运行命令: 创建deployment.yaml 输出是: 服务/myhelloworldservice已创建 创建的部署.apps/我的问候世界

  • 我是docker的新手,正在尝试容器化一个简单的Spring Boot应用程序。docker文件如下所示。 谢谢!!

  • 我无法访问内部运行 ASP.NET Core 3.1 应用程序的容器。目标是在端口 5000 上的容器中运行应用程序。当我使用标准VS配置文件在本地运行它时,我导航到 http://localhost:5000/swagger/index.html 以加载swaggerUI。我想使用泊坞窗实现同样的事情。 复制我的问题的步骤: > 添加具有暴露的5000端口和ENV ASPNETCORE_url变

  • 现在我正试图通过和但该网站不可用。

  • 这是minikube dashbaord的输出 我在安全组级别和LinuxVM上启用了端口45493。但是,当我尝试访问Kube仪表板时,运气不好。 但是,当我执行下面的操作时,它工作并生成状态代码为200的index.html文件 在高级别重现的步骤如下: > EC2 Ubuntu的大小t2.large 安装minikube, 执行部署,就像k kubectl get pods -n kuber

  • 问题内容: 我有Jenkins作业的阶段,可以使用docker测试和部署我的nodejs,我在端口3000上运行docker,但是当我尝试浏览我的docker时,它不起作用,并且我的docker没有运行 这是我的Jenkinsfile Dockerfile: 我在ubuntu服务器上通过docker- compose运行Jenkins,是我丢失还是出错了?因为我的目标是使用Jenkins来测试我的