因此,在遇到 docker-desktop 问题后,我才开始研究 minikube。我正在关注https://kubernetes.io/docs/tasks/access-application-cluster/ingress-minikube/,但我遇到了问题。
我完全按照教程的说明做了:
- 在 minikube 中启用入口插件(顺便说一下,这是否也适用于通过 helm 安装的自部署入口控制器?)
- 部署了一个应用
- 创建了对应的 Ingress 配置
我验证了所有可用,并最终得到以下输出kubectl get ingress
:
NAME CLASS HOSTS ADDRESS PORTS AGE
example-ingress <none> hello-world.info 192.168.49.2 80 87m
但是,当尝试访问 hello-world.info 时(要么在我的主机文件中设置,要么直接访问 192.168.49.2,仅用于连接测试),除了请求超时之外,我什么也得不到。我的入口控制器的日志也没有提到任何失败的连接尝试。
手动启动隧道时,连接工作正常minikube service ingress-nginx-controller-admission --namespace=kube-system
。
这是输出minikube profile list
:
|----------|-----------|---------|--------------|------|---------|---------|-------|
| Profile | VM Driver | Runtime | IP | Port | Version | Status | Nodes |
|----------|-----------|---------|--------------|------|---------|---------|-------|
| minikube | docker | docker | 192.168.49.2 | 8443 | v1.20.2 | Running | 1 |
|----------|-----------|---------|--------------|------|---------|---------|-------|
我正在通过 docker-desktop 运行时在 Windows 机器上运行此示例。
我哪里错了?我的最终目标是通过我的入口启用类似 docker-desktop 的体验。我不想手动启用/禁用隧道来访问我的集群。
minikube addons enable ingress
启用Nginx Ingress的 minikube 实现After the addon is enabled, please run "minikube tunnel" and your ingress resources would be available at "127.0.0.1"
. 因此,在这种情况下,在 Windows 上使用 Minikube 时,您实际上应该使用minikube tunnel。请记住,Minikube 主要用于测试和学习目的,因此它的某些功能可能并不理想。经过两周的尝试,我无法让 Ingress 在 minikube(Windows 10、Docker 桌面)上运行。
minikube tunnel
让我可以访问,127.0.0.1/80
但我永远无法接触到入口路线。你试过善良吗?尽管设置 Ingress 非常复杂,kind
但它确实有效。我写了一篇文章开始使用 Kind。我错过了启用入口的情况。下面的命令可以用来启用入口
在启用入口插件之前
启用入口插件后