活動せいり

毎日のあれこれを、振り返ります。

MENU

【OPENSTACK】構築してみた

遊び用の環境につき、各種不届きな点はあるかと思いますが
とりあえず、インスタンスの生成とssh接続ができれば万歳な企画である。。
ようやく出来たので、取り急ぎ忘れぬようやったことを記録に残さなきゃ(汗)な状況~

環境説明

自宅学習用環境なので、ありがち? ですが、CentOS7上に構築しました。
そして、CentOS7も仮想(VMWare Workstation)上での構築となっております。
かなりネストしてしまいますが、潤沢な余裕がありませんので(頭脳も)。。

f:id:g071067:20190211133051j:plain
概要イメージ

やったこと

VM環境作成

OpenStack導入にあたり、いくつか前提事項があり、これを満たすようセッティングしたつもりである。

・ベースOS
  >CentOSRHEL、Fedora21などが可能とのこと。
   当方は、CentOS7とした。 64bit版が必須な模様。

・スペック
  1ノードOpenStack環境をRDO Packstackを使って構築するには、以下が必要※
  >CPUコア:3つ必要
  >RAM:4GB
  >HD:30GB以上

OSインストールと最新化

・使用iso
 現在の最新を使用しただけである。古いものでは、構築時にBUGを踏む模様。
 >CentOS-7-x86_64-DVD-1810.iso

・言語について
 RDOによると、USが推奨となる。
 だが、当方は日本語にした。

・最新化

yum update -y

OSインストール後作業

インターネット接続確認

ネット使うので繋がることを確認ください。

OS設定

自宅につき、以下バシバシ無効化~

・ファイアーウォール

systemctl status firewalld
systemctl disable firewalld


[root@localhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
[root@localhost ~]#

SELinux

getenforce


[root@localhost ~]# getenforce
Enforcing
[root@localhost ~]#


ls -l /etc/selinux/config*
cp -p /etc/selinux/config /etc/selinux/config.yyyymmdd
ls -l /etc/selinux/config*
vi /etc/selinux/config
SELINUX=disabled と編集する。

diff /etc/selinux/config /etc/selinux/config.yyyymmdd



☆ここで一旦再起動☆

shutdown -r now


再起動完了後、事後確認する。

systemctl status firewalld
getenforce

NIC定義変更

nmtuiにて変更を施す。

IPv4 設定  :手作業
アドレス  :192.168.1.4/24
ゲートウェイ:192.168.1.1
自動的に接続:チェックいれる


ホスト名の変更

nmtuiを使っているため、そのままついでに。

ホスト名:openstack


f:id:g071067:20190210221404j:plain
nmtui-ホスト名

hosts登録

自己登録します。

vi /etc/hosts


[root@localhost ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.4 openstack

[root@localhost ~]#

言語設定

RDOとしては、前述にあわせUS化手順が存在している。
当方は行わなかった。

vi /etc/environment
⇒以下記載
LANG=en_US.utf-8
LC_ALL=en_US.utf-8


☆ここで一旦再起動☆

shutdown -r now


再起動完了後、事後確認する。

uname -n
ip a


[root@openstack ~]# uname -n
openstack
[root@openstack ~]#
[root@openstack ~]# ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever

~中略~

3: ens37: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:d8:cd:04 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.4/24 brd 192.168.1.255 scope global noprefixroute dynamic ens37
valid_lft 14323sec preferred_lft 14323sec
inet6 2001:c90:8843:242d:b731:b2c2:2315:ba6/64 scope global noprefixroute dynamic
valid_lft 2591925sec preferred_lft 604725sec
inet6 fe80::3fc5:69d6:bfed:d098/64 scope link noprefixroute
valid_lft forever preferred_lft forever
4: virbr0: mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:5d:fd:d2 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
5: virbr0-nic: mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
link/ether 52:54:00:5d:fd:d2 brd ff:ff:ff:ff:ff:ff
[root@openstack ~]#

NetworkManagerサービスの停止、networkサービスの有効化

なんかよく分からんが、RDOはじめ皆やってるから、やる。
勉強しとくです。。

systemctl status NetworkManager
systemctl status network

systemctl stop NetworkManager
systemctl disable NetworkManager

systemctl enable network
systemctl start network


[root@openstack ~]# systemctl status NetworkManager
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
Active: active (running) since 日 2019-01-27 12:08:47 JST; 3min 55s ago
Docs: man:NetworkManager(8)
Main PID: 8967 (NetworkManager)
Tasks: 4
CGroup: /system.slice/NetworkManager.service
tq8967 /usr/sbin/NetworkManager --no-daemon
mq9126 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-ens37.pid -lf /var/lib/NetworkManager/dhcl...

1月 27 12:08:53 openstack NetworkManager[8967]: [1548558533.7449] device (virbr0-nic): Activation: connection 'virbr0-n...vation
1月 27 12:08:53 openstack NetworkManager[8967]: [1548558533.7468] device (virbr0-nic): state change: ip-config -> ip-ch...rnal')
1月 27 12:08:53 openstack NetworkManager[8967]: [1548558533.7549] device (virbr0): state change: secondaries -> activat...rnal')
1月 27 12:08:53 openstack NetworkManager[8967]: [1548558533.7837] device (virbr0): Activation: successful, device activated.
1月 27 12:08:53 openstack NetworkManager[8967]: [1548558533.7895] device (virbr0-nic): state change: ip-check -> second...rnal')
1月 27 12:08:53 openstack NetworkManager[8967]: [1548558533.7966] device (virbr0-nic): state change: secondaries -> act...rnal')
1月 27 12:08:53 openstack NetworkManager[8967]: [1548558533.8136] device (virbr0-nic): Activation: successful, device activated.
1月 27 12:08:53 openstack NetworkManager[8967]: [1548558533.9516] device (virbr0-nic): state change: activated -> unman...rnal')
1月 27 12:08:53 openstack NetworkManager[8967]: [1548558533.9533] device (virbr0): bridge port virbr0-nic was detached
1月 27 12:08:53 openstack NetworkManager[8967]: [1548558533.9534] device (virbr0-nic): released from master device virbr0
Hint: Some lines were ellipsized, use -l to show in full.
[root@openstack ~]#
[root@openstack ~]# systemctl status network
● network.service - LSB: Bring up/down networking
Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)
Active: active (exited) since 日 2019-01-27 12:08:50 JST; 4min 17s ago
Docs: man:systemd-sysv-generator(8)
Process: 9219 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=0/SUCCESS)
Tasks: 0

