標籤:高可用 meta span 檔案 命令 -o 情境 version bsp
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
在此檔案中,定義了幾個變數,因此需要根據你的使用情境進行變數值得修改
例如,將 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