Настройка кластера openwhisk и распределение нагрузки

Я могу запустить openwhisk на моей локальной машине разработчика. Мне нравится распространять это на производственную среду. Есть ли концепция кластера openwhisk? Я не могу найти хорошую документацию по этому вопросу. Как достигается автоматическая балансировка нагрузки и т. Д.

2 ответа

Openwhisk будет использовать ansible для развертывания openwhisk, который я использовал для своей распределенной установки.

  1. Сначала убедитесь, что SSH PassWrod меньше подключения ко всем серверам
  2. git clone https://github.com/apache/incubator-openwhisk.git
  3. Добавьте значения remote_user и private_key_file в раздел настроек по умолчанию

    файл ansible.cfg. Значение remote_user устанавливает пользователя ssh по умолчанию. Файл private_key_file требуется при использовании закрытого ключа, которого нет в папке ~/.ssh по умолчанию [defaults] remote_user = ubuntu private_key_file=/path/to/file.pem

  4. Перейдите в tools / ubuntu-setup и запустите all.sh, чтобы установить все необходимые программы.

  5. Теперь измените файлы инвентаризации (хосты) для вашего первого узла. это может стать вашей начальной загрузкой VM

  6. Проверьте, можете ли вы пинговать хосты: ansible все -i сред / распределенные / хосты -m ping

  7. если ping в порядке, запустите следующую запятую, чтобы сгенерировать файлы конфигурации: ansible-playbook -i сред / распределенный / хост setup.yml

  8. Для установки необходимых компонентов: ansible-playbook -i сред / распределенный prereq_build.yml

  9. Развертывание реестра: ansible-playbook -i сред / распределенный registry.yml

  10. Перейдите на главную страницу openwhisk и выполните следующую команду для сборки Openwhisk ./gradlew distDocker -PdockerHost=:4243 -PdockerRegistry=:5000

  11. После успешной сборки выполните следующие команды из папки ansible

    1. ansible-playbook -i среды / распределенные / хосты couchdb.yml ansible-playbook -i среды / распределенные / хосты initdb.yml ansible-playbook -i среды / распределенные / hosts wipe.yml ansible-playbook -i окружения / распределенные / хосты openwhisk.yml ansible-playbook -i сред / распределенный / хосты postdeploy.yml
  12. Теперь отредактируйте файл хоста для других хостов и повторите шаги 7-8 и 12

это создаст настройки во всех узлах. После этого вы можете использовать балансировщик узла для балансировки нагрузки. для синхронизации между экземплярами БД я использую couchdb непрерывной репликации

OpenWhisk разворачивается с помощью ansible и, таким образом, может быть легко распределена между несколькими виртуальными машинами.

Проверьте README по распределенным развертываниям для получения дополнительной информации и рекомендаций.

Другие вопросы по тегам