1月 27 12:08:50 openstack systemd[1]: Starting LSB: Bring up/down networking...
1月 27 12:08:50 openstack network[9219]: ループバックインターフェイスを呼び込み中 [ OK ]
1月 27 12:08:50 openstack network[9219]: インターフェース ens33 を活性化中: [ OK ]
1月 27 12:08:50 openstack systemd[1]: Started LSB: Bring up/down networking.
[root@openstack ~]#
[root@openstack ~]#
[root@openstack ~]# systemctl stop NetworkManager
[root@openstack ~]# systemctl disable NetworkManager
Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
Removed symlink /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service.
[root@openstack ~]#
[root@openstack ~]# systemctl status NetworkManager
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; disabled; vendor preset: enabled)
Active: inactive (dead) since 日 2019-01-27 12:14:01 JST; 17s ago
Docs: man:NetworkManager(8)
Main PID: 8967 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/NetworkManager.service
mq9126 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-ens37.pid -lf /var/lib/NetworkManager/dhcl...

1月 27 12:08:53 openstack NetworkManager[8967]: [1548558533.7966] device (virbr0-nic): state change: secondaries -> act...rnal')
1月 27 12:08:53 openstack NetworkManager[8967]: [1548558533.8136] device (virbr0-nic): Activation: successful, device activated.
1月 27 12:08:53 openstack NetworkManager[8967]: [1548558533.9516] device (virbr0-nic): state change: activated -> unman...rnal')
1月 27 12:08:53 openstack NetworkManager[8967]: [1548558533.9533] device (virbr0): bridge port virbr0-nic was detached
1月 27 12:08:53 openstack NetworkManager[8967]: [1548558533.9534] device (virbr0-nic): released from master device virbr0
1月 27 12:14:01 openstack systemd[1]: Stopping Network Manager...
1月 27 12:14:01 openstack NetworkManager[8967]: [1548558841.5079] caught SIGTERM, shutting down normally.
1月 27 12:14:01 openstack NetworkManager[8967]: [1548558841.5130] device (virbr0-nic): released from master device virbr0
1月 27 12:14:01 openstack NetworkManager[8967]: [1548558841.7993] exiting (success)
1月 27 12:14:01 openstack systemd[1]: Stopped Network Manager.
Hint: Some lines were ellipsized, use -l to show in full.
[root@openstack ~]#


