在我的gce库贝集群中,我使用nginx入口控制器而不是谷歌负载html" target="_blank">均衡器,通过使用“nginx-ingress”与NodePort而不是输入LoadBalance,如下所示:
helm install --name my-lb stable/nginx-ingress --set controller.service.type=NodePort
由于nginx控制器部署为“conroll.service.type=NodePort”,节点被打开/分配(kubect get svc),也获得了外部ip 104.196。xxx。xxx。此时,nginx ingress controller正在kube集群中运行,并在控制台“网络/负载平衡”中确认没有创建云负载平衡器。
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
在此之后,在控制台“networking/firewall”中创建了一个新的防火墙规则,以允许节点端口“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
注意,防火墙规则有"默认允许超文本传输协议"为"tcp: 80"ngnix-ingress version=nginx-ingres-0.8.5库贝-server-version=主要:"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”工作正常吗?
谢谢。
当使用NodePort
时,正如NodePort留档中非常清楚地描述的那样,它将Service
端口号转换为高30,000范围内的随机( /-)端口,Service
将在节点本身使用。
考虑一下,如果Service
alpha
想要监听端口80,并且Service
beta
想要监听端口80,如果没有翻译机制alpha
和beta
不能同时存在于集群中。这两个端口(31181代表80,31462代表443)被分配给Service
——只要声明了Service
,集群中的任何其他端口都不会监听这些端口。
我连接到MySQL(5.1.6)数据库从Linux默认的3306端口和一切都很好: 现在,我进入/etc/mysql/my。cnf并将默认端口更改为3307(包括[client]和[mysqld])重新启动MySQL,调整hibernate连接url: 然后重启jboss。这一次我再也无法连接: 知道mysql拒绝连接的原因吗?没有更改其他配置。。但MySQL是默认端口。也没有防火墙启动和运行。
我想在伪分布式模式下设置一个hadoop-cluster来进行开发。由于端口9000上的连接被拒绝,尝试启动hadoop集群失败。 /etc/hosts: 但是在开始调用之后,日志文件中有以下几行: hadoop-pschmidt-datanode-zaphod.log 我还可以寻找什么来启动和运行我的hdfs。不要犹豫,要求进一步的日志和配置文件。 提前谢了。
这是港口范围。我不确定这是否重要(我不确定DNAT和SNAT是否使用端口),但范围似乎远高于16K。 还有什么可能限制通过iptables/netfilter转发的并发连接的数量吗?
我们正在GKE(谷歌kubernetes引擎)上运行一个API服务器。我们使用Google云endpoint和API密钥处理授权。我们将每个API密钥上的某些IP地址列为白名单。为了做到这一点,我们必须将负载平衡器转换为入口控制器,以公开我们的API服务器。IP白名单不适用于loadbalancer服务。现在,我们有一个类似以下内容的入口设置:
并打开端口localhost:80,看到docker入门页面。但是,我必须运行我的客户机的项目,它的端口也映射到localhost:80。因此,我无法在localhost:80上运行我客户的项目。除此之外,任何我随机打开docker然后切换到localhost:80的实例,它都会重定向到docker的入门教程。我想重置这个localhost:80端口,这样当我运行客户端的项目时,我可以将它们映射到