在我的gubeube集羣中,我使用nginx入口控制器而不是谷歌負載平衡器,通過使用帶有NodePort的「nginx-ingress」而不是類型LoadBalance,如下所示:gce nginix入口類型節點端口和端口:80連接拒絕
helm install --name my-lb stable/nginx-ingress --set controller.service.type=NodePort
由於部署爲 「conroller.service.type = NodePort」 nginx的控制器,該nodePorts被打開/分配(kubect得到SVC),也得到了外部IP 104.196.xxx.xxx。 此時,nginx-ingress-controller正在kube-cluster中運行,並在控制檯「網絡/負載平衡」中確認沒有創建雲負載平衡器。
kubectl get svc
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
my-lb-nginx-ingress-controller 10.39.249.242 <nodes> 80:31181/TCP,443:31462/TCP 15h
my-lb-nginx-ingress-default-backend 10.39.246.94 <none> 80/TCP 15h
在此之後,創建在控制檯新的防火牆規則 「聯網/防火牆」,讓節點端口 「TCP:31181; TCP:31462」。 現在使用瀏覽器/捲曲達到「http://104.196.xxx.xxx:31181」或「https://104.196.xxx.xxx:31462」從ngnix控制器得到響應..很好。
但是,通過端口80的端口訪問不起作用。當我做 「http://104.196.xxx.xxx:80」 捲曲,找回連接被拒絕如下:
* connect to 104.196.xxx.xxx port 80 failed: Connection refused
注意, 防火牆規則有 「默認允許-HTTP」 爲 「TCP:80」 ngnix-入口版本= nginx-進入-0.8.5 KUBE-服務器版本=專業: 「1」,次 「7」,GitVersion: 「v1.7.5」
helm ls
NAME REVISION UPDATED STATUS CHART NAMESPACE
my-lb 1 Fri Sep 22 23:05:30 2017 DEPLOYED nginx-ingress-0.8.5 default
kubectl version
Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"08e099554f3c31f6e6f07b448ab3ed78d0520507", GitTreeState:"clean", BuildDate:"2017-01-12T04:57:25Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"7", GitVersion:"v1.7.5", GitCommit:"17d7182a7ccbb167074be7a87f0a68bd00d58d97", GitTreeState:"clean", BuildDate:"2017-08-31T08:56:23Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}
任何想法,爲什麼 「https://104.196.xxx.xxx:80」 得到「80端口:連接拒絕「,而」https://104.196.xxx.xxx:31462「工作正常?
Thx。