Kubernetes 将命令动态注入到部署中

Kubernetes 将命令动态注入到部署中,kubernetes,autoscaling,nsq,Kubernetes,Autoscaling,Nsq,当您有一个状态集或部署时,您通常有办法提供命令,这些命令将在创建pod时馈送到pod的容器中 当部署自动缩放(例如HPA)时,是否有可能向命令数组中注入更多参数,或者在其缩小时删除某些参数 例如,这里如果您希望允许nsqlookupd向外扩展(另一个部署),那么您必须将其新的pod IP注册到nsqAdmin pod的命令列表中 command: - /nsqd - -data-path - /data - -lookupd-tcp-address - nsqloo

当您有一个状态集或部署时,您通常有办法提供命令,这些命令将在创建pod时馈送到pod的容器中

当部署自动缩放(例如HPA)时,是否有可能向命令数组中注入更多参数,或者在其缩小时删除某些参数

例如,这里如果您希望允许nsqlookupd向外扩展(另一个部署),那么您必须将其新的pod IP注册到nsqAdmin pod的命令列表中

command:
   - /nsqd
   - -data-path
   - /data
   - -lookupd-tcp-address
   - nsqlookupd-0.nsqlookupd:4160
   - -lookupd-tcp-address
   - nsqlookupd-1.nsqlookupd:4160
   - -lookupd-tcp-address
   - nsqlookupd-2.nsqlookupd:4160
    ...
这种情况是假设的,因为您需要达到非常多的队列,我想需要扩展到3个nsqlookupd-s(NSQ的队列发现svc)之外,所以对于中等负载,固定数量的looupd-s就可以了。即便如此,我想知道在极端情况下,这种类型的自动缩放是如何在Kubernetes中处理的


特别是对于事件驱动系统,必须有用例,这是我能想到的最接近的用例。

这个问题更多的是关于如何在Kubernetes中扩展某些服务的选项。我认为最好的模式是有一个。本质上,这将管理nsqd应用程序的生命周期。有几种操作员工具可用于创建nsqd操作员:

扩展运算符的一个很好的示例是Kubernetes的Kafka运算符

您还可以在中找到其他著名的运算符