OpenStack kolla-ansibe(pike)でマルチノード構築
- はじめに
openstack kollaの説明はしません(キリっ
マニアックなので、興味ある人はQiita記事を探していください。
雑に説明すれば、OpenStackのコンポをDockerで包んでいろんな問題を解決しようとしているやつです。
本記事ではopenstack kollaのうち、kolla-ansibe(pike版)でマルチノードデプロイするために必要な情報を記載しています。
all-in-oneの成功記事はありましたが、マルチノードデプロイの記事がなかったのでチャレンジしてみた次第です。
結果として成功して動作していますが、なかなか大変でした。
- 環境情報
CentOS7.4
controller(ASROCK NUC): CPU:n3150 メモリ16GB ストレージ:SSD 128GB
node1(FMV P771/D): CPU:Corei5 2520M メモリ16GB ストレージ:SSD 256GB
node2(FMV P771/E): CPU:Corei5 3320M メモリ16GB ストレージ:SSD 256GB
Cinderボリューム: NASからのNFSマウント!
- ネットワーク構成
controllerを含むすべてのノードが異なるヘテロな環境となります。
- 準備
kolla-ansibleでOpenStack(stable/pike)を構築するを参考に、
3.3 コンフィグ編集まで進める。
1.1. network_interfaceの編集
network_interface: "ens2p0"
ここのは、全ノード共通のI/F名しかかけないため、ヘテロ環境でkolla-ansibleが出来ない。
このため、各ノードのI/Fを書き換える。
この記事を連行に、インタフェース名を変更。
今回は、Controllerに合わせ、すべてをens2p0
とする。
それ以外の設定は特に問題ない。
1.2. マルチノードコンフィグ
全ノードで名前解決出来るように設定
192.168.2.11 n3150
192.168.2.12 p771d
192.168.2.13 p771e
multinodeコンフィグは最初のほうだけ修正すればOK
[control]
# These hostname must be resolvable from your deployment host
n3150
# The above can also be specified as follows:
#control[01:03] ansible_user=kolla
# The network nodes are where your l3-agent and loadbalancers will run
# This can be the same as a host in the control group
[network]
n3150
[compute]
p771d
p771e
[monitoring]
n3150
# When compute nodes and control nodes use different interfaces,
# you can specify "api_interface" and other interfaces like below:
#compute01 neutron_external_interface=eth0 api_interface=em1 storage_interface=em1 tunnel_interface=em1
[storage]
n3150
[deployment]
n3150 ansible_connection=local
diffは以下の通り
5c5,7
< n3150
---
> control01
> control02
> control03
13c15,16
< n3150
---
> network01
> network02
16,17c19
< p771d
< p771e
---
> compute01
20c22
< n3150
---
> monitoring01
27c29
< n3150
---
> storage01
30c32
< n3150 ansible_connection=local
---
> localhost ansible_connection=local
2.デプロイ準備
2.1. computeノードにDockerをインストール
先に立てたDockerレジストリを利用するので、controllerとcomputeのDockerデーモンにinsecureの設定を追加
CentOSに最近のDockerをインストールすると、dockerdになっているので、以下の設定を入れる
ExecStart=/usr/bin/dockerd --insecure-registry 192.168.2.11:4000
2.2. ansible2.2のインストール
参考記事の通り、2.2を明示して再インストール
QuickStartには、stable/ocataならansibe2.0、pikeならansible2.2と書いてあるのに、yum installするとansible2.4になるという。
contollerだけではく、computeノード側でも実施
2.3. Docker SDKの再インストール
kolla-ansible prechecks -i multinode
上記コマンドによるチェックで、compute側のDockerのバージョン不整合というエラーが出ます。
pipで管理されているDockerSDKのDocker対応バージョンが古いために起こります。
このため、対応するDockerSDKをインストールします。
wget https://pypi.python.org/packages/20/73/3bb05004dcc734182d57a1c8a802732e05788678a71bfa12348a614d5d73/docker-2.6.1.tar.gz#md5=be4c90ee936ad0af4c45532616bf8b52
tar zxvf docker-2.6.1.tar.gz
cd docker-2.6.1
python setup.py install
これだけだとうまく依存関係を解決してくれない。
一応、入ってないはずだけど、docker-pyを抜いておく。
pip uninstall docker-py
しかし、これでもおかしいのでライブラリをいくつか入れ直す
pip install requests -U
pip install urllib3 -U
pip uninstall requests urllib3 pyOpenSSL
pip install requests urllib3 pyOpenSSL
pip install requests urllib3 pyOpenSSL -U
pythonよく分かってないけど、2回叩かないと綺麗に消えなかったので叩いておく(おまじない)
2.4. Cinder用NFSの設定
デフォルトLVMが辛いのでNFSを使う
ガイドのNFSを参考に設定。
設定ファイルの置き場に困ったが、以下の置けば設定を読んでくれる様子
vi /etc/kolla/config/nfs_shares
192.168.1.xxx:/openstack
contoller自身はNFSサーバにはならないので、exportsの設定は不要
fstabでNFSマウントを書いて置けば良い
vi /etc/fstab
192.168.1.xxx:/openstack /kolla_nfs nfs defaults 0 0
3.デプロイ
kolla-ansible deploy -i multinode
4.ポストデプロイ
これを実施しなくても利用可能だが、flavorとか作ってくれるので便利
kolla-ansible post-deploy
5.再デプロイ
kollaの最大のメリットは、ホストOSを汚さないこと。
packstackだと、再インストールはほぼ不可能に近いけど、kollaはDockerなので比較的簡単に可能。
しかし、先日のおぷすた勉強会でも話題にあがったもので、再デプロイするとhorizonのCSSが消失するという問題がある
kollaをインストしてみたのP22
5.1. Stylesheetの読み直し
いろいろ試した結果
horizonコンテナに入ってStylesheet周りのクリーンナップと再コンパイルをすることでひとまず対処可能な様子
controllerノードにて、
docker exec -it horizon bash
/var/lib/kolla/venv/bin/python /var/lib/kolla/venv/bin/manage.py collectstatic --noinput --clear
/var/lib/kolla/venv/bin/python /var/lib/kolla/venv/bin/manage.py compress --force
exit
docker restart horizon
通常は、コンテナ作成時に実施しているようで、再デプロイだと再起動なので処理が走ってないように見える。
horizonの再起動がわからなかったけど、コンテナの再起動で良い様子
ひとまず、これでうまく行けば動くと思われる
controllerはこんな感じ
[root@n3150 pike]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
63af78323604 192.168.2.11:4000/lokolla/centos-source-horizon:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks horizon
bba4f50c87d1 192.168.2.11:4000/lokolla/centos-source-heat-engine:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks heat_engine
2cbcd75a15b9 192.168.2.11:4000/lokolla/centos-source-heat-api-cfn:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks heat_api_cfn
e9db0b2268d1 192.168.2.11:4000/lokolla/centos-source-heat-api:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks heat_api
7c88547f2c7b 192.168.2.11:4000/lokolla/centos-source-neutron-metadata-agent:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks neutron_metadata_agent
2850b49a2130 192.168.2.11:4000/lokolla/centos-source-neutron-l3-agent:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks neutron_l3_agent
c4fa5e60aaf9 192.168.2.11:4000/lokolla/centos-source-neutron-dhcp-agent:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks neutron_dhcp_agent
b0a4c5570587 192.168.2.11:4000/lokolla/centos-source-neutron-openvswitch-agent:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks neutron_openvswitch_agent
6a6d12f77ee0 192.168.2.11:4000/lokolla/centos-source-neutron-server:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks neutron_server
6cbd66a64873 192.168.2.11:4000/lokolla/centos-source-openvswitch-vswitchd:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks openvswitch_vswitchd
c6c191c463e9 192.168.2.11:4000/lokolla/centos-source-openvswitch-db-server:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks openvswitch_db
5fc949d20956 192.168.2.11:4000/lokolla/centos-source-nova-novncproxy:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks nova_novncproxy
2c6d467a3d2e 192.168.2.11:4000/lokolla/centos-source-nova-consoleauth:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks nova_consoleauth
a5f87545ad6f 192.168.2.11:4000/lokolla/centos-source-nova-conductor:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks nova_conductor
d5d22ed99fdb 192.168.2.11:4000/lokolla/centos-source-nova-scheduler:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks nova_scheduler
305b87208a14 192.168.2.11:4000/lokolla/centos-source-nova-api:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks nova_api
ad5ea72cd910 192.168.2.11:4000/lokolla/centos-source-nova-placement-api:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks placement_api
10dfed44ab12 192.168.2.11:4000/lokolla/centos-source-cinder-backup:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks cinder_backup
2a3cc8a96f53 192.168.2.11:4000/lokolla/centos-source-cinder-scheduler:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks cinder_scheduler
fdd5db209f86 192.168.2.11:4000/lokolla/centos-source-cinder-api:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks cinder_api
d482b2544fff 192.168.2.11:4000/lokolla/centos-source-glance-registry:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks glance_registry
95632b5e758f 192.168.2.11:4000/lokolla/centos-source-glance-api:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks glance_api
a24cf224077f 192.168.2.11:4000/lokolla/centos-source-keystone:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks keystone
bce1fd14038a 192.168.2.11:4000/lokolla/centos-source-rabbitmq:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks rabbitmq
5ef43e173fbf 192.168.2.11:4000/lokolla/centos-source-mariadb:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks mariadb
a66ad69cd0e3 192.168.2.11:4000/lokolla/centos-source-cron:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks cron
48cee62ca250 192.168.2.11:4000/lokolla/centos-source-kolla-toolbox:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks kolla_toolbox
9178e686966f 192.168.2.11:4000/lokolla/centos-source-fluentd:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks fluentd
b4080590aaad 192.168.2.11:4000/lokolla/centos-source-memcached:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks memcached
599e7994e28d 192.168.2.11:4000/lokolla/centos-source-cinder-volume:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks cinder_volume
f1c9b12fe301 registry "/entrypoint.sh /etc…" 3 weeks ago Up 2 weeks 0.0.0.0:4000->5000/tcp registry
compute側はこんな感じ
[root@p771e ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
be2c625aef4d 192.168.2.11:4000/lokolla/centos-source-neutron-openvswitch-agent:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks neutron_openvswitch_agent
b2a62d530490 192.168.2.11:4000/lokolla/centos-source-openvswitch-vswitchd:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks openvswitch_vswitchd
e1e47141c7c2 192.168.2.11:4000/lokolla/centos-source-openvswitch-db-server:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks openvswitch_db
d576259eb6ae 192.168.2.11:4000/lokolla/centos-source-nova-libvirt:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks nova_libvirt
7740912da8b4 192.168.2.11:4000/lokolla/centos-source-nova-ssh:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks nova_ssh
d250349707de 192.168.2.11:4000/lokolla/centos-source-kolla-toolbox:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks kolla_toolbox
a42b2b1a1cb7 192.168.2.11:4000/lokolla/centos-source-fluentd:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks fluentd
504c4304ed6c 192.168.2.11:4000/lokolla/centos-source-nova-compute:5.0.1 "kolla_start" 2 weeks ago Up 2 weeks nova_compute
Author And Source
この問題について(OpenStack kolla-ansibe(pike)でマルチノード構築), 我々は、より多くの情報をここで見つけました https://qiita.com/tnaoto/items/65e7c8cec90aa6188007著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .