Настройка кластера openwhisk и распределение нагрузки
Я могу запустить openwhisk на моей локальной машине разработчика. Мне нравится распространять это на производственную среду. Есть ли концепция кластера openwhisk? Я не могу найти хорошую документацию по этому вопросу. Как достигается автоматическая балансировка нагрузки и т. Д.
2 ответа
Openwhisk будет использовать ansible для развертывания openwhisk, который я использовал для своей распределенной установки.
- Сначала убедитесь, что SSH PassWrod меньше подключения ко всем серверам
- git clone https://github.com/apache/incubator-openwhisk.git
Добавьте значения 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
Перейдите в tools / ubuntu-setup и запустите all.sh, чтобы установить все необходимые программы.
Теперь измените файлы инвентаризации (хосты) для вашего первого узла. это может стать вашей начальной загрузкой VM
Проверьте, можете ли вы пинговать хосты: ansible все -i сред / распределенные / хосты -m ping
если ping в порядке, запустите следующую запятую, чтобы сгенерировать файлы конфигурации: ansible-playbook -i сред / распределенный / хост setup.yml
Для установки необходимых компонентов: ansible-playbook -i сред / распределенный prereq_build.yml
Развертывание реестра: ansible-playbook -i сред / распределенный registry.yml
Перейдите на главную страницу openwhisk и выполните следующую команду для сборки Openwhisk ./gradlew distDocker -PdockerHost=:4243 -PdockerRegistry=:5000
После успешной сборки выполните следующие команды из папки ansible
- 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
Теперь отредактируйте файл хоста для других хостов и повторите шаги 7-8 и 12
это создаст настройки во всех узлах. После этого вы можете использовать балансировщик узла для балансировки нагрузки. для синхронизации между экземплярами БД я использую couchdb непрерывной репликации
OpenWhisk разворачивается с помощью ansible и, таким образом, может быть легко распределена между несколькими виртуальными машинами.
Проверьте README по распределенным развертываниям для получения дополнительной информации и рекомендаций.