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を正常にデプロイでき、すべてのサービスが(明らかに)動作します。 「horizon dashboard」ですべてを構成し、インスタンス(cirrOS 0.3.4)を起動しましたが、残念ながら、外部ネットワークにアクセスすることはできません。したがって、VMにはインターネットがありません。また、インスタンスは外部からアクセスできません(ext-net-> VMフローティングIP経由)。
私の問題は「ブリッジマッピング」と「データポート」設定のさまざまな割り当てだと思います。ストレージノードを除き、すべてのサーバーで最初のネットワークカード(eno1)のみを使用します。後で別のカードを追加したいのですが、最初にそれをまったく機能させようとします。
わかりました。「ext2」で「eno2」をポイントした後、外部ゲートウェイergo internetにアクセスできるようになりました。重要なのは、MAASを介してインターフェイスを未構成のままにしておくことです。「ovs」はこれらの設定を無視するか、単に刺激するだけです。使用可能な独自のインターフェイスがない場合は、VLANも使用できます。