我可以在我的本地开发机器上运行 openwhisk。我喜欢将其扩展到生产环境。有没有 openwhisk 集群的概念?我无法找到关于此的好的文档。如何实现自动负载平衡等。
2 回答
Openwhisk 将使用 ansible 部署 openwhisk 我按照以下方式进行分布式设置
- 首先确保与所有服务器的 ssh 密码连接较少
- git 克隆https://github.com/apache/incubator-openwhisk.git
将 remote_user 和 private_key_file 值添加到的 defaults 部分
ansible.cfg 文件。remote_user 值设置默认的 ssh 用户。使用不在默认 ~/.ssh 文件夹中的私钥时需要 private_key_file [defaults] remote_user = ubuntu private_key_file=/path/to/file.pem
转到 tools/ubuntu-setup 运行 all.sh 以安装所有必需的软件。
现在修改您的第一个节点的清单文件(主机)。这可以成为您的引导程序 VM
检查您是否能够 ping 主机:ansible all -i environment/distributed/hosts -m ping
如果 ping 正常,运行下一个命令来生成配置文件: ansible-playbook -i environment/distributed/hosts setup.yml
安装先决条件:ansible-playbook -i environment/distributed prereq_build.yml
部署注册表:ansible-playbook -i environment/distributed registry.yml
转到 openwhisk 主页运行以下命令来构建 Openwhisk ./gradlew distDocker -PdockerHost=:4243 -PdockerRegistry=:5000
构建成功后,从ansible文件夹运行以下命令
- ansible-playbook -i 环境/分布式/主机 couchdb.yml ansible-playbook -i 环境/分布式/主机 initdb.yml ansible-playbook -i 环境/分布式/主机 wipe.yml ansible-playbook -i 环境/分布式/主机 openwhisk .yml ansible-playbook -i 环境/分布式/主机 postdeploy.yml
现在编辑其他主机的主机文件并重复步骤 7-8 和 12
这将在所有节点中创建设置。完成后,您可以使用节点平衡器对其进行负载平衡。使用 couchdb 连续复制在 db 实例之间进行同步
OpenWhisk 是通过 ansible 部署的,因此可以以直接的方式分布在多个 VM 中。
查看有关分布式部署的 README 以获取更多信息和指导。