☆ここで一旦再起動☆

shutdown -r now

再起動完了後、念のためインターネット接続確認ください~

OpenStackインストール

リポジトリのインストール

RDOに準拠し実施します。


[root@openstack ~]# yum install -y https://rdoproject.org/repos/rdo-release.rpm
読み込んだプラグイン:fastestmirror, langpacks
rdo-release.rpm | 5.8 kB 00:00:00
/var/tmp/yum-root-fCx3fb/rdo-release.rpm を調べています: rdo-release-queens-1.noarch
/var/tmp/yum-root-fCx3fb/rdo-release.rpm をインストール済みとして設定しています
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ rdo-release.noarch 0:queens-1 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

==========================================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
==========================================================================================================================================
インストール中:
rdo-release noarch queens-1 /rdo-release 2.9 k

トランザクションの要約
==========================================================================================================================================
インストール 1 パッケージ

合計容量: 2.9 k
インストール容量: 2.9 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : rdo-release-queens-1.noarch 1/1
検証中 : rdo-release-queens-1.noarch 1/1

インストール:
rdo-release.noarch 0:queens-1

完了しました!
[root@openstack ~]#

最新化

リポジトリのインストール後、最新化を図ります。

yum update -y

(動作イメージが長いため略記)

インストーラ・・・packstack等パッケージのインストール

CentOS向けのOpenStackバイナリは、EPELパッケージリポジトリで公開されており
epel-releaseパッケージとあわせてインストールする。

yum install -y epel-release openstack-packstack

(動作イメージが長いため略記)

OpenStackインストール(オールインワンインストール)

オールインワンで実施する。
ここで、ovs情報もオプションに含め、CentOS7とOpenStackが疎通可能となるよう設定する。
CentOS7的に、ブリッジのデフォ名称がvirbr0であり、そのまま採用する。

パスワードを、何気に「password」としている。通常は、インストール完了後のログに
表示されるのだが、複雑で面倒なので、設定しちゃいます。

packstack --allinone --default-password=password --provision-demo=n --os-neutron-ovs-bridge-mappings=extnet:virbr0 --os-neutron-ml2-type-drivers=vxlan,flat

(動作イメージが長いため略記)

☆ここで一旦再起動☆
インストールが終了したところで、なんとなく実施する。

shutdown -r now

インストール後作業

管理画面へのログイン確認

PATHはインストールログの最後らへんに出ます。
admin/password で入れるか確認してください~

ログイメージ
http://192.168.1.4/dashboard」とかいてあるのが分かる。

Applying Puppet manifests [ DONE ]
Finalizing [ DONE ]

**** Installation completed successfully ******

Additional information:
* A new answerfile was created in: /root/packstack-answers-20190210-002701.txt
* Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.
* File /root/keystonerc_admin has been created on OpenStack client host 192.168.1.4. To use the command line tools you need to source the file.
* To access the OpenStack Dashboard browse to http://192.168.1.4/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.
* The installation log file is available at: /var/tmp/packstack/20190210-002657-CyscWg/openstack-setup.log
* The generated manifests are available at: /var/tmp/packstack/20190210-002657-CyscWg/manifests
[root@openstack network-scripts]#

f:id:g071067:20190210221057j:plain
ログイン画面の様子


一旦の疎通はここまでしか出来ません。
以降、OpenStack上でルーターを作成次第、HOST側よりpingを打っての確認
となります。

OVSブリッジ設定@HOST側

先ほど先行してovs情報込みでインストールした。
これよりHOST側にてブリッジ設定を施します。

IP等の数字以外はまんまコピペで良く、当初存在した設定項目が抜けても問題なし。
不安であればバックアップを取得。

cd /etc/sysconfig/network-scripts


vi ifcfg-[OVS側名称]   ・・・CentOS7的に「virbr0」などとなっていた。


DEVICE=[OVS側名称]
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
IPADDR=192.168.1.232 ・・・「ifcfg-」に記載されたIPを引き継いで記載。
NETMASK=255.255.255.0
GATEWAY=192.168.1.1 ・・・自宅ルーターとした
DNS1=8.8.8.8
ONBOOT=yes


