
我一直在嘗試使用一台機器在 14.04 上設定 OpenStack。我已經成功地使用兩台機器進行了 MAAS 設定和 JUJU 引導,其中一台機器連接到 MAAS,另一個節點是我嘗試在其上設定 openstack 的節點。我已經讀過它可以完成,但我遇到了問題,基本上是在讀完這篇文章之後https://help.ubuntu.com/community/UbuntuCloudInfrastruct在互聯網上挖掘,我發現 nova-volume 已被棄用,所以我一直在嘗試使用 cinder 代替。
我一直在使用這些命令:
juju deploy mysql --to 0
juju deploy rabbitmq-server --to 0
juju deploy --config=openstack.cfg keystone --to 0
juju deploy --config=openstack.cfg nova-cloud-controller --to 0
juju deploy --config=openstack.cfg cinder --to 0
juju deploy nova-compute --to 0
juju deploy glance --to 0
juju deploy openstack-dashboard --to 0
juju add-relation keystone mysql
juju add-relation nova-cloud-controller mysql
juju add-relation nova-cloud-controller rabbitmq-server
juju add-relation nova-cloud-controller glance
juju add-relation nova-cloud-controller keystone
juju add-relation cinder nova-cloud-controller
juju add-relation cinder mysql
juju add-relation cinder rabbitmq-server
juju add-relation cinder keystone
juju add-relation nova-compute mysql
juju add-relation nova-compute:amqp rabbitmq-server:amqp
juju add-relation nova-compute glance
juju add-relation nova-compute nova-cloud-controller
juju add-relation glance mysql
juju add-relation glance keystone
juju add-relation openstack-dashboard keystone
juju expose openstack-dashboard
juju expose nova-cloud-controller
正如你所看到的,我曾經--to 0
說過我希望它們都在同一個節點上。我可以開始一切,但在連結所有關係後,我收到此錯誤:
hook failed: "shared-db-relation-changed"
我還在其中一個日誌中顯示一條錯誤訊息,指出該用戶和該 IP 的存取被拒絕。
我相信問題是 juju 告訴其他服務 IP 是 192.168.2.101 但隨後 mysql 告訴其他服務 IP 是 192.168.2.101 但隨後 mysql 將用戶設定為 127.0.0.1,這意味著他們無法連線。
有任何想法嗎?
其他事情:
- 這有望用於工作中的私有雲,有六個左右的實例。
- 我不想使用 devstack,因為每個人都說它不適合生產。
答案1
在沒有容器化的情況下使用--to
標誌是一個非常糟糕的主意。我們把這比喻為「綠巨人粉碎」。基本上,您將大量的服務分層放置,所有這些服務都希望擁有這台機器。
那麼,如何才能實現隔離並仍將所有內容保留在一台電腦上?貨櫃化!
該--to
標誌有一個巧妙的設計,可以讓您在不存在災難性碰撞的情況下進行共置。支援類似於and 的--to
語法,它將把服務放置在列出的機器上的容器中。 OpenStack 部署中的幾乎所有魅力都可以安全地放置在 LXC(或 KVM)容器中,除了 Ceph 和 nova-compute 之外。 Nova-compute 是因為它本身會配置 VM(LXC 內的 KVM 很奇怪),而 Ceph 是因為它需要擁有磁碟。您可以在沒有 Ceph 的情況下進行 OpenStack 部署,因此這不是問題,並且您可以嵌套 KVM,因此在 KVM 上進行 nova-compute 來建立 KVM(或 LXC)應該可以工作。--to lxc:0
--to kvm:0
此時,一切都與性能有關,透過此設定您不會真正獲得很多性能。然而,這應該足以試點這個過程。