【发布时间】:2018-09-21 13:03:29
【问题描述】:
我正在尝试部署 nginx - ingress
kubectl run nginx --image=nginx
kubectl get pod
NAME READY STATUS RESTARTS AGE
nginx-65899c769f-wf7dl 1/1 Running 0 9m
kubectl expose deploy nginx --port 80
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
nginx ClusterIP 10.254.75.184 <none> 80/TCP 9m
vi ingress.yml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: nginx
spec:
rules:
- host: kub-mst.coral.io
http:
paths:
- backend:
serviceName: nginx
servicePort: 80
kubectl get ing
NAME HOSTS ADDRESS PORTS AGE
nginx kub-mst 80 9m
vi /etc/hosts
xx.xx.xx.xx kub-mst.coral.io
curl kub-mst.coral.io
curl: (7) Failed connect to kub-mst; Connection refused
我有 Kubernetes 集群并正在尝试
curl http://xx.xx.xx.xx
返回
curl: (7) Failed connect to xx.xx.xx.xx:80; Connection refused
然后我执行
kubectl cluster-info
返回
Kubernetes master is running at http://localhost:8080
KubeDNS is running at http://localhost:8080/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
xx.xx.xx.xx 是公网 IP。
如何排除故障以检测问题出在哪里
【问题讨论】:
-
我猜问题是 xx.xx.xx.xx 不去本地主机。试试
curl -v http://127.0.0.1:8080 -
curl -v 127.0.0.1:8080 : 返回结果,xx.xx.xx.xx为公网IP
-
我首先要检查的是您是否可以接收来自您的全球 IP 的连接。让 1 个终端运行
nc -l -p 9999,然后在另一个终端运行echo test | nc xx.xx.xx.xx 9999- 您的 netcat 服务器收到连接了吗? (如果是,它将打印test。) -
是服务器接收“测试”
-
太棒了,那么问题几乎可以肯定是 Kubernets 配置为仅接受/侦听 localhost 连接。重新配置它以接受来自任何地方的连接,你应该很高兴:)
标签: ssl curl kubernetes kubernetes-ingress