【问题标题】:How to map 'localhost' to minikube with Ingress如何使用 Ingress 将“localhost”映射到 minikube
【发布时间】:2020-03-28 13:07:39
【问题描述】:

我在 MacOS 10.15 上使用 minikube 1.4.0 版和 Kubernetes 1.16.0 版。

我正在开发一些依赖于外部服务的授权/身份验证代码。在对服务的 API 调用中,我需要提供重定向 URL。 URL 必须是 1) 来自外部服务的合法 FQDN(当我投入生产时)或 2) localhost/<whatever>。但是,我的代码没有使用 localhost - 它使用自定义的 minikube.local 映射到 Minikube 的 IP(而不是 127.0.0.1)。

注意 - 我可以使用 NodePort 类型 Kubernetes 服务和 port-forward 它们,例如,这将允许我在 localhost:8000 访问我的 Django 服务器。但是,我选择使用 Ingress(因此我的 Minikube 环境与我的生产环境最相似),这会带走这种能力。

有没有办法使用 localhost 代替我的 Minikube 的 IP 及其关联的 DNS 名称?

【问题讨论】:

标签: localhost kubernetes-ingress minikube


【解决方案1】:

如果你想测试你的后端是否正常工作,你可以这样做:

curl -H 'Host: localhost' -v $(minikube ip)

要让它在浏览器中工作,你需要一个 ssh 隧道,这个对我有用:

ssh -i $(minikube ssh-key) docker@$(minikube ip) -L 8008:localhost:80

这会将 minikube 集群中的 80 端口映射到 localhost 中的 8008。如果要映射端口 80,则需要添加 sudo,至少对于某些 linux 发行版而言。

【讨论】:

    猜你喜欢
    • 2021-04-20
    • 1970-01-01
    • 1970-01-01
    • 2018-03-04
    • 2013-05-01
    • 2011-03-17
    • 2019-08-24
    • 2022-01-14
    • 1970-01-01
    相关资源
    最近更新 更多