후크 실패: Juju/MAAS와 동일한 시스템에서 OpenStack을 사용할 때 "shared-db-relation-changed"

후크 실패: Juju/MAAS와 동일한 시스템에서 OpenStack을 사용할 때 "shared-db-relation-changed"

나는 하나의 머신을 사용하여 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

이 시점에서는 성능이 중요하며 이 설정으로는 실제로 많은 것을 얻을 수 없습니다. 그러나 프로세스를 시험하기에는 충분해야 합니다.

관련 정보