
나는 하나의 머신을 사용하여 14.04에서 OpenStack을 설정하려고 노력해 왔습니다. MAAS를 설정하고 JUJU를 두 대의 머신으로 부트스트랩했습니다. 한 머신은 MAAS에, 다른 노드는 OpenStack을 설정하려고 합니다. 할 수 있다는 것을 읽었지만 기본적으로 이 내용을 읽은 후에 문제가 발생합니다.https://help.ubuntu.com/community/UbuntuCloudInfrastructure그리고 인터넷을 뒤져보니 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이 사용자를 127.0.0.1로 설정하여 연결할 수 없다는 것입니다.
어떤 아이디어가 있나요?
다른 것들:
- 이는 6개 정도의 인스턴스가 있는 직장의 프라이빗 클라우드에 사용될 수 있기를 바랍니다.
- 나는 devstack을 사용하고 싶지 않습니다. 모두가 프로덕션용이 아니라고 계속 말하고 있기 때문입니다.
답변1
컨테이너화 없이 플래그를 사용하는 것은 --to
정말 나쁜 생각입니다. 우리는 이것을 "Hulk Smashing"에 비유했습니다. 기본적으로 모두가 머신을 소유할 것으로 예상되는 수많은 서비스를 서로 겹쳐서 배치하고 있습니다.
그렇다면 격리를 달성하면서도 모든 것을 하나의 시스템에 유지하려면 어떻게 해야 할까요? 컨테이너화!
플래그 --to
에는 치명적인 충돌 가능성 없이 공동 위치를 지정할 수 있는 기교가 있습니다. 나열된 시스템의 컨테이너에 서비스를 배치하는 와 --to
같은 구문을 지원합니다 . OpenStack 배포의 거의 모든 기능은 Ceph 및 nova-compute를 제외하고 LXC(또는 KVM) 컨테이너에 안전하게 배치될 수 있습니다. Nova-compute는 자체적으로 VM을 프로비저닝하고(LXC 내부의 KVM은 이상함) Ceph는 디스크를 소유해야 하기 때문입니다. Ceph 없이 OpenStack 배포를 수행하면 문제가 되지 않으며 KVM을 중첩하여 KVM(또는 LXC)을 생성하기 위한 KVM의 nova-compute가 작동하도록 할 수 있습니다.--to lxc:0
--to kvm:0
이 시점에서는 성능이 중요하며 이 설정으로는 실제로 많은 것을 얻을 수 없습니다. 그러나 프로세스를 시험하기에는 충분해야 합니다.