我正在尝试使用kubernetes实现TCP / UDP网关,我想动态打开和关闭许多端口。
详细过程如下:
用于TCP连接的nginx入口配置图如下:
apiVersion: v1
data:
"9091": default/php-apache1:8080
"9092": default/php-apache2:8080
"9093": default/php-apache3:8080
"9094": default/php-apache4:8080
kind: ConfigMap
摘录自Nginx入口部署yaml:
ports:
- containerPort: 9091
hostPort: 9091
name: 9091-tcp
protocol: TCP
- containerPort: 9092
hostPort: 9092
name: 9092-tcp
protocol: TCP
我能够打开特定的TCP / UDP端口,并且一切正常,但是现在我有两个难题:
根据我的观察,当将新端口添加到nginx tcp configmap中时,更改将成功重新加载,并且无需重新启动即可打开端口。问题是,除非您修改端口并将其添加到部署yaml中,否则端口尚未正确路由,从而导致pod重新启动。
我的问题是
是否可以仅添加路由规则,以使nginx pod不必重启?
是否可以将来自负载均衡器的所有端口直接路由到Azure Kubernetes服务下的NGINX入口
关于我的用例的其他建议
答案 0 :(得分:0)
除非我读错了这个问题,(本质上)是:是否可以在不重新启动Pod的情况下编辑部署?
答案是否定的。如果您需要编辑部署-它将重新启动Pod。
但是我看不出问题出在哪里,它们并没有同时全部重启。应该不会有性能下降