【问题标题】:Waiting for HTTP-01 challenge propagation: failed to perform self check GET request - ISTIO等待 HTTP-01 质询传播:未能执行自检 GET 请求 - ISTIO
【发布时间】:2021-01-13 09:01:00
【问题描述】:

等了大约 1 分钟后我得到了这个错误

Waiting for HTTP-01 challenge propagation: failed to perform self check GET request 'http://jenkins.xyz.in/.well-known/acme-challenge/AoV9UtBq1rwPLDXWjrq85G5Peg_Z6rLKSZyYL_Vfe4I': Get "http://jenkins.xyz.in/.well-known/acme-challenge/AoV9UtBq1rwPLDXWjrq85G5Peg_Z6rLKSZyYL_Vfe4I": dial tcp 103.66.96.201:80: connect: connection timed out

我可以从任何地方(互联网)在浏览器中访问此网址

curl -v http://jenkins.xyz.in/.well-known/acme-challenge/AoV9UtBq1rwPLDXWjrq85G5Peg_Z6rLKSZyYL_Vfe4I
*   Trying 103.66.96.201:80...
* Connected to jenkins.xyz.in (103.66.96.201) port 80 (#0)
> GET /.well-known/acme-challenge/AoV9UtBq1rwPLDXWjrq85G5Peg_Z6rLKSZyYL_Vfe4I HTTP/1.1
> Host: jenkins.xyz.in
> User-Agent: curl/7.71.1
> Accept: */*
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< cache-control: no-cache, no-store, must-revalidate
< date: Wed, 13 Jan 2021 08:54:23 GMT
< content-length: 87
< content-type: text/plain; charset=utf-8
< x-envoy-upstream-service-time: 1
< server: istio-envoy
< 
* Connection #0 to host jenkins.xyz.in left intact
AoV9UtBq1rwPLDXWjrq85G5Peg_Z6rLKSZyYL_VfT4I.EZvkP5Fpi6EYc_-tWTQgvaQxrrbSr2MEJkuXJaywatk

我的设置是:

1. Istio Ingress load balancer running on node (192.168.14.118)
2. I am pointing my external IP and domain jenkins.xyz.in 
to 192.168.14.118 through an another load balancer

request -> public IP -> load balancer -> 192.168.14.118 

从外面看它工作正常。 但是当我从节点本身/集群内的 pod 尝试这个时,我得到:

$ curl -v http://jenkins.xyz.in/
* About to connect() to jenkins.xyz.in port 80 (#0)
*   Trying 103.66.96.201...

我在某处读过发夹

由于我的 kubernetes 节点 IP 和 istio 入口负载均衡器外部 IP 相同,因此请求可能正在循环。

额外:我在裸机上运行 k8s

有什么办法可以解决这个问题吗?

【问题讨论】:

  • 嗨@Arfat,你的证书管理器版本是什么?我认为有关于该错误的相关问题github。正如您提到的发夹,我建议尝试使用此工具hairpin proxy 作为解决方法。它是由名为 compumike 的用户在上面的 github issue 中发布的。
  • 感谢您的建议。我找到了解决方法。似乎存在已知问题。

标签: kubernetes istio cert-manager


【解决方案1】:

我找到了解决办法。

由于我的节点无法访问 URL(循环), 我向集群添加了另一个节点,并将 Cert-Manager pod 关联性设置为新节点。

Cert-Manager 能够从新节点访问 URL。虽然不是一个好的解决方案,但对我有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-06
    • 2021-10-31
    • 2020-04-10
    • 2017-06-30
    • 2020-07-01
    • 1970-01-01
    • 2011-03-16
    • 2017-07-30
    相关资源
    最近更新 更多