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 に REJECT エントリがいくつかあることがわかりました。
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
理解したい:
- これらの REJECT ルールが表示されるのはなぜですか?
- サービスを介して多数のポートを公開することはできませんか?
- サービスを介して公開できるポートの数に制限はありますか?