Openstack HEAT: добавление новых экземпляров вручную в существующий стек через шаблон HEAT - PullRequest
0 голосов
/ 25 октября 2018

Я создал стек с помощью шаблона HEAT с помощью команды openstack stack create.Если я хочу добавить новые экземпляры в этот же стек через шаблон HEAT вручную, какой идеальный подход?

Я знаю, что команда openstack stack update существует, но это больше для обновления ресурсов в текущем стеке, а нечем добавление лишних экземпляров, верно?Или обновление стека - единственный способ увеличить масштаб?

1 Ответ

0 голосов
/ 25 октября 2018

Я знаю, что команда обновления стека 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

...