Я знаю, что команда обновления стека openstack существует, но это больше для обновления ресурсов в текущем стеке, чем для добавления дополнительных экземпляров, верно?Или обновление стека - единственный способ увеличить масштаб?
Масштабирование вашего стека зависит от того, как выглядит ваш шаблон и как вы выставляете количество экземпляров через параметр стека и какой тип ресурса вы используете.Ниже приведен пример того, как вы можете сделать это с OS :: Heat :: ResourceGroup, но если вы используете ресурс ASG или Senlin в стеке, метод может отличаться (например, вы можете просто нажать API-интерфейс Senlin, чтобыscale)
parameters:
node_count:
type: number
default: 2
description: number of nodes
resources:
my_group:
type::OS::Heat::ResourceGroup
properties:
count: {get_param: node_count}
resource_def:
type: OS::Nova::Server
properties:
name: my-instance-%index%
flavor: my-flavor
image: my-image
networks:
--network: my-network
Создание стека с этими ресурсами и параметрами позволит вам сделать что-то вроде:
openstack stack update --existing my-stack--parameter node_count=3
- существующий будет использовать существующий шаблон (с возможностью обновления без необходимостидля повторного предоставления шаблона) --parameter предназначается для одного из открытых параметров стека, в данном случае, node_count
При этом будут использоваться свойства группы ресурсов, для которой обновляется параметр, для создания новогоузел, идентичный другим узлам, созданным ResourceGroup
Надеюсь, это поможет!
edit: добавлен правильный тип (OS :: Nova :: Server) в resource_def