【发布时间】:2016-07-21 09:09:11
【问题描述】:
我在 azure 环境中运行 kubernetes 集群,我想从 pod 容器内访问 kubernetes 服务 api。但我无法从 pod 内部连接到 https://kubernetes/。
kubectl get services
NAME CLUSTER_IP EXTERNAL_IP PORT(S)
kubernetes 10.16.0.1 <none> 443/TCP
即使尝试
curl -v --cacert /var/run/kubernetes/apiserver.crt https://10.16.0.1:443/api/v1/namespaces/default/pods
结果
- 正在尝试 10.16.0.1...
- 已连接到 10.16.0.1 (10.16.0.1) 端口 443 (#0)
- ALPN,提供 http/1.1
- 密码选择:ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
- 成功设置证书验证位置:
- CAfile:/var/run/kubernetes/apiserver.crt CApath:/etc/ssl/certs
- TLSv1.2 (OUT)、TLS 标头、证书状态 (22):
- TLSv1.2 (OUT)、TLS 握手、客户端问候 (1):
- 连接到 10.16.0.1:443 时出现未知的 SSL 协议错误
- 关闭连接 0 curl:(35) 连接到 10.16.0.1:443 时出现未知 SSL 协议错误
【问题讨论】:
-
运行
curl -k ...是否有效(例如,只是SSL验证失败)? -
已经尝试使用 -k 选项。同样的问题。
-
进一步调试了这个问题。在 pod 内的 gce 环境中,我可以运行
curl -v -k https://kubernetes,但在 azure 环境中,kubernetes 没有解析到相应的 IP 地址。 -
您能否检查一下 Kubernetes 服务是否注册了任何端点(运行
kubectl get endpoints)? -
是的端点已分配,但端口是 6443
标签: azure kubernetes