我已经在Node.js容器前设置了一个简单的Kubernetes负载平衡器服务,它应该暴露端口80,但我无法从中获得响应。 如何调试负载平衡器如何处理端口80的请求?有我可以检查的日志吗?如何调试为什么Kubernetes负载平衡器服务未在端口上响应?
我已经设置了负载平衡器服务和复制控制器,如Kubernetes guestbook example中所述。
服务/负载均衡器的规格与此类似:
{
"kind":"Service",
"apiVersion":"v1",
"metadata":{
"name":"guestbook",
"labels":{
"app":"guestbook"
}
},
"spec":{
"ports": [
{
"port":3000,
"targetPort":"http-server"
}
],
"selector":{
"app":"guestbook"
},
"type": "LoadBalancer"
}
}
至于我的托管平台,我使用AWS和OS是CoreOSα(976.0.0)。 Kubectl的版本是1.1.2。
Kubernetes信息
$ ~/.local/bin/kubectl --kubeconfig=/etc/kubernetes/kube.conf get pods
NAME READY STATUS RESTARTS AGE
busybox-sleep 1/1 Running 0 18m
web-s0s5w 1/1 Running 0 12h
$ ~/.local/bin/kubectl --kubeconfig=/etc/kubernetes/kube.conf get services
NAME CLUSTER_IP EXTERNAL_IP PORT(S) SELECTOR AGE
kubernetes 10.3.0.1 <none> 443/TCP <none> 1d
web 10.3.0.171
我正在使用AWS进行托管。 – aknuds1
我正在尝试调试指南,但我无法在pod中运行命令,因为kubectl会挂起。 F.ex. '〜/ .local/bin/kubectl --kubeconfig = /etc/kubernetes/kube.conf exec -ti busybox-sleep sh'只是挂起,直到最终超时为'error:意外的响应状态码500(内部服务器错误) '。 – aknuds1
我想出了为什么我无法使busybox工作,我必须重写Kubelet的主机名才能在AWS上工作。 – aknuds1