vi ifcfg-[NIC名称]   ・・・CentOS7的に「ensxx」などとなっていた。


DEVICE=[NIC名称]
TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=
ONBOOT=yes

☆ここで一旦再起動☆

shutdown -r now

再起動完了後、事後確認する。

ovs-vsctl show

OpenStack環境構築

外部ネットワーク:作成

GUIですと複雑なため、CUIでまいります。
論理名称をオプションにて「external_network」としています。

. keystonerc_admin

neutron net-create external_network --provider:network_type flat --provider:physical_network extnet --router:external


[root@openstack ~]# . keystonerc_admin
[root@openstack ~(keystone_admin)]# neutron net-create external_network --provider:network_type flat --provider:physical_network extnet --router:external
neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
Created a new network:
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | True |
| availability_zone_hints | |
| availability_zones | |
| created_at | 2019-02-10T02:59:36Z |
| description | |
| id | b86f0a44-5994-4076-b4d0-a3fb10150503 |
| ipv4_address_scope | |
| ipv6_address_scope | |
| is_default | False |
| mtu | 1500 |
| name | external_network |
| port_security_enabled | True |
| project_id | d69dac4cb478467fae06534be8170d4c |
| provider:network_type | flat |
| provider:physical_network | extnet |
| provider:segmentation_id | |
| qos_policy_id | |
| revision_number | 5 |
| router:external | True |
| shared | False |
| status | ACTIVE |
| subnets | |
| tags | |
| tenant_id | d69dac4cb478467fae06534be8170d4c |
| updated_at | 2019-02-10T02:59:38Z |
+---------------------------+--------------------------------------+
[root@openstack ~(keystone_admin)]#

作成後、画面で見てみました。

管理→ネットワーク→ネットワーク と進み。。

f:id:g071067:20190210221537j:plain
ネットワーク画面-外部NW作成後

外部ネットワーク:サブネット作成

論理名称をオプションにて「public_subnet」としています。
また、前述からのとおり外部は「192.168.1.0/24」となります。

neutron subnet-create --name public_subnet --enable_dhcp=False --allocation-pool=start=192.168.1.100,end=192.168.1.170 --gateway=192.168.1.1 external_network 192.168.1.0/24


[root@openstack ~(keystone_admin)]# neutron subnet-create --name public_subnet --enable_dhcp=False --allocation-pool=start=192.168.1.100,end=192.168.1.170 --gateway=192.168.1.1 external_network 192.168.1.0/24
neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
Created a new subnet:
+-------------------+----------------------------------------------------+
| Field | Value |
+-------------------+----------------------------------------------------+
| allocation_pools | {"start": "192.168.1.100", "end": "192.168.1.170"} |
| cidr | 192.168.1.0/24 |
| created_at | 2019-02-10T03:08:08Z |
| description | |
| dns_nameservers | |
| enable_dhcp | False |
| gateway_ip | 192.168.1.1 |
| host_routes | |
| id | 25fa05a5-a51a-465c-b152-50c35f9bcad5 |
| ip_version | 4 |
| ipv6_address_mode | |
| ipv6_ra_mode | |
| name | public_subnet |
| network_id | b86f0a44-5994-4076-b4d0-a3fb10150503 |
| project_id | d69dac4cb478467fae06534be8170d4c |
| revision_number | 0 |
| service_types | |
| subnetpool_id | |
| tags | |
| tenant_id | d69dac4cb478467fae06534be8170d4c |
| updated_at | 2019-02-10T03:08:08Z |
+-------------------+----------------------------------------------------+
[root@openstack ~(keystone_admin)]#

画面ですが、先ほどの動画面でサブの表示が増えています。

f:id:g071067:20190210221639j:plain
ネットワーク画面-サブ作成後

また、設定画面を表示します。
GUIで作成する場合は、このように手打ちすればOKということ。

一覧より、外部NW名をクリックし、「サブネット」タブをクリック。
その後、サブネット名をクリック~ f:id:g071067:20190210221907j:plain f:id:g071067:20190210221933j:plain f:id:g071067:20190210221957j:plain

Privateネットワーク:作成

