首页 > 代码库 > 在kubernetes 集群运行 odoo

在kubernetes 集群运行 odoo

   

kubernetes 可以自动运行多个 odoo服务的副本,因此 非常适用用来做高可用的odoo部署, 在本例中,odoo服务运行在 kubernetes 集群中, postgreSQL 数据库 另外运行在 集群宿主主机网络的另外一台主机上

   

安装kubernetes 集群,方法有很多种,截止到目前,最容易的是 kubeadm安装, 安装的 步骤参考 http://www.cnblogs.com/odoouse/p/6877766.html

   

本文主要说明 如何部署 odoo?

   

要部署一个服务到k8s 集群中,必须要有描述这个服务的一整套 YAML 文档,odooYAML已经做好,存放在 https://github.com/jeffery9/kubernetes-odoo/blob/master/odoo.yaml

在此文件中,定义了几个变量, 因此需要根据你的使用场景进行变量值得修改

技术分享

   

例如, localhost 改为你的 postgreSQL 服务的地址, odoo为数据库用户名, 1234是数据库密码,也做相应的修改

   

修改之后, 执行 kubectl apply -f odoo.yaml 应用此YAML

应用成功后, 将会建立 deployment Service 资源,

   

deployment资源

技术分享

   

Service资源

技术分享

   

可以通过 服务的 clusterIP 访问到 odoo服务, 例如

技术分享

   

如果你是的pod network插件是 calico, 你必须为 pod network开启 NAT 功能,下载 calicoctl 二进制文件, 然后执行命令

cat << EOF | ETCD_ENDPOINTS=http://10.96.232.136:6666 ./calicoctl apply -f -

apiVersion: v1

kind: ipPool

metadata:

cidr: 192.168.0.0/16

spec:

nat-outgoing: true

EOF

   

注意,将 http://10.96.232.136:6666 改为符合你场景的etcd 地址

在kubernetes 集群运行 odoo