内部Azure AKS API服务器未返回证书

时间:2020-03-06 13:50:11

标签: azure azure-aks

在新创建的AKS集群上,我们无法使用Pod设置k8s资源(调用https://10.0.0.1:443/api/v1/namespaces/kube-system/..。)。与TLS握手超时时出错。通过使用OpenSSL登录到Pod,我可以看到服务器没有返回证书。

openssl s_client -connect 10.0.0.1:443
CONNECTED(00000003)

write:errno=0
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 293 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)

我们已尝试升级等,但无济于事。关于如何重新创建这些证书的任何提示?

2 个答案:

答案 0 :(得分:0)

我们现在已经解决了这个问题。对于其他面临此问题的人,实际上是防火墙问题。我们的网络中有一个Azure防火墙,并且我们有一个允许http和https出口流量的ApplicationNetworkRule。由于SNI失败,应用程序规则阻止了所有k8s证书。将FW规则更改为端口80/443上的网络规则解决了该问题

答案 1 :(得分:0)

以防万一有人遇到这个问题,我遇到了这个问题并且收到了以下错误:

<块引用>

来自 10.240.0.4:49379 的 HTTPS 请求。行动:拒绝。原因:缺少 SNI TLS 扩展。

为了解决这个问题,我必须添加一个网络规则,其中包含我的 API 服务器 (*.hcp.REGION.azmk8s.io) 的 IP 地址,并将端口 443 设置为允许。