ネットワーク名:pri_network ・・・任意ですが、ここでは左記とした。
サブネット名:pri_sub_network ・・・任意ですが、ここでは左記とした。
NWアドレス:192.168.2.0/24
ゲートウェイ:192.168.2.1


プロジェクト→ネットワーク→ネットワーク
と進み、「+ネットワークの作成」をクリック。
ネットワーク名、全てにチェックを入れ、「次へ」をクリック。
そのままサブネットの作成まで行います。

名称、各IPを入力して、「次へ」をクリック。

外部時同様、プールを指定してもよかったが、面倒になりやめた。。 f:id:g071067:20190210222418j:plain f:id:g071067:20190210222437j:plain f:id:g071067:20190210222456j:plain
登録完了にて、一覧には外部と内部の2つが表示されています。

f:id:g071067:20190210222524j:plain
ネットワーク画面-内部NW作成後
ネットワークトポロジーも見てみましょう。 f:id:g071067:20190210222613j:plain まあ、2つが表示されています。
別セグで以て、繋がりがありません。
そこで、ルーターを作成して繋いでみます。

ルーター作成

プロジェクト→ネットワーク→ルーター
と進み、「+ルーターの作成」をクリックします。

f:id:g071067:20190210222706j:plain
ルーター画面-作成前

ルーター名:test_router ・・・任意適当です。
外部ネットワーク:先ほど作成したものを選択します。


ルーターの作成」をクリックします。 f:id:g071067:20190210222818j:plain その後、一覧に表示が出たかと思います。
さらに、一覧よりルーター名をクリックして・・・

f:id:g071067:20190210222834j:plain
ルーター画面-作成後
IPアドレスはじめ、情報が出ましたでしょうか。 f:id:g071067:20190210222921j:plain ここで、
ルーターへのping疎通確認をしてみましょう。
繋がりますね?

[root@openstack ~]# ping 192.168.1.100
PING 192.168.1.100 (192.168.1.100) 56(84) bytes of data.
64 bytes from 192.168.1.100: icmp_seq=1 ttl=64 time=2.10 ms
64 bytes from 192.168.1.100: icmp_seq=2 ttl=64 time=0.143 ms
64 bytes from 192.168.1.100: icmp_seq=3 ttl=64 time=0.133 ms
64 bytes from 192.168.1.100: icmp_seq=4 ttl=64 time=0.254 ms
^C
--- 192.168.1.100 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 0.133/0.658/2.104/0.836 ms
[root@openstack ~]#

最後に、ネットワークトポロジーを見てみましょう。 f:id:g071067:20190210223041j:plain f:id:g071067:20190210223200j:plain ルーターを作成し、作成画面にて、指定の外部ネットワークと連結しています。
そして、pingにてルーターまで到達できることを見ました。

引き続き、プライベート側は隔離されており
次にてルーターと連結、全部繋げます。

インターフェース作成

ルーターの設定にて行います。
先ほど同様、
プロジェクト→ネットワーク→ルーター
さらに、
ルーター名をクリックします。 f:id:g071067:20190210223308j:plain 次に、「インターフェース」タブをクリックします。
すると、現状として対外部ネットワーク向けのインターフェース1本分の表示があります。
同様に対内部向けを作成しようということです。

「+インターフェースの追加」をクリックします。

サブネット:先ほど作成したもの
何もせず任意にまかせ「送信」押下にて完了させます。 f:id:g071067:20190210223437j:plain f:id:g071067:20190210223452j:plain 一覧、そしてネットワークトポロジーより 作成完了、全部繋がった様子が伺えます。 f:id:g071067:20190210223522j:plain

f:id:g071067:20190210223549j:plain
ネットワークトポロジー-内部NWとのインターフェース作成後
疎通確認として、
ルーターから先、内部ネットワークへの通信については
次の設定および作業を以てして可能となります。

アクセス制御設定

プロジェクト→ネットワーク→セキュリティーグループと進みます。

デフォの設定が存在し、学習用ということもあって
これに追加して設定してしまいます。

「ルールの管理」をクリックします。 f:id:g071067:20190210223701j:plain 既にいくつか設定が居る中で、学習用につき
適当に甘いセキュリティとします。「+ルールの追加」をクリックします。

f:id:g071067:20190210223829j:plain 以下、全開に。

ルール:ALL ICMP、SSH ・・・それぞれ「追加」ボタンを押下して登録ください。
方向:受信
CIDR:0.0.0.0 ・・・ぜんぶ


