Odoo SAAS与容器应用

Oliver苑志国

《Odoo SAAS&容器应用》

从项目到产品,从虚拟化到容器,

容器和虚拟化 区别在 于 容器运行在抽象层, 虚拟机的性能则会打折扣,

现在 固态硬盘的 发展,对硬盘io的提升非常大,也为 容器的 发展铺平了道路。

社区现在 已经有了 比较完整的Odoo SAAS 的代码的分享: https://github.com/it-projects-llc/odoo-saas-tools .

Docker官网: https://www.docker.com , Odoo的Docker Image: https://hub.docker.com/_/odoo/

Odoo SAAS 功能 已经实现了:

-- Oauth集中验证: 客户登录、服务器管理、模板管理、管理参数同步

Odoo SAAS 的 Portal/门户 是 独立的服务器

-- 服务器管理:一个Portal下面多个服务器,每个服务器有自己的模板(比如crm,进销存)和客户库

由于 客户从接触到决策 整个 时间会非常长,所以 想在 模板的基础来做这件事,并连接相应的服务商。

-- 模板管理(方案):根据不同的应用场景可以设计不同的系统实现,以供客户选择。

-- 客户库管理:客户库限定(数据库尺寸、用户数、有效期等)、账单等。

Odoo SAAS架构:

Server1,2,3可以与Portal/门户 共用一套代码,也可以独立部署

Qauth验证设置很关键

DNS记录设置需要注意通配符的使用

容器技术&Docker

容器可以实现 快速部署、

docker中安装数据库

$docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo --name db postgres:9.4

docker中安装odoo

$docker run -p 8069:8069 --name odoo --link db:db -t odoo

也方便管理:

Kubernetes&容器管理

Kubernetes的优点:

- 以应用程序为中心的管理:将抽象级别从在虚拟硬件上运行操作系统上升到了在使用特定逻辑资源的操作系统上运行应用程序。这在提供了Paas的简洁性的同时拥有LssS的灵活性,并且相对于运行12-factor应用程序有过之而无不及。

- 开发和运维的关注点分离:提供构建和部署的分离:这样也就将应用从基础设施中解耦。

- 敏捷的应用创建和部署:相对使用虚拟机镜像,容器镜像的创建更加轻巧高效。

- 持续开发,持续集成以及持续部署:提供频繁可靠地构建和部署容器镜像的能力,同时可以快速简单地回滚(因为镜像是固化的)

- 松耦合,分布式,弹性,自由的微服务:应用被分割为若干独立的小型程序,可以被动态地部署和管理 -- 而不是一个运行在单机上的超级臃肿的大程序。

- 开发,测试,生产环境保持高度一致:无论是在笔记本电脑还是服务器上都采用相同的方式运行。

- 兼容不同的云平台或操作系统:可在Ubuntu,RHEL,on-prem或Google Container Engine,覆盖了开发,测试和生产的各种不同环境。

- 资源分离:带来可预测的程序性能。

- 资源利用:高性能,大容量。

Kubernetes(舵手) Master 是一个集群的概念

会智能调用 Pod

Kubernetes &容器管理

- 基本概念和术语

Cluster、Master、Node、Pod、Label、Selecter、Replication、Controller、Service、Volume、Secret、Namespace、Annotation

保障网站的 负载 ,可用 ,

比如 :Odoo 后端是 数据库 服务器 ,前端 是 应用层 服务器 ,

目前 Kubernetes 是1.4版本,部署比之前要快捷, 1:拖下代码 2 : join 用于 加入 pod。

还可以通过 dashboard (仪表盘)来 监控 多个 pod的状况。

service1 用于 portal 门户 | server2 用于 SAAS Server

Pod1 - 应用层 容器1 nginx + odoo

Pod2 - 数据库 Postgresql

Cluster - Odoo SAAS 基础架构2

service1 应用层 | server2 数据库

Pod - 应用层 容器1 nginx + odoo Pod - 数据库 Postgresql

目前的挑战:

负载平衡过程中的 - session保持

数据存储的问题 - Postgresql 数据存储 : 不应该 随着Pod的调度 丢失

志国:随着it技术的发展,许多门槛会越来越低。日后社区在不久的将来会有相应的服务出现。

志国的演讲引发了Tony的兴趣,现场他们对Docker的若干个问题进行了比较深入的讨论。

Q&A 后记:

docker hub上odoo image有个说明文档,可以设置配置文件以及定制模块的位置

字体可以登录容器安装 然后commit

jeffery :将来的运维 都是这样玩的,成千上万的 容器运行着 服务,就像 神经网络,任何一个容器 挂了,不影响 服务的可用性.

苑志国
17 十一月, 2019
分享这篇文章
存档
登录 留下评论
Odoo电商应用分享