web-dev-qa-db-ja.com

MAAS 2.4およびjuju 2.4.1でOpenStackをデプロイする

MAAS 2.4およびjuju 2.4.1環境でOpenStackをインストールしたい。 MAASは現在非常に良好に動作しており、ハードウェアを管理できます。私はjujuとjuju-controller(専用ハードウェアはMAASから提供されています)をインストールしましたが、これまでのところ素晴らしいです!

ここで、jujuチャーム「openstack-base」を取得し、それをハードウェア(3xストレージノード、2xコントローラーノード、2x Novaノード)に適合させました。ここでは、「bundle.yaml」:

machines:
  '0':
    series: bionic
    constraints: "tags=virtual-machine"
  '1':
    series: bionic
    constraints: "tags=virtual-machine"
  '2':
    series: bionic
    constraints: "tags=controller"
  '3':
    series: bionic
    constraints: "tags=controller"
  '4':
    series: bionic
    constraints: "tags=storage"
  '5':
    series: bionic
    constraints: "tags=storage"
  '6':
    series: bionic
    constraints: "tags=storage"
relations:
- - nova-compute:amqp
  - rabbitmq-server:amqp
- - neutron-gateway:amqp
  - rabbitmq-server:amqp
- - keystone:shared-db
  - mysql:shared-db
- - nova-cloud-controller:identity-service
  - keystone:identity-service
- - glance:identity-service
  - keystone:identity-service
- - neutron-api:identity-service
  - keystone:identity-service
- - neutron-openvswitch:neutron-plugin-api
  - neutron-api:neutron-plugin-api
- - neutron-api:shared-db
  - mysql:shared-db
- - neutron-api:amqp
  - rabbitmq-server:amqp
- - neutron-gateway:neutron-plugin-api
  - neutron-api:neutron-plugin-api
- - glance:shared-db
  - mysql:shared-db
- - glance:amqp
  - rabbitmq-server:amqp
- - nova-cloud-controller:image-service
  - glance:image-service
- - nova-compute:image-service
  - glance:image-service
- - nova-cloud-controller:cloud-compute
  - nova-compute:cloud-compute
- - nova-cloud-controller:amqp
  - rabbitmq-server:amqp
- - nova-cloud-controller:quantum-network-service
  - neutron-gateway:quantum-network-service
- - nova-compute:neutron-plugin
  - neutron-openvswitch:neutron-plugin
- - neutron-openvswitch:amqp
  - rabbitmq-server:amqp
- - openstack-dashboard:identity-service
  - keystone:identity-service
- - nova-cloud-controller:shared-db
  - mysql:shared-db
- - nova-cloud-controller:neutron-api
  - neutron-api:neutron-api
- - cinder:image-service
  - glance:image-service
- - cinder:amqp
  - rabbitmq-server:amqp
- - cinder:identity-service
  - keystone:identity-service
- - cinder:cinder-volume-service
  - nova-cloud-controller:cinder-volume-service
- - cinder-ceph:storage-backend
  - cinder:storage-backend
- - ceph-mon:client
  - nova-compute:ceph
- - nova-compute:ceph-access
  - cinder-ceph:ceph-access
- - cinder:shared-db
  - mysql:shared-db
- - ceph-mon:client
  - cinder-ceph:ceph
- - ceph-mon:client
  - glance:ceph
- - ceph-osd:mon
  - ceph-mon:osd
- - ntp:juju-info
  - nova-compute:juju-info
- - ntp:juju-info
  - neutron-gateway:juju-info
- - ceph-radosgw:mon
  - ceph-mon:radosgw
- - ceph-radosgw:identity-service
  - keystone:identity-service