f:id:g071067:20190210223914j:plain
ICMP登録の様子
f:id:g071067:20190210224004j:plain
SSH登録の様子
一覧で、2行増えていればOK。 f:id:g071067:20190210224101j:plain

SSHキーの作成

続いて、SSH用にキーを作成します。
プロジェクト→コンピュート→キーペア
にて「+キーペアの作成」をクリックします。

キーペア名:test-ssh-key ・・・適当任意


名称入力して、「+キーペアの作成」を押下です。 f:id:g071067:20190210230023j:plain f:id:g071067:20190210230100j:plain f:id:g071067:20190210230129j:plain f:id:g071067:20190210230217j:plain

イメージの作成

テスト作成してみます。
テストとしては、cirrosを用いたインスタンス作成が常套のようなので
そうしてみます。

適当に、当時最新のイメージを落としました。
古いのも、デフォで入っていたのですが、BUG情報などもあり嫌気しました。


[root@openstack tmp]# ls -lh /tmp/cirros-0.4.0-x86_64-disk.img
-rw-r--r--. 1 root root 13M 11月 20 2017 /tmp/cirros-0.4.0-x86_64-disk.img
[root@openstack tmp]#

◆イメージの作成 内部ネットワーク上に作成します。
外部ですと、後のFloating 割り当てでハマり、内部に作成すべしとの
参考サイト多数でした。

プロジェクト→コンピュート→イメージ と進みます。
「+イメージの作成」を押下し、先ほど入手したcirros-0.4.0のイメージを作成します。 f:id:g071067:20190210230327j:plain

イメージ名:任意
ソース指定方法:ファイル

 で、先ほどGETしたファイルを指定。

形式:QCOW2


「イメージの作成」を押下。
作成したイメージが一覧に登場しました。 f:id:g071067:20190210230426j:plainインスタンスの作成
一覧のまま、右欄より「起動」を押下

[詳細]
インスタンス名:任意 f:id:g071067:20190210234604j:plain

[フレーバー]
最小サイズのものとした f:id:g071067:20190210234848j:plain

[ネットワーク]
前述のとおり、内部ネットワークを選択。外部ではない。 f:id:g071067:20190210234926j:plain

その他、
デフォルトのままです。
デキュリティグループ、キーペアなども
前述登録の1通りしかなく、自動でセッティングされており
それを受け入れるまでです。

インスタンスの起動」をクリック

その後、インスタンスの確認をします。
プロジェクト→コンピュート→インスタンス とすすむ。

環境スペック、インスタンスの規模にもよると思いますが
一覧に、"実行中"と表示されると、終了。 f:id:g071067:20190210235333j:plain f:id:g071067:20190210235400j:plain f:id:g071067:20190210235422j:plain

◆起動正常性確認(起動ログ確認)、パスワード確認
インスタンス名をクリックする。 f:id:g071067:20190210235548j:plain

ログタブをクリックする。
「すべてのログの表示」を押下する。

異常っぽいメッセージがなければOK。

★パスワード★
次のように、ログ下部に出ると思います。
⇒下部の例では、、、

 ユーザー名:cirros
 パスワード:gocubsgo


=== cirros: current=0.4.0 uptime=119.05 ===
____ ____ ____
/ __/ __ ____ ____ / __ \/ __/
/ /__ / // __// __// /_/ /\ \
\___//_//_/ /_/ \____/___/
http://cirros-cloud.net


login as 'cirros' user. default password: 'gocubsgo'. use 'sudo' for root.

さて、それではインスタンスへの接続を試み
そもそも、内部ネットワークへの疎通から未だでありましたが
外部から接続を試みるにあたりFloating IPの割り当てが必要となります。

Floating IPの割り当て

いろんなやり方ありますが、一旦現状として
Floating IPがどのようか見てみます。

プロジェクト→ネットワーク→Floating IP と進みます。 f:id:g071067:20190210235915j:plain

現状、無しの状況となり、
今後の流れとしては、作成→割り当て→疎通確認 となります。

作成にあたり
「Floating IPの確保」をクリックします。 f:id:g071067:20190211000014j:plain

特に何もできることはなく、「IPの確保」をクリックします。

すると、一覧に1行出ました。
Floatingということで、内部を外部に魅せるものですので、
192.168.1で以て、範囲指定した100~170に収まった采番となっています。
f:id:g071067:20190211000238j:plain

それでは、次に・・・

割り当て
です。
一覧よりそのまま、「割り当て」をクリックします。

まあ、発行したFloatingIPも、作成したインスタンスも1つずつなので
一択ですが、それぞれ選択して「割り当て」押下です。 f:id:g071067:20190211000328j:plain

一覧に、対応する固定側IPが出ましたね。

また、
インスタンスの一覧(プロジェクト→コンピュート→インスタンス)を見ましても
前述に加え、Floatingが追記されている様子が伺えます。
f:id:g071067:20190211000410j:plain

インスタンスへのping確認
FloatingIPに向けて、やってみましょう。

[root@openstack ~]# ping 192.168.1.117
PING 192.168.1.117 (192.168.1.117) 56(84) bytes of data.
64 bytes from 192.168.1.117: icmp_seq=1 ttl=63 time=152 ms
64 bytes from 192.168.1.117: icmp_seq=2 ttl=63 time=9.09 ms
64 bytes from 192.168.1.117: icmp_seq=3 ttl=63 time=10.3 ms
64 bytes from 192.168.1.117: icmp_seq=4 ttl=63 time=56.8 ms
^C
--- 192.168.1.117 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3042ms
rtt min/avg/max/mdev = 9.094/57.069/152.021/58.093 ms
[root@openstack ~]#
[root@openstack ~]# ping 192.168.2.13
PING 192.168.2.13 (192.168.2.13) 56(84) bytes of data.
^C
--- 192.168.2.13 ping statistics ---
9 packets transmitted, 0 received, 100% packet loss, time 8010ms

[root@openstack ~]#

インスタンスへのssh確認

ssh cirros@192.168.1.117


[root@openstack ~]# ssh cirros@192.168.1.117
The authenticity of host '192.168.1.117 (192.168.1.117)' can't be established.
ECDSA key fingerprint is SHA256:rOa80uzCXRW0358nxlaw8hGy+oW3OcdizP1EQSYp6Mw.
ECDSA key fingerprint is MD5:ec:fc:fd:35:2f:da:4d:76:fe:22:c7:90:c1:cc:49:bc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.117' (ECDSA) to the list of known hosts.
cirros@192.168.1.117's password:
$
$ id
uid=1000(cirros) gid=1000(cirros) groups=1000(cirros)
$
$ uname -n
testinst
$

如何でしょうか。

cirrosにつき、実用性が無いため
別なOSを投入してみたいなぁ。

参考(多謝)

参考文献

◆【公式】【RDO】構築について https://www.rdoproject.org/install/packstack/

https://www.rdoproject.org/networking/neutron-with-existing-external-network/

https://docs.openstack.org/ja/install-guide/environment-packages-rdo.html

インスタンス生成時に[Error: Host 'openstack' is not mapped to any cell] https://ask.openstack.org/en/question/104029/how-can-i-solve-this-issue-when-i-create-instance/

◆外部NWにインスタンス生成したときの、Floating付与時エラー https://ask.openstack.org/en/question/11463/assigning-floating-ip-fails/

https://answers.launchpad.net/neutron/+question/225757

◆外部NWにインスタンス生成したときの、cirros起動エラー 「failed 1/20: up 20.64. request failed //FAILED MESSEAGE//」→20カウント到達事象 http://designetwork.hatenablog.com/entry/2018/03/05/os-ssh-keypair-trouble

◆内部NWにてインスタンス生成 https://docs.openstack.org/liberty/ja/install-guide-ubuntu/launch-instance-private.html

◆Floating付与 https://docs.openstack.org/ja/user-guide/cli-manage-ip-addresses.html

◆cirrosマニュアル的なもの(入手、操作) https://docs.openstack.org/mitaka/install-guide-obs/glance-verify.html

https://docs.openstack.org/mitaka/ja/install-guide-obs/glance-verify.html

◆リンク集 http://blog.father.gedow.net/2013/02/19/openstack-links/

◆エラー全般集 https://qiita.com/2m1tsu3/items/35d34df6f57271679461

◆構築ガイド・指導・体験記 系 https://ccie-go.com/openstack-install/#i-15

http://designetwork.hatenablog.com/entry/2018/03/04/openstack-pike-packstack-basic