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

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

在kubernetes 集群运行 odoo

   

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

   

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

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

   

deployment资源

在kubernetes 集群运行 odoo

   

Service资源

在kubernetes 集群运行 odoo

   

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

在kubernetes 集群运行 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 地址

相关文章: