在kubernetes 集群运行 odoo
kubernetes 可以自动运行多个 odoo服务的副本,因此非常适用用来做高可用的odoo部署,在本例中,odoo服务运行在 kubernetes 集群中,而 postgreSQL 数据库则另外运行在集群宿主主机网络的另外一台主机上安装kubernetes 集群,方法有很多种,截止到目前,最容易的是用kubeadm安装,安装的步骤参考http://www.cnblogs.com/odoouse/p/6877766.html
本文主要说明如何部署 odoo?
要部署一个服务到k8s 集群中,必须要有描述这个服务的一整套 YAML 文档,odoo的YAML已经做好,存放在https://github.com/jeffery9/kubernetes-odoo/blob/master/odoo.yaml
在此文件中,定义了几个变量,因此需要根据你的使用场景进行变量值得修改
https://images2015.cnblogs.com/blog/791856/201705/791856-20170520205848603-506882671.png
例如,将 localhost 改为你的 postgreSQL 服务的地址, odoo为数据库用户名, 1234是数据库密码,也做相应的修改
修改之后,执行 kubectl apply -f odoo.yaml 应用此YAML
应用成功后,将会建立 deployment 和 Service 资源,
deployment资源
https://images2015.cnblogs.com/blog/791856/201705/791856-20170520205849572-121403345.png
Service资源
https://images2015.cnblogs.com/blog/791856/201705/791856-20170520205850416-691700595.png
可以通过服务的 clusterIP 访问到 odoo服务,例如
https://images2015.cnblogs.com/blog/791856/201705/791856-20170520205851307-352037646.png
如果你是的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 地址
页:
[1]