【问题标题】:Could not resolve host: http://helloworld-go.default.mydomain.com knative无法解析主机:http://helloworld-go.default.mydomain.com knative
【发布时间】:2021-06-03 15:37:14
【问题描述】:

我是 Knative 的新手。我已经安装了用于集群支持的 minikube 和 knative 所需的所有工具。在参考此创建服务时:https://knative.dev/docs/serving/getting-started-knative-app/

我得到以下输出:

  1. 按预期创建服务命令输出):

kn service create helloworld-go --image gcr.io/knative-samples/helloworld-go --env TARGET="Go Sample v1"

在命名空间'default'中创建服务'helloworld-go':

0.047s 配置仍在工作以反映最新的所需规范。 0.407s 路线仍在努力反映最新的所需规范。 0.522s 配置“helloworld-go”正在等待修订准备就绪。 12.683 秒... 12.882s Ingress 尚未协调。 15.143s 准备就绪。

为最新版本“helloworld-go-yvtlp-1”创建的服务“helloworld-go”可在以下 URL 获得: http://helloworld-go.default.mydomain.com

  1. 这是我的服务:

kn service describe helloworld-go

名称:helloworld-go 命名空间:默认 年龄:18 岁 网址:http://helloworld-go.default.mydomain.com

修订: 100% @latest (helloworld-go-yvtlp-1) [1] (18s) 图片:gcr.io/knative-samples/helloworld-go(固定到 5ea96b)

条件: OK 类型 年龄 原因 ++ 准备好 3s ++ 配置就绪 5s ++ RoutesReady 3s

  1. 但是当我尝试卷曲时,它给了我错误:

curl http://helloworld-go.default.mydomain.com -v

  • 无法解析主机:helloworld-go.default.mydomain.com
  • 关闭连接 0 curl:(6)无法解析主机:helloworld-go.default.mydomain.com

有人可以帮忙吗?

【问题讨论】:

    标签: kubernetes minikube kubernetes-pod knative knative-serving


    【解决方案1】:

    我猜您无法控制 mydomain.com 的 DNS。在这种情况下,您需要发出如下命令:

    curl -H "Host: helloworld-go.default.mydomain.com" $INGRESS_IP​

    您可能需要使用 minikube tunnel 在 minikube 上获取入口 IP。

    这在“配置 DNS”的“临时 DNS”部分中有描述:

    https://knative.dev/docs/install/any-kubernetes-cluster/

    【讨论】:

    • 是的,你是对的。我没有控制 mydomain.com,但在此之前,我得到了 example.com 来修复我做了这个更改。试试你的建议:(1) echo $(minikube ip):$(kubectl get svc $INGRESGATEWAY -- namespace istio-system --output 'jsonpath={.spec.ports[?(@.port==80)].nodePort}') 192.168.49.2:32698 (2) curl -H "Host:helloworld-go.default.mydomain.com" @ 987654323@ -v =>curl: (7) 连接192.168.49.2端口32698失败:操作超时
    • 看起来您正在尝试连接到 Istio 网关;您是否已确认可以访问 Istio?
    • 如何验证?
    • 我正在尝试这个东西来验证:istio.io/latest/docs/setup/getting-started/#download
    【解决方案2】:

    在应用了这么多解决方案后,这对我有用:

    如果您收到此错误,则说明您的网关有问题。

    要解决这个问题:尝试从 istio 部署演示应用程序:https://istio.io/latest/docs/tasks/traffic-management/ingress/ingress-control/

    它将解决您的网关问题,您可以使用 knative 成功部署您的应用程序。

    [注意:如果您使用的是 minikube,您可以先尝试https://istio.io/latest/docs/setup/getting-started/#download,这可能对您有用。]

    一切顺利

    【讨论】:

    • 您的 curl 错误与网关无关。这只是意味着 DNS 没有为该主机返回任何 IP 地址。这可能是因为您将请求发送到helloworld-go.default.mydomain.com,并且可能应该发送到helloworld-go.default.svc.mydomain.com。而且该请求实际上不会通过网关。如果您是从集群外部发出此请求,那么您应该会遇到这种情况。我不知道这如何解决您的问题,但如果您想深入了解,您应该将您的配置恢复到失败的程度,然后解决它。
    猜你喜欢
    • 2020-07-12
    • 1970-01-01
    • 2015-02-27
    • 1970-01-01
    • 2011-04-30
    • 2017-03-26
    • 2013-02-06
    • 1970-01-01
    • 2015-02-27
    相关资源
    最近更新 更多