所以我刚开始研究 minikube,因为我遇到了 docker-desktop 的一些问题。我正在关注https://kubernetes.io/docs/tasks/access-application-cluster/ingress-minikube/,但我遇到了一个问题。
我完全按照教程解释的那样做了:
- 在 minikube 中启用 ingress 插件(顺便问一下,这是否也适用于通过 helm 安装的自部署 ingress 控制器?)
- 部署了应用程序
- 创建相应的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(无论是在我的 hosts 文件中设置,还是直接访问 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的体验。我不想手动启用/禁用隧道来访问我的集群。
答案1
(顺便问一下,这是否也适用于通过 helm 安装的自部署入口控制器?)
minikube addons enable ingress
启用 minikube 实现Nginx 入口
我的最终目标是通过我的入口实现类似 docker-desktop 的体验。我不想手动启用/禁用隧道来访问我的集群。
- 不幸的是,它按预期工作。启用入口插件后,具体说明:
After the addon is enabled, please run "minikube tunnel" and your ingress resources would be available at "127.0.0.1"
。因此,在这种情况下,在 Windows 上使用 Minikube 时,您实际上应该使用minikube 隧道。请记住,Minikube 主要用于测试和学习目的,因此它的某些功能可能并不理想。
答案2
答案3
我忘记启用入口了。以下命令可用于启用入口
minikube addons enable ingress
启用入口插件之前
kubectl get ingress
姓名 | 班级 | 主办方 | 地址 | 端口 | 年龄 |
---|---|---|---|---|---|
应用程序 | app.com | 80 | 23 分钟 |
启用入口插件后
kubectl get ingress
姓名 | 班级 | 主办方 | 地址 | 端口 | 年龄 |
---|---|---|---|---|---|
应用程序 | app.com | 172.20.114.70 | 80 | 23 分钟 |