series: bionic
services:
  ceph-mon:
    annotations:
      gui-x: '750'
      gui-y: '500'
    charm: cs:ceph-mon-25
    num_units: 3
    options:
      expected-osd-count: 3
    bindings:
      public: admin-space
      cluster: admin-space
      admin: admin-space
      bootstrap-source: admin-space
      mon: admin-space
      osd: admin-space
      radosgw: admin-space
    to:
    - lxd:4
    - lxd:5
    - lxd:6
  ceph-osd:
    annotations:
      gui-x: '1000'
      gui-y: '500'
    charm: cs:ceph-osd-268
    num_units: 3
    options:
      osd-devices: '/dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh /dev/sdi /dev/sdj'
    bindings:
      public: admin-space
      cluster: admin-space
      mon: admin-space
    to:
    - '4'
    - '5'
    - '6'
  ceph-radosgw:
    annotations:
      gui-x: '1000'
      gui-y: '250'
    charm: cs:ceph-radosgw-258
    num_units: 1
    bindings:
      public: admin-space
      admin: admin-space
      internal: admin-space
    to:
    - lxd:3
  cinder:
    annotations:
      gui-x: '750'
      gui-y: '0'
    charm: cs:cinder-272
    num_units: 1
    options:
      block-device: None
      glance-api-version: 2
      worker-multiplier: 0.25
    bindings:
      public: admin-space
      admin: admin-space
      internal: admin-space
    to:
    - lxd:2
  cinder-ceph:
    annotations:
      gui-x: '750'
      gui-y: '250'
    charm: cs:cinder-ceph-233
    num_units: 0
    bindings:
      ceph: admin-space
  glance:
    annotations:
      gui-x: '250'
      gui-y: '0'
    charm: cs:glance-267
    num_units: 1
    options:
      worker-multiplier: 0.25
    bindings:
      public: admin-space
      admin: admin-space
      internal: admin-space
    to:
    - lxd:3
  keystone:
    annotations:
      gui-x: '500'
      gui-y: '0'
    charm: cs:keystone-282
    num_units: 1
    options:
      worker-multiplier: 0.25
    bindings:
      public: admin-space
      admin: admin-space
      internal: admin-space
      shared-db: admin-space
    to:
    - lxd:2
  mysql:
    annotations:
      gui-x: '0'
      gui-y: '250'
    charm: cs:percona-cluster-268
    num_units: 1
    options:
      innodb-buffer-pool-size: 256M
      max-connections: 1000
    bindings:
      db-admin: admin-space
      access: admin-space
    to:
    - lxd:3
  neutron-api:
    annotations:
      gui-x: '500'
      gui-y: '500'
    charm: cs:neutron-api-261
    num_units: 1
    options:
      flat-network-providers: physnet1
      neutron-security-groups: true
      worker-multiplier: 0.25
      overlay-network-type: vxlan
      default-tenant-network-type: vxlan
    bindings:
      public: admin-space
      admin: admin-space
      internal: admin-space
      neutron-api: admin-space
      neutron-plugin-api: admin-space
      shared-db: admin-space
      amqp: admin-space
      identity-service: admin-space
      vsd-rest-api: admin-space
      neutron-plugin-api-subordinate: admin-space
      etcd-proxy: admin-space
      midonet: admin-space
      external-dns: admin-space
    to:
    - lxd:2
  neutron-gateway:
    annotations:
      gui-x: '0'
      gui-y: '0'
    charm: cs:neutron-gateway-252
    num_units: 1
    options:
      bridge-mappings: physnet1:br-ex
      data-port: br-ex:eno1
      worker-multiplier: 0.25
    bindings:
      amqp: admin-space
      amqp-nova: admin-space
      neutron-plugin-api: admin-space
      data: admin-space
      quantum-network-service: admin-space
    to:
    - '2'
  neutron-openvswitch:
    annotations:
      gui-x: '250'
      gui-y: '500'
    charm: cs:neutron-openvswitch-250
    num_units: 0
    bindings:
      amqp: admin-space
      data: admin-space
      neutron-control: admin-space
      neutron-plugin: admin-space
      neutron-plugin-api: admin-space
  nova-cloud-controller:
    annotations:
      gui-x: '0'
      gui-y: '500'
    charm: cs:nova-cloud-controller-310
    num_units: 1
    options:
      network-manager: Neutron
      worker-multiplier: 0.25
      console-access-protocol: spice
    bindings:
      public: admin-space
      admin: admin-space
      internal: admin-space
      shared-db: admin-space

      amqp: admin-space
      image-service: admin-space
      identity-service: admin-space
      cloud-compute: admin-space
      cinder-volume-service: admin-space
      neutron-api: admin-space

    to:
    - lxd:3
  nova-compute:
    annotations:
      gui-x: '250'
      gui-y: '250'
    charm: cs:nova-compute-284
    num_units: 2
    options:
      config-flags: default_ephemeral_format=ext4
      enable-live-migration: true
      enable-resize: true
      migration-auth-type: ssh
      virt-type: kvm
      libvirt-image-backend: rbd
    bindings:
      internal: admin-space
      amqp: admin-space
      ceph: admin-space
      ceph-access: admin-space
      cloud-compute: admin-space
      compute-peer: admin-space
      ephemeral-backend: admin-space
      image-service: admin-space
      neutron-plugin: admin-space
    to:
    - '0'
    - '1'
  ntp:
    annotations:
      gui-x: '1000'
      gui-y: '0'
    charm: cs:ntp-27
    num_units: 0
  openstack-dashboard:
    annotations:
      gui-x: '500'
      gui-y: '-250'
    charm: cs:openstack-dashboard-261
    num_units: 1
    bindings:
      public: admin-space
      website: admin-space
      dashboard-plugin: admin-space
      identity-service: admin-space
      cluster: admin-space
    to:
    - lxd:3
  rabbitmq-server:
    annotations:
      gui-x: '500'
      gui-y: '250'
    charm: cs:rabbitmq-server-77
    num_units: 1
    bindings:
      "": admin-space
      amqp: admin-space
      ceph: admin-space
      cluster: admin-space
    to:
    - lxd:2

広範な「バインディング」設定は、それらを機能させるためのいくつかの試みの結果であることを知っています。このセットアップにより、完全なjuju-charmを正常にデプロイでき、すべてのサービスが(明らかに)動作します。 「horizo​​n dashboard」ですべてを構成し、インスタンス(cirrOS 0.3.4)を起動しましたが、残念ながら、外部ネットワークにアクセスすることはできません。したがって、VMにはインターネットがありません。また、インスタンスは外部からアクセスできません(ext-net-> VMフローティングIP経由)。

私の問題は「ブリッジマッピング」と「データポート」設定のさまざまな割り当てだと思います。ストレージノードを除き、すべてのサーバーで最初のネットワークカード(eno1)のみを使用します。後で別のカードを追加したいのですが、最初にそれをまったく機能させようとします。

6
SkyDiablo

わかりました。「ext2」で「eno2」をポイントした後、外部ゲートウェイergo internetにアクセスできるようになりました。重要なのは、MAASを介してインターフェイスを未構成のままにしておくことです。「ovs」はこれらの設定を無視するか、単に刺激するだけです。使用可能な独自のインターフェイスがない場合は、VLANも使用できます。

1
SkyDiablo