Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
kubernetes服务中可以公开的端口数量有限制吗?_Kubernetes_Kubectl_Iptables_Kubernetes Networking - Fatal编程技术网

kubernetes服务中可以公开的端口数量有限制吗?

kubernetes服务中可以公开的端口数量有限制吗?,kubernetes,kubectl,iptables,kubernetes-networking,Kubernetes,Kubectl,Iptables,Kubernetes Networking,我正在尝试公开200多个端口上的服务。以下是示例服务yaml: apiVersion: v1 kind: Service metadata: name: multiport-server-large-port spec: type: NodePort selector: app: multiport-server-large-port ports: - port: 49152 name: tcp-49152 - port: 49153 name:

我正在尝试公开200多个端口上的服务。以下是示例服务yaml:

apiVersion: v1
kind: Service
metadata:
  name: multiport-server-large-port
spec:
  type: NodePort
  selector:
    app: multiport-server-large-port
  ports:
  - port: 49152
    name: tcp-49152
  - port: 49153
    name: tcp-49153
  - port: 49154
    name: tcp-49154
  - port: 49155
    name: tcp-49155
  - port: 49156
    name: tcp-49156
  - port: 49157
    name: tcp-49157
  - port: 49158
.
.
.
.... 200 more such ports
应用此yaml后,将创建服务,但无法访问
ip:port
组合,并出现连接拒绝错误。在进一步的调查中,我发现在我公开的端口的iptables筛选器链KUBE-EXTERNAL-SERVICES中有一些拒绝条目

IPTABLES拒绝规则

Chain KUBE-EXTERNAL-SERVICES (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 REJECT     tcp  --  any    any     anywhere             anywhere             /* default/multiport-server-large-port:tcp-49316 has no endpoints */ ADDRTYPE match dst-type LOCAL tcp dpt:31
184 reject-with icmp-port-unreachable
    0     0 REJECT     tcp  --  any    any     anywhere             anywhere             /* default/multiport-server-large-port:tcp-49325 has no endpoints */ ADDRTYPE match dst-type LOCAL tcp dpt:31
225 reject-with icmp-port-unreachable
    0     0 REJECT     tcp  --  any    any     anywhere             anywhere             /* default/multiport-server-large-port:tcp-49383 has no endpoints */ ADDRTYPE match dst-type LOCAL tcp dpt:32
620 reject-with icmp-port-unreachable
    0     0 REJECT     tcp  --  any    any     anywhere             anywhere             /* default/multiport-server-large-port:tcp-49385 has no endpoints */ ADDRTYPE match dst-type LOCAL tcp dpt:30
107 reject-with icmp-port-unreachable
    0     0 REJECT     tcp  --  any    any     anywhere             anywhere             /* default/multiport-server-large-port:tcp-49359 has no endpoints */ ADDRTYPE match dst-type LOCAL tcp dpt:31
我想了解:

  • 为什么会出现这些拒绝规则
  • 这不可能通过服务公开大量端口吗
  • 通过服务可以公开的端口数量有限制吗

  • 当特定服务具有0个端点时,将插入拒绝。Service.spec中的选择器一定是错误的,或者您没有运行任何POD

    当特定服务有0个端点时,将插入拒绝。Service.spec中的选择器一定是错误的,或者您没有运行任何播客

    谢谢Vikas。我查找了端点,发现kubernetes 1.17+版本启用了端点切片,一个切片中限制了100个端点。奇怪的是,只创建了一个端点切片,因此出现了错误。是否有任何方法可以告诉/配置kubernetes在创建具有100多个端口的服务时创建多个片?谢谢Vikas。我查找了端点,发现kubernetes 1.17+版本启用了端点切片,一个切片中限制了100个端点。奇怪的是,只创建了一个端点切片,因此出现了错误。是否有任何方法可以告诉/配置kubernetes在创建具有100个以上端口的服务时创建1个以上的片?