Contenu connexe
Similaire à Openstack kolla 20171025 josug v3 (20)
Openstack kolla 20171025 josug v3
- 1. © Hitachi Solutions, Ltd. 2017. All rights reserved.
株式会社日立ソリューションズ
業務革新統括本部 技術革新本部 研究開発部
2017/10/25
工藤 雄大
Kollaをインストールしてみた
https://www.slideshare.net/tkkd/
日本OpenStackユーザ会 第36回勉強会
- 2. © Hitachi Solutions, Ltd. 2017. All rights reserved.
1. はじめに
2. Kolla概要
3. Kolla-AnsibleのDeploy手順
1
Contents
4. Customize & TIPS
- 4. 3© Hitachi Solutions, Ltd. 2017. All rights reserved.
私はだれ?
所属等
工藤 雄大(くどう たけひろ)
株式会社日立ソリューションズ / 研究開発部
インフラ系新技術・新製品の評価・ソリューション開発担当
Network → AP仮想化 → VDI → Neutron周辺 → Ceph
特技:製品・技術を外から挙動解析(Sourceを読みません読めません)
Open Standard Cloud Association(OSCA)技術分科会、OpenStack Days Tokyo実行委員
最近はCeph芸人関連がメイン
OpenStack×CephによるHCI
OpenStack ハイパーコンバージドインフラ (HCI) のポイントとベンチマーク結果考察
http://ja.community.dell.com/techcenter/m/mediagallery/3798
今度は79,200パターン!OpenStack&CephによるHyper Convereged Infrastructure検証結果
http://openstackdays.com/wp-content/uploads/2017/08/4-B4-8.pdf
その他 (https://www.slideshare.net/tkkd)
- 5. 4© Hitachi Solutions, Ltd. 2017. All rights reserved.
なぜKolla?
挙動解析をしていると何度も(数十~百回単位で)OpenStackをインストール
手動は無理がある
PackStackだとHost OSごと入れ直しするのが面倒
TripleOはConfig書くのが難しい (一度作れば楽)
Kollaならコンテナを使ってるので、OpenStack環境だけ綺麗に消せるのかも??
Deploy、再Deployツールとしての視点で評価
Kolla自体はあまり詳しくありません。Kolla Projectにはノータッチ。
Deploy時:Document通りだと、はまりどころ多数
DockerのVersionにやられる。ConfigがDefaultだとやられる。
再Deploy時:予想と違う挙動
Destroyという全て削除するコマンドがあるが、その後のDeployは問題あり
- 6. 5© Hitachi Solutions, Ltd. 2017. All rights reserved.
用語:kolla-ansibleコマンド
kolla-ansible prechecks
設定ファイル等のPrecheck
kolla-ansible pull
kolla-ansible用Docker ImageをRegistory ServerからLocal RepositoryへPull
kolla-ansible deploy
Docker Imageを用いてOpenStack環境をDeploy。Pullもしてくれる。
kolla-ansible post-deploy
admin-openrc.shの生成
kolla-ansible reconfigure
OpenStack Serviceの再設定。Custom Config変更時はコンテナも再構築される。
kolla-ansible destroy
Docker Imageや設定等を全部消す(と期待していた)
- 8. 7© Hitachi Solutions, Ltd. 2017. All rights reserved.
Kolla概要
Kolla provides production-ready containers and deployment tools for operating
OpenStack clouds that are scalable, fast, reliable, and upgradable using community
best practices.
Kolla-AnsibleとKolla-Kubernetesが存在。
今回はKolla-AnsibleのDeployとConfigについて。
(https://www.openstack.org/software/releases/ocata/components/kolla より)
- 9. 8© Hitachi Solutions, Ltd. 2017. All rights reserved.
Kolla-Ansible概要
OpenStackのコンポーネントをコンテナ化する仕組み(もしくはコンテナ自体)と、
そのDeploy Toolを提供
Deployを簡単に
Operation(Upgrade含む)を簡単に
インストール
Registry Serverから
又は
kolla-buildで生成
kolla-ansible
deploy
kolla-ansible
reconfigure
Kolla以外
Kollaの場合
Registry
Server
Neutron
Nova
- 11. 10© Hitachi Solutions, Ltd. 2017. All rights reserved.
構成図
Kolla Server1にAll in One構成で構築。 (Kolla Server2は後述)
NICは2本。片方はインターネット接続。
- 12. 11© Hitachi Solutions, Ltd. 2017. All rights reserved.
Kolla-Ansibleによる構築手順1(CentOS 7/All in Oneの場合)
2. 前提パッケージインストール
yum update
yum install epel-release
yum install python-pip
pip install -U pip
yum install python-devel libffi-devel gcc openssl-devel libselinux-python
yum install ansible
3. NTP設定
yum install ntp
systemctl enable ntpd.service
systemctl start ntpd.service
★Dockerは手動で入れない!Docsに従うと、Version不一致で後が入らなくなる。
1. OSインストール
NIC1にIPアサイン、NIC2はOn bootだけ有効に。DNS設定必須。
- 13. 12© Hitachi Solutions, Ltd. 2017. All rights reserved.
pip install kolla-ansible
Kolla-Ansibleによる構築手順2(CentOS 7/All in Oneの場合)
5. Kolla-Ansible インストール
6. 設定諸準備
cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/kolla/
cp /usr/share/kolla-ansible/ansible/inventory/* .
vi etc/kolla/globals.yml
openstack_release: "4.0.0" # 文頭コメントアウト外し。"4.0.0" or "master" へ。
kolla_internal_vip_address: "192.168.111.102" # haproxyのVIP用。NIC1と同セグメントで、NIC1とは別のIPを設定。
network_interface: "eno1" # 文頭コメントアウト外し。 NIC1のIFを指定。
neutron_external_interface: "eno2" # 文頭コメントアウト外し。 NIC2のIFを指定。
★global.ymlのダブルクオーテーション( " )は正確に。
4. Libvirtd停止(しなくてもいいかも)
systemctl stop libvirtd.service
systemctl disable libvirtd.service
- 14. 13© Hitachi Solutions, Ltd. 2017. All rights reserved.
kolla-ansible -i all-in-one deploy
Kolla-Ansibleによる構築手順3(CentOS 7/All in Oneの場合)
9. Deploy (Docker ImageのPullもここで勝手にされる)
10. Post Deploy (admin-openrc.shの生成)
kolla-ansible post-deploy
8. Precheck (あまり意味がなさそう)
kolla-ansible -i all-in-one prechecks
7. Automatic Bootstrap
kolla-genpwd
kolla-ansible -i all-in-one bootstrap-servers
★Dockerはここで勝手に入れてくれる。
Thanks to Red Hat中島さん、HPE石川さん、SUSE井川さん
- 16. 15© Hitachi Solutions, Ltd. 2017. All rights reserved.
Custom Config設定方法1
/(root)
etc/kolla/
config/
nova-compute/nova.conf
nova-scheduler/nova.conf
nova/
<hostname>/nova.conf ★ルール④
nova-compute.conf ★ルール③
nova-computeの
nova.confにオーバレイ
<hostname>のnova-xxxの
nova.conf全てにオーバレイ
neutron-server/neutron.conf
global.conf ★ルール①
nova.conf ★ルール②
全<Project>.confオーバレイ
nova-xxxのnova.conf全てにオーバレイ
<Service> / <Project>.conf
- 17. 16© Hitachi Solutions, Ltd. 2017. All rights reserved.
Custom Config設定方法2
仕組み
/etc/kolla/config に適切なディレクトリを作成し、
適切なファイル名で設定ファイルを配置
設定ファイルの中身
/etc/kolla/<Service>/<Project>.confにオーバレイされる
kolla-ansible reconfigureを実行すると、
元のConfig + オーバレイされた設定をもとに、コンテナが再生成される。
設定ファイル配置ルール
① /etc/kolla/config/global.conf
→全ての<Project>.conf(*)にオーバレイ
→/etc/kolla/nova-api/nova.conf
/etc/kolla/nova-compute/nova.conf
/etc/kolla/neutron-server/neutron.conf
・・・・
言葉の定義例
/etc/kolla/nova-compute/nova.conf
<Service> <Project>
[<Section>]
<Parameter> = <Value>
[DEFAULT]
debug = True
例書式
(*)keystone.conf、nova.conf、
neutron.conf、heat.conf、
glance-api.conf、
glance-registry.conf、etc...
- 18. 17© Hitachi Solutions, Ltd. 2017. All rights reserved.
Custom Config設定方法3
設定ファイル配置ルール(続き)
② /etc/kolla/config/<Project>.conf
→/etc/kolla/<Service>/<Project>.confにオーバレイ
#<Project>に対応する<Service>すべてに反映
例)/etc/kolla/config/nova.conf
→/etc/kolla/nova-api/nova.conf
/etc/kolla/nova-compute/nova.conf
・・・・ のように、nova-xxx全てにオーバレイ
× /etc/kolla/config/nova-compute.conf この書き方はNG
③ /etc/kolla/config/<Project>/<Service>.conf
→<Service>の<Project>.confにだけオーバレイ ★逆になるので非常にわかりづらい
例)/etc/kolla/config/nova/nova-compute.conf
→/etc/kolla/nova-compute/nova.conf
にだけ反映される
× /etc/kolla/config/nova/nova.conf この書き方はNG
言葉の定義例(再掲)
/etc/kolla/nova-compute/nova.conf
<Service> <Project>
- 19. 18© Hitachi Solutions, Ltd. 2017. All rights reserved.
Custom Config設定方法4
設定ファイル配置ルール (続き)
④ /etc/kolla/config/<Project>/<hostname>/<Project>.conf
→/etc/kolla/<Service>/<Project>.confにオーバレイ
#<hostname>の<Project>に対応する<Service>すべてに反映
例)/etc/kolla/config/nova/localhost/nova.conf
→/etc/kolla/nova-api/nova.conf
/etc/kolla/nova-compute/nova.conf
・・・・ のように、nova-xxx全てにオーバレイ
× /etc/kolla/config/nova/localhost/nova-compute.conf この書き方はNG
同一<Parameter>を異なる<Value>で複数のルールに記述した場合、
①②③④のルール順にオーバレイされる。(④が強い)
言葉の定義例(再掲)
/etc/kolla/nova-compute/nova.conf
<Service> <Project>
- 20. 19© Hitachi Solutions, Ltd. 2017. All rights reserved.
Custom Config設定方法1(再掲)
/(root)
etc/kolla/
config/
nova-compute/nova.conf
nova-scheduler/nova.conf
nova/
<hostname>/nova.conf ★ルール④
nova-compute.conf ★ルール③
nova-computeの
nova.confにオーバレイ
<hostname>のnova-xxxの
nova.conf全てにオーバレイ
neutron-server/neutron.conf
global.conf ★ルール①
nova.conf ★ルール②
全<Project>.confオーバレイ
nova-xxxのnova.conf全てにオーバレイ
<Service> / <Project>.conf
- 21. 20© Hitachi Solutions, Ltd. 2017. All rights reserved.
Destroyコマンドの挙動1
下記コマンド投入で、コンテナ、/etc/kolla/が一部以外削除される
Networkは、サーバ再起動するまでOVS設定が少し残る。
kolla-ansible destroy --yes-i-really-really-mean-it
destroy直後
destroy→サーバ再起動後
- 22. 21© Hitachi Solutions, Ltd. 2017. All rights reserved.
Destroyコマンドの挙動2
Destroy後に単に再DeployするとHorizonの画面が崩れる。(stylesheetが消える)
Destroy時にコンテナもConfigも一度消えているはずなのに・・・
初回Deploy後 Destroy→Deploy後
- 23. 22© Hitachi Solutions, Ltd. 2017. All rights reserved.
複数台構築時の注意事項
同一セグメントで【別の】kolla環境を複数台構築すると、後から構築したほうが動かない。
(Multi nodeのことではない)
haproxyのVRRPで使っているVRIDが被るのが原因
global.ymlのkeepalived_virtual_router_id: "51"を、
他のKolla環境(又はVRRPを使用しているサービス)と
かぶらないように変更が必要。
Thanks to HPE石川さん
- 24. 23© Hitachi Solutions, Ltd. 2017. All rights reserved.
まとめ
Deployはものすごく簡単
設定変更も、(複雑な)ルールがわかっていれば便利
Destroyで環境崩して作り直しは少し懸念あり。
少なくとも、Destroy後にサーバ再起動を推奨。
- 25. © Hitachi Solutions, Ltd. 2017. All rights reserved.
株式会社 日立ソリューションズ
業務革新統括本部 技術革新本部 研究開発部
https://www.slideshare.net/tkkd/
Kollaをインストールしてみた
2017/10/25
工藤 雄大
END
・Linuxは、Linus Torvaldsの米国およびその他の国における登録商標または商標です。
・OpenStack®の文字表記とOpenStackのロゴは、米国とその他の国におけるOpenStack Foundationの登録商標/サービスマークまたは商標/サービスマークのいずれかであり,
OpenStack Foundationの許諾を得て使用しています。日立製作所はOpenStack FoundationやOpenStackコミュニティの関連企業ではなく、また支援や出資を受けていません。
・OSCAは、Dell,Inc.の米国およびその他の国における商標または登録商標です。
・その他、記載の商標やロゴは、各社の商標または登録商標です。
本講演は、情報提供のみを目的としており、誤字脱字、技術上の誤りには一切責任を負いません。
本講演の内容は一般的な原則を記しており、すべての環境での動作を保証するものではありません。
本講演の内容は検証時のものであり、明示的、暗示的を問わず、いかなる内容も保証いたしません。