私は実際にOpenStack(Stein)を使って会社のためのプライベートクラウドを構築しています。公式ウェブサイトのチュートリアルに従いましたが、クラウドインスタンスからメタデータをインポートすることを除いて、すべてがうまくいくようです。
インフラストラクチャの設定方法を説明します。
KVMホストにインストールされているすべてのOpenStack(2xXeon 32コア、320Go RAM、2To HDD、...)
仮想マシンを次のように設定しました。
- openstack-controller001 192.168.50.11
- openstack-compute001 192.168.50.41
- openstack-storage001 192.168.50.61(Cinder用)
- db001 192.168.50.81 (データベースとコントローラーが同じサーバー上にない)
- ldap001 192.168.50.251(まだLDAPを使用せずにDNSおよびNTPサーバーのみを使用)
クラウドイメージから作成されたUbuntuまたはDebianの新しいインスタンスを起動すると、SSHを介してこれらの仮想マシンに接続できなくなり、キーペアは常に拒否されます(エラー:権限が拒否されました)。いくつかの調査の終わりに、仮想マシンがホストからSSH秘密鍵をアップロードしないことに気づきました。 VMがメタデータプロキシサーバーの代わりに仮想ネットワークのDHCPサーバーのIPアドレスを使用してメタデータサーバーに接続するようです。正しく覚えている場合、コントローラは何ですか?
[ 15.840973] cloud-init[386]: 2019-05-20 05:53:58,124 - url_helper.py[WARNING]: Calling 'http://172.16.10.10/latest/meta-data/instance-id' failed [0/120s]: request error [HTTPConnectionPool(host='172.16.10.10', port=80): Max retries exceeded with url: /latest/meta-data/instance-id (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7f098d1c0e10>: Failed to establish a new connection: [Errno 111] Connection refused',))]
172.16.10.10は、マイ仮想ネットワーク(172.16.0.0/16、DHCP範囲172.16.10.10〜172.16.20.254)のDHCPサーバーを表します。設定が正しいように見えますが、何か間違っているようです。
/etc/neutron/neutron.conf(openstack-controller001)
[DEFAULT]
# ...
nova_metadata_host = openstack-controller001
metadata_proxy_shared_secret = XXXXXXXXXXXXXXXXXX
/etc/nova/nova.conf(openstack-compute001)
[neutron]
# ...
service_metadata_proxy = true
metadata_proxy_shared_secret = XXXXXXXXXXXXXXXXXX
答え1
ご回答ありがとうございます。
メタデータサーバーはopenstack-controller001で実行されます。
[admin@openstack-controller001 ~]$ systemctl status neutron-metadata-agent
\u25cf neutron-metadata-agent.service - OpenStack Neutron Metadata Agent
Loaded: loaded (/usr/lib/systemd/system/neutron-metadata-agent.service; enabled; vendor preset: disabled)
Active: active (running) since \u6708 2019-05-20 14:45:59 JST; 23h ago
Main PID: 15329 (/usr/bin/python)
CGroup: /system.slice/neutron-metadata-agent.service
\u251c\u250015329 /usr/bin/python2 /usr/bin/neutron-metadata-agent --config-...
\u251c\u250015357 /usr/bin/python2 /usr/bin/neutron-metadata-agent --config-...
\u2514\u250015358 /usr/bin/python2 /usr/bin/neutron-metadata-agent --config-...
5\u6708 20 14:45:59 openstack-controller001.adoc.local systemd[1]: Stopped Open...
5\u6708 20 14:45:59 openstack-controller001.adoc.local systemd[1]: Started Open...
Hint: Some lines were ellipsized, use -l to show in full.
私のVMが169.254.169.254サーバーにアクセスできるかどうかはわかりませんが、ネットワークネームスペースからアクセスできます。
[admin@openstack-controller001 ~]$ openstack network list
+--------------------------------------+---------------+--------------------------------------+
| ID | Name | Subnets |
+--------------------------------------+---------------+--------------------------------------+
| 838b6191-33d6-4683-958e-cee434518743 | provider | d524b6e6-24ad-4a28-9482-b03f4bf22690 |
| c6ed4cfe-43b4-42b7-8fb5-f205a962f9f7 | adoc-net-main | 053681d8-4d5c-4ef4-8be7-f2276d43b26c |
+--------------------------------------+---------------+--------------------------------------+
[admin@openstack-controller001 ~]$ ip netns
qdhcp-838b6191-33d6-4683-958e-cee434518743 (id: 0)
qrouter-3a164855-6c8f-447c-8b0f-49e86d823488 (id: 2)
qdhcp-c6ed4cfe-43b4-42b7-8fb5-f205a962f9f7 (id: 1)
[root@openstack-controller001 admin]# ip netns exec qdhcp-c6ed4cfe-43b4-42b7-8fb5-f205a962f9f7 ping 169.254.169.254
PING 169.254.169.254 (169.254.169.254) 56(84) bytes of data.
64 bytes from 169.254.169.254: icmp_seq=1 ttl=64 time=0.046 ms
64 bytes from 169.254.169.254: icmp_seq=2 ttl=64 time=0.038 ms
64 bytes from 169.254.169.254: icmp_seq=3 ttl=64 time=0.046 ms
64 bytes from 169.254.169.254: icmp_seq=4 ttl=64 time=0.048 ms
64 bytes from 169.254.169.254: icmp_seq=5 ttl=64 time=0.033 ms
VMがDHCPサーバーでローカルメタデータサーバーを見つけるのは正常ですか?