SlideShare a Scribd company logo
VMware Integrated OpenStack with NSX-V
POC ガイド (第3版) (VIO2.0.1+NSXv6.2.2)
2016年4月
大谷昌二郎
1
もくじ
• 更新履歴
• 用語
• この資料について
• VIOについて
• リソース
• 全体構成とシステム要件
• VIOを手に入れる
• インストール手順
- 事前準備
◦ vSphereを構成する
◦ NSX-vをインストールする
◦ NSX-vを構成する
- OMSをデプロイする
- vCenter に登録する
- OpenStackをデプロイする
- OpenStackのデプロイを確認する
• VIOを操作する
- OpenStack環境の起動と停止
- OMSのShellにアクセスする
- OpenStackのShellにアクセスする
- OMSに再接続する
- ログファイル
• トラブルシューティング ガイド
• Tips
• Dashboard を操作する
• OpenStackをCLIから操作する
• vSphereから見てみる
• NSX-Vから見てみる
• VIOをアンインストールする
2
New
Update
Update
Update
Update
Update
Update
更新履歴
• 2015年5月6日 第1版
• 2015年5月18日 第2版 (VIO1.0+NSX6.1.4)
• 2016年4月10日 第3版 (VIO2.0.1+NSXv6.2.2)
3
用語
• VMwareユーザ向けの用語集です。(未完成)
- インスタンス
◦ OpenStackによって管理されるゲストマシン
- イメージ (Glanceイメージ)
◦ 仮想マシンのテンプレート
- ダッシュボード (Dashboard)
◦ OpenStackを管理するためのWeb GUI
http://docs.openstack.org/ja/user-guide-admin/dashboard.html
- Floating (フローティング) IP
◦ インスタンスに割り当てることができるパブリックなIPアドレス
http://docs.openstack.org/ja/openstack-ops/content/floating_ips.html
- フレーバー
◦ 起動する仮想マシンの CPU、メモリ、ストレージ容量を定義したもの
http://docs.openstack.org/ja/user-guide-admin/dashboard_manage_flavors.html
- セキュリティグループ
◦ インスタンスに対して、アクセスが可能なトラフィックの種別を制限するために使用するネットワークのアクセスルー
ルを名前を付けてまとめたもの
http://docs.openstack.org/ja/user-guide-admin/nova_cli_manage_projects_security.html
4
この資料について
5
この資料について
• この資料はPOCを目的とした、VMware Integrated OpenStack の簡易的なインス
トール手順と、構成の確認方法について書いたものです。
• デプロイメントには「分散仮想スイッチとの連携」と「NSX for vSphereとの連携」
の2種類がありますが、ここでは「NSX for vSphereとの連携」のみ取り扱います。
• どちらかと言うとVMwareユーザ向けに作っています。
• VIO 2.x の新機能に関する部分は、また時間があるときにやろうと思います。
(LBaaS だけは少し触れています。)
6
VIOについて
7
VIOについて
• VMware Integrated OpenStack (VIO) はVMwareによるOpenStackの商用ディスト
リビューションです。
• VMwareの信頼性の高い仮想化ソフトウェアや各種管理ソフトウェアとの連携に
フォーカスし、OpenStack環境を簡単にデプロイメントしたりパッチを当てたりと
いった管理機能などを備えています。
• VIO 2.0 は OpenStack Kilo リリースがベースです。
• 製品紹介ページはこちらです。
https://www.vmware.com/jp/products/openstack/
8
slideshare P61より抜粋
http://www.slideshare.net/VMwareJenn/reston-virtualization-group-9182014
リソース
9
リソース
• ドキュメンテーション (マニュアル、リリースノート) (日本語化されてます)
• コミュニティ (コミュニティレベルでのサポートを受けられます)
• ハンズオンラボ (HOL-SDC-1620) (残念ながら VIO 1.0 なので古いです。)
• Youtube(英語)
• OpenStack Blog for VMware
10
全体構成とシステム要件
11
VIO with NSX-Vの全体構成 (この資料の手順で構成するもの)
12
※都合上、External NetworkとAPI Access Networkは同じセグメントにしています。
※Nested環境のため、実際はvCenter と NSX Manager はこの構成の外部に構築しています。
Internet
Datastore
「NFS-SSD」
Datastore
「NFS-SATA」
Management Cluster
API Access Network
192.168.205.0/24
DVS: Public-DVS
Port Group: Public
Internet
VIO Components 192.168.205.3
VIO-Loadbalancer-0
192.168.201.x
192.168.205.4
VIO-Loadbalancer-1
192.168.201.x
VIO-
Controller-0
192.168.201.x
VIO-
Controller-1
192.168.201.x
VIO-
Memcache-0
192.168.201.x
VIO-
Memcache-1
192.168.201.x
VIO-
RabbitMQ-0
192.168.201.x
VIO-
RabbitMQ-1
192.168.201.x
VIO-DB-0
192.168.201.x
VIO-DB-1
192.168.201.x
VIO-DB-2
192.168.201.x
VIO-
ComputeDrive-0
192.168.201.x
VIO-
ObjectStorage-0
192.168.201.x
Edge Cluster Compute Cluster 1
Edge Instances VM Instances
Management Network
192.168.201.0/24
DVS: vSwitch0
Port Group: VM Network
Transport Network
192.168.204.0/24
DVS: Tenant-DVS
Port Group: (per tenant)
External Network
192.168.205.0/24
DVS: Public-DVS
Port Group: Public
vCenter
192.168.201.121
NSX
Manager
192.168.201.50
NSX
Controller
192.168.201.51
NSX
Controller
192.168.201.52
NSX
Controller
192.168.201.53
management-
server
(OMS)
192.168.201.20
openstack-
template
ネットワークの種類と要件
13
コンポーネント 説明 要件
External Network
• NSX Edgeを経由してOpenStackインスタンスが接続
する外部ネットワーク
• 分散仮想スイッチ上のポートグループとして動作
• 他のネットワークとVLANなどで分割されていること
(ただしExternal NetworkとAPI Networkは同じネットワークでも動
作します。)
• 外部との接続性があること
• ポートグループを1つ仮想スイッチ上に作成しておくこと
API Access Network
• 外部からOpenStack APIやダッシュボードといった各
種OpenStackサービスに接続するネットワーク
• 分散仮想スイッチ上のポートグループとして動作
• 他のネットワークとVLANなどで分割されていること
(同上)
• 最低必要なIPアドレス数:5個 (連続したアドレスであること)
• 外部との接続性があること
• ポートグループを1つ仮想スイッチ上に作成しておくこと
Management Network
• 管理用の内部ネットワーク
• 標準スイッチまたは分散仮想スイッチ上のポートグ
ループとして動作
• 他のネットワークとVLANなどで分割されていること
• 最低必要なIPアドレス数:18個、Ceilometer を追加する場合は21個
(連続したアドレスであること)
• ポートグループを1つ仮想スイッチ上に作成しておくこと
Transport Network
• テナントネットワーク
• NSX連携の場合にはVXLANが動作
• 分散仮想スイッチ上のテナントごとに作成されるポー
トグループとして動作
• 他のネットワークとVLANなどで分割されていること
• VXLANのためのMTU 1600以上
※参考情報
「物理 NSX-V ネットワーク」
http://pubs.vmware.com/integrated-openstack-2/topic/com.vmware.openstack.install.doc/GUID-87B24795-A7F7-47E2-81BB-50AC406E2A60.html
※その他、vMotionやストレージのためのネットワークがあると思いますが、ここでは割愛です。
バージョン
• 製品の互換性についてはこちら
- VMware Product Interoperability Matrixes
http://partnerweb.vmware.com/comp_guide2/sim/interop_matrix.php
• ちなみにこの資料では以下の製品とバージョンで構成された環境を構築します。
- vCenter Server Appliance 6.0 U1b
- ESXi 6.0 U1a
- VMware NSX for vSphere 6.2.2
- VMware Integrated OpenStack 2.0.1
14
ハードウェア要件
• マニュアルを参照してください。
「NSX-V デプロイでのハードウェア要件」
http://pubs.vmware.com/integrated-openstack-2/topic/com.vmware.openstack.install.doc/GUID-
388628E9-0013-4DA0-B7B4-7107AB290AD5.html
• 補足
- あくまでPOC目的であれば、オーバーコミットやシンプロビジョニングなどを用いれば、マ
ニュアルにあるような規模の環境は実際には必要ありませんが、仮想マシンに対する割り当て
としては必要です。
- リソース割り当てができないと、OpenStack のデプロイ時にエラーになります。
15
ソフトウェア要件
• マニュアルを参照してください。
「NSX-V デプロイでのソフトウェア要件」
http://pubs.vmware.com/integrated-openstack-2/topic/com.vmware.openstack.install.doc/GUID-00DEB64C-6135-
4AE6-B157-EB6F2BF1C1BB.html
• 補足
- Management Cluster の要件
◦ 最低3台のESXi ホスト(各OpenStackコンポーネントに対してAnti-Affinityが適用されるため)
◦ DRS必須 (リソースプール作成のため)
◦ 管理コンポーネントを保管する1つ以上のデータストア (他のクラスターと併用可)
◦ 標準スイッチ、または分散仮想スイッチを構成
- Compute Cluster の要件
◦ 最低1台のESXi ホスト
◦ インスタンスに対するコンソールアクセスのためにESXi ファイアウォール設定から gdbserverに対する許可を行う(5900-5964/tcp)
◦ Glanceイメージとインスタンスを保管する1つ以上のデータストア (他のクラスターと併用可)
◦ 分散仮想スイッチを構成
- Edge Cluster の要件
◦ Management Cluster と併用可、ただし別途構成を推奨
◦ DRS必須 (リソースプール作成のため)
◦ Edgeを保管する1つ以上のデータストア (他のクラスターと併用可)
◦ 分散仮想スイッチを構成
16
VIOを手に入れる
17
VIOを手に入れる
• VIOは以下のライセンスを持っていれば無償で手に入れられます。
- vSphere Enterprise Plus
- vSphere with Operations Management Enterprise Plus
- vCloud Suite
- vSphere Enterprise + VMware Virtual SAN and/or VMware NSX
• ダウンロードURL
- https://www.vmware.com/go/download-openstack
• ダウンロードするもの
- VMware Integrated OpenStack Virtual Appliance
「VMware-OpenStack-2.0.0.0-3302254_OVF10.ova」
• 評価版は今のところ無いようです。
18
インストール手順
19
事前準備 vSphereを構成する
• ここではVIOをインストールする事前準備として、VIOにとって最低限必要なvSphere
周りの設定について書きます。
• 基本的なシステム設定やネットワーク設定、ストレージ設定などの詳細な設定手順は
割愛します。
20
事前準備 vSphereを構成する
1. vCenter Serverを構築する
2. データセンターを作成する
3. Management Clusterを作成する
- ホストを登録する
- DRSを有効にする
4. Compute Clusterを作成する
- ホストを登録する
- ホストのESXi ファイアウォール設定から gdbserverに
対する許可を行う
(ドキュメント:「ESXi ファイアウォール設定の管理」)
5. Edge Clusterを作成する
- ホストを登録する
- DRSを有効にする
21
事前準備 vSphereを構成する
6. クラスター共通設定
- ホストのVMkernelポートに対するvMotionの有効化
- ホストに対するデータストアの作成...など
- 以下はQuick Start Guideに書かれていますが、
必須じゃないです
◦ HA 有効化
- ホスト監視ステータス
◦ 「ホストの監視」を有効
- アドミッションコントロール
◦ ポリシーは任意に設定
- 仮想マシンのオプション
◦ 再起動の優先順位 「高」
- 仮想マシンの監視
◦ 「仮想マシンとアプリケーションの監視」
◦ 監視感度 「高」
22
事前準備vSphereを構成する
7. ネットワークを作成する
- 「ネットワークの種類と要件」にある4つのネットワークに対応する
仮想スイッチとポートグループを作成します。
23
事前準備 NSX-vをインストール・構成する
• ここではVIOをインストールする事前準備として、VIOにとって最低限必要なNSX for
vSphere周りのインストールと基本的な設定について書きます。
• 簡単に言えば、VIOのためにはNSX-vではトランスポートゾーンの作成までを行います。
• 参考情報
- VIO インストール時に必要なNSX-V必須パラメータ
http://pubs.vmware.com/integrated-openstack-2/topic/com.vmware.openstack.install.doc/GUID-
8A5B290F-E8AF-4BF1-999B-EC6AD3A59704.html
24
事前準備 NSX-vをインストールする
1. まず最初にNSX Managerをデプロイします。
vCenterから「OVFテンプレートのデプロイ」を実行し
ます。
2. ソースの選択
- NSX ManagerのOVAファイルを選択します。
3. 詳細の確認
- 「追加の構成オプションの承諾」にチェックを入れます。
25
事前準備 NSX-vをインストールする
4. EULAの承諾
- 「承諾」を選択します。
5. 名前およびフォルダの選択
- NSX Managerの仮想マシン名とデプロイ先を選択します。
26
事前準備 NSX-vをインストールする
6. リソースの選択
- NSX Managerの仮想マシン名とデプロイ先を選択します。
7. ストレージの選択
- ディスクのフォーマットを選択します。
- デプロイするデータストアを選択します。
27
事前準備 NSX-vをインストールする
8. ネットワークのセットアップ
- 接続するポートグループを選択します。
- 「ネットワークの種類と要件」にあるManagement Network
に相当するポートグループを選択してください。
28
事前準備 NSX-vをインストールする
9. テンプレートのカスタマイズ
- NSX Managerのネットワークの設定などを行います。
◦ パスワード
- 「admin」ユーザ パスワード
- CLI権限(enable)モード のパスワード
◦ ネットワークプロパティ
- ホスト名
- IPv4アドレス
- ネットマスク
- ゲートウェイ
◦ DNS
- DNSサーバ
- ドメイン検索リスト
◦ サービスの構成
- NTPサーバ
- SSHの有効化
29
事前準備 NSX-vをインストールする
10. 終了準備の完了
- 設定した内容を確認してデプロイを開始します。
11. デプロイと起動が終わったら、NSX ManagerのWeb
UIにアクセスし、admin ユーザでログインします。
https://<nsx manager>
30
事前準備 NSX-vをインストールする
12. ホーム画面から「View Summary」を選択します。
13. すべてのサービスがRunningになっていることを確認し
ます。特に「NSX Management Service」は少し時間
がかかります。
31
事前準備 NSX-vをインストールする
14. 次にホーム画面から「Manage vCenter Registration」
を選択します。
15. NSX ManagerをvCenterに登録します。
- Editを選択します。
32
事前準備 NSX-vをインストールする
16. 以下の接続情報を入力してOKを押します。
- vCenter Serverのホスト名、またはIPアドレス
- ユーザ名
- パスワード
17. Yesを選択して証明書を受け入れます。
33
事前準備 NSX-vをインストールする
18. Status が Connected になることを確認します。
19. 登録先のvCenterのWeb Clientにログインします。
34
事前準備 NSX-vをインストールする
20. ホーム画面にNetworking and Securityのアイコンがあ
れば登録は成功です。
35
事前準備 NSX-vを構成する
1. まずはNSXコントローラをデプロイします。
Networking and Securityを選択します。
2. 「インストール手順」- 「管理」に移動します。
「NSXコントローラノード」にある+ボタンを押します。
36
事前準備 NSX-vを構成する
3. コントローラの追加(1台目)
- 必要項目を入力してOKを押し、コントローラの作成を開始し
ます。
◦ データセンター
◦ クラスター/リソースプール
- Management Clusterまたはその配下のリソースプールを選択します。
◦ データストア
◦ 接続先
- 「変更」を選択して、Management Networkに相当するポートグループを
選択します。
◦ IPプール
- 「選択」を選択してコントローラに割り当てるIPアドレスのプールを作成し
ます。次項を参照してください。
◦ パスワード
37
事前準備 NSX-vを構成する
4. IPプールの選択
- 新規IPプールを選択します。
5. IPプールの追加
- 必要項目を入力してOKを押します。
◦ 名前
- 適当でOK
◦ ゲートウェイ
◦ プリフィックスの長さ
◦ 固定IPプール
- 最大で3台のコントローラをデプロイしますので、3つのアドレスを
用意します。
38
事前準備 NSX-vを構成する
6. IPプールの選択
- IPプールの選択画面に戻ります。
- 作成したIPプールを選択してOKを押します。
- 「コントローラの追加」画面に戻り、OKを押してコントロー
ラの作成を開始します。
7. ステータスが「デプロイ中です」から「接続中」になれ
ば作成は完了ですが、少し時間がかかります。
作成が完了しないと2台目以降の作成ができないため、そ
のあいだに次の「ホストの準備」を行うことをオススメ
します。
ここでは順番どおり進めます。
39
事前準備 NSX-vを構成する
8. コントローラの追加(2、3台目)(オプション)
- 1台目と同じ要領で作成しますが、2台目と3台目は同時に作
成可能です。
- パスワードは1台目の設定値が適用されます。
9. 3台すべてのステータスが「接続中」になれば作成は完
了です。
- なお、本来であればコントローラは合計3台作成する必要があ
りますが、実は1台だけでも動作しますので、本資料では1台だ
けで構築することにします。
40
事前準備 NSX-vを構成する
10. ホストの準備 (インストール)
- クラスターに対して NSX をインストールします。
- 「ホストの準備」に移動します。
- Transport Networkに接続する以下のクラスターを選択してア
クションから「インストール」を選択します。
◦ Edge Cluster
◦ Compute Cluster
- 「インストールを続行しますか?」に対して「はい」を選択し
ます。
- 画面のとおりエラーが発生しなければ完了です。
41
事前準備 NSX-vを構成する
11. ホストの準備 (設定)
- 次にVXLANネットワーク(VTEP)の構成を行います。
- 最初にどちらかのクラスターの「未構成」を選択します。
- VXLANネットワークの構成
◦ 必要項目を入力してOKを押し、ホストに対してVTEPを構成します。
- スイッチ
◦ Transport Networkが接続する分散仮想スイッチを選択します。
- VLAN
- MTU
◦ 1600以上
- Vmknic IPアドレス
◦ IPプールの使用
◦ IPプールを作成します。次項を参照してください。
- VMKNicチーミングポリシー
◦ フェイルオーバー
42
事前準備 NSX-vを構成する
12. IPプールの追加
- 必要項目を入力してOKを押します。
◦ 名前
- 適当でOK
◦ ゲートウェイ
◦ プリフィックスの長さ
◦ 固定IPプール
- 最低でもVTEPを構成するホスト分のアドレスを用意します。
- 「VXLAN ネットワークの構成」画面に戻り、OKを押して
VXLANネットワークの構成を開始します。
- 他のクラスターに対しても同じ要領で実施します。
- VXLANの部分が「構成済み」になれば完了です。
43
事前準備 NSX-vを構成する
13. 論理ネットワークの準備
- 「論理ネットワークの準備」に移動します。
- VXLAN転送
◦ これまでの設定内容を確認できます。
- セグメントID
◦ 「編集」を選択します。
◦ VXLANのセグメントIDの範囲を入力します。
44
事前準備 NSX-vを構成する
14. 論理ネットワークの準備
- トランスポートゾーン
◦ +ボタンを押します。
◦ 必要項目を入力してOKを押し、トランスポートゾーンを作成します。
- 名前
◦ 適当でOK
- レプリケーションモード
◦ ユニキャスト
- クラスター
◦ Edge ClusterとCompute Clusterを選択
45
事前準備 NSX-vを構成する
15. 論理ネットワークの準備
- トランスポートゾーン
◦ 作成が完了したら、VIOに必要なNSXの設定は完了です。
46
OMSをデプロイする
• ここではOpenStackコンポーネントのデプロイや起動、停止、拡張、構成確認などの管理を行
うOMS (OpenStack Management Server) のデプロイ方法を書きます。
• OMSはOVA形式からvAppとしてデプロイされます。
- 「management-server」 OMS
- 「openstack-template」 OpenStackコンポーネントのテンプレート
• Management Cluster にデプロイします。
• 参考情報
- 「vSphere Web Client での VMware Integrated OpenStack OVA のデプロイ」
http://pubs.vmware.com/integrated-openstack-2/topic/com.vmware.openstack.install.doc/GUID-
B4E58878-3AC2-4906-A4B4-BAF876241DBD.html
47
OMSをデプロイする
1. vCenterから「OVFテンプレートのデプロイ」を実行し
ます。
- myvmwareからダウンロードした以下のOVAファイルを選択
します。
「VMware-OpenStack-2.0.0.0-3302254_OVF10.ova」
2. 詳細の確認
- (2.0.1 のはずなんですが、2.0.0.0と表示される…)
- そのまま次へ
48
OMSをデプロイする
3. 仕様許諾契約書の承諾
- 「承諾」を選択します。
4. 名前およびフォルダの選択
- vAppの名前とデプロイ先を選択します
49
OMSをデプロイする
5. ストレージの選択
- ディスクのフォーマットを選択します。
- デプロイするデータストアを選択します。
6. ネットワークのセットアップ
- 接続するポートグループを選択します。
- 「ネットワークの種類と要件」にあるManagement Network
に相当するポートグループを選択してください。
50
OMSをデプロイする
7. テンプレートのカスタマイズ
- VIO ユーザ パスワード構成
◦ OMS の管理ユーザ「viouser」のパスワード設定
- ネットワークプロパティ
◦ ドメイン名
◦ IP アドレスとネットマスク
◦ デフォルトゲートウェイ
◦ DNS サーバアドレス
◦ ドメイン検索パス
◦ Networking Properties
◦ OMSのホスト名(FQDN)やIPアドレスなどのネットワーク設定、DNS設定
- その他
◦ NTPサーバ、Syslog サーバの指定
51
OMSをデプロイする
8. vService バインド
- そのまま次へ
9. 終了準備の完了
- デプロイ後にパワーオンを選択して、デプロイを開始します。
- 次のステップに移る前に一旦Web Clientからログアウトします。
52
OMSをデプロイする
10. OMS の vApp がパワーオンし、しばらくしてからWeb
Clientにログインし直します。
11. ホーム画面にVMware Integrated OpenStackのアイコ
ンがあれば vCenter への登録は成功です。
53
vCenter に登録する
• OMS をデプロイすると vCenter に対する登録は自動で行われます。
• 何らかの理由により登録がうまくいかない場合は OMS の管理画面にアクセスして登
録を行います。
- https://<OMS>:8443/VIO
• 参考情報
- 「Integrated OpenStack Manager vApp の登録」
http://pubs.vmware.com/integrated-openstack-
2/topic/com.vmware.openstack.install.doc/GUID-F306A926-8122-4052-8232-
9A2113FFD0C0.html
54
OpenStackをデプロイする
• ここではOMSの機能を使ってOpenStackコンポーネントをデプロイする手順を書きま
す。
• 参考情報
- 「Integrated OpenStack Manager を使用した新しい OpenStack インスタンスのデプロ
イ」
http://pubs.vmware.com/integrated-openstack-
2/topic/com.vmware.openstack.install.doc/GUID-2E09ABFF-F4FE-4DE2-9393-
23D62067232C.html
55
OpenStackをデプロイする
1. ホーム画面のVMware Integrated OpenStackのアイコ
ンを選択します。
2. 「はじめに」の画面から「OpenStack のデプロイ」を
選択してデプロイタスクを起動します。
56
OpenStackをデプロイする
3. デプロイ方法の選択
- 「このウィザードを使用して、新しい OpenStack インスタン
スを構成します。」を選択します。
4. vCenterの情報を入力します。
- デプロイ名の構成
◦ デフォルト
- vCenter Server 管理者認証情報の入力
◦ vCenter のIPアドレスまたはFQDN
◦ ユーザ名
◦ パスワード
◦ 証明書の検証を無視する
57
OpenStackをデプロイする
5. Select a destination
- 最初にOpenStackの管理コンポーネントのデプロイ先を選択し
ます。
- Management Clusterを選択します。
58
OpenStackをデプロイする
6. 管理ネットワークの構成
- 管理ネットワーク設定
◦ OpenStackの管理コンポーネントのIPアドレスなどのネットワーク設定を定義する箇所です。
- ポートグループ
◦ OpenStack管理コンポーネントの接続先を指定します。
◦ 本資料「ネットワークの種類と要件」にあるManagement Networkに相当するポートグルー
プを選択します。
- IP 範囲、サブネットマスク
◦ IPアドレスは最低 18 個必要です。
◦ Openstackの管理コンポーネントのIPアドレスはここから割り当てられます。
- ゲートウェイ
- DNS アドレス
- OpenStack API アクセス ネットワーク設定
◦ ロードバランサーの外側のインターフェースのIPアドレスなどのネットワーク設定を定義する箇所で
す。
- ポートグループ
◦ ロードバランサーの外側のインターフェースの接続先を指定します。
◦ 本資料「ネットワークの種類と要件」にあるAPI Access Networkに相当するポートグループ
を選択します。
- IP 範囲、サブネットマスク
◦ IPアドレスは最低 2 個必要です。
◦ ロードバランサーの外側インターフェースのIPアドレスはここから割り当てられます。
- ゲートウェイ
- DNS アドレス
59
OpenStackをデプロイする
7. ロード バランサーの構成
- ロードバランサーの設定を行います。
◦ パブリック ホスト名
◦ パブリック仮想 IP
- 冗長化されたロードバランサーのVIPです。
8. Nova クラスタの追加
- OpenStackインスタンスが作成されるクラスターを選択します。
- Compute Clusterを選択してください。
60
OpenStackをデプロイする
9. Nova データストアの追加
- OpenStackインスタンスが配置されるデータストアを選択しま
す。
10. Glance データストアの追加
- Glance イメージ(テンプレート)を配置するデータストアを
選択します。
61
OpenStackをデプロイする
11. Neutron ネットワークの設定
- NSX ネットワークを選択します。
- NSX Mangerの接続情報を入力します。
- 転送ゾーンを選択するとNSX Managerに接続して情報を取得
します。
12. OKを選択してNSX Managerの証明書を受け入れます。
62
OpenStackをデプロイする
13. NSX Managerから取得して情報を選択します。
- 転送ゾーン
◦ NSX Managerの構成で作成したトランスポートゾーンを選択します。
- エッジ クラスタ
◦ Edge Clusterを選択します。
- 仮想分散スイッチ
◦ 本資料「ネットワークの種類と要件」の「Transport Network」に相当する分
散仮想スイッチを選択します。
◦ テナントごとのポートグループはこの仮想スイッチの上に作成されます。
- 外部ネットワーク
◦ 本資料「ネットワークの種類と要件」の「External Network」に相当する
ポートグループを選択します。
◦ Edgeの外側のインターフェースはこのポートグループに接続します。
63
OpenStackをデプロイする
14. 認証ソースの構成
- OpenStack管理者のログイン情報を設定します。
- LDAP連携もできますが、ここではローカルデータベースを用
います。
15. Syslog サーバの構成
- OpenStack管理コンポーネントのログを収集するsyslogサーバ
を指定します。
64
OpenStackをデプロイする
16. カスタマ エクスペリエンス改善プログラム
- 任意で設定してください。
17. 終了準備の完了
- 設定に問題があったり、リソースが足りないとここでエラーが
発生します。
- 問題がなければ「終了」を選択してデプロイを開始します。
65
OpenStackをデプロイする
18. デプロイのステータスが表示されます。エラーが発生す
るとこの画面に表示されます。
19. ステータスが「実行中」になったらデプロイは完了です。
66
OpenStackのデプロイを確認する
• すべてのコンポーネントです。
67
OpenStackのデプロイを確認する
• Dashboardにアクセスします。
- ブラウザでデプロイメント ウィザードで設定したVIPにアクセ
スします。
https://<vip>
- OpenStack管理者のユーザでログインします。
- Dashboard(またはAPI)に対してはAPI Access Network、
またはそこまでルーティング可能なネットワークからアクセス
してください。
- Dashboard にはManagement Networkにある端末からアク
セスすることはできません。
68
OpenStackのデプロイを確認する
• 「ハイパーバイザー」を選択するとCompute Clusterが表
示されます。
• 他のハイパーバイザーと異なり、VMware vSphere は
OpenStack に対して個別の ESXi ホストではなく、
クラスター単位でリソースを提供します。
• これにより、クラスター配下では OpenStack に依存せず
に vSphere の vMotion や HA、DRS といった機能を
活用することができます。
- 参考:
VMware driver architecture
http://docs.openstack.org/kilo/config-reference/content/vmware.html
69
VIOを操作する
70
OpenStack環境の起動と停止
• OpenStack管理コンポーネントの起動と停止は常にOMSから行う必要があります。
• 「すべてのアクション」から操作します。
- 停止する場合は「OpenStack デプロイの停止」を選択
- 起動する場合は「OpenStack デプロイの開始」を選択
• vSphere ClientからVMを起動しても、サービスが立ち上がってきません。
71
OMSのShellにアクセスする
• OMSに対してSSHでアクセスすることができます。
- ユーザ名は viouser で、パスワードは OMS をデプロイしたと
きに入力したものです。
- OMS のコンソールからも Shell にログインすることが
できます。
72
Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-71-generic x86_64)
* Documentation: https://help.ubuntu.com/
Last login: Sun Mar 13 10:24:16 2016 from 192.168.7.5
viouser@oms020:~$
OpenStackのShellにアクセスする
• OMS経由で各OpenStackコンポーネントにSSHアクセスすることができます。
• viouserでアクセスします。
• hostsにホスト名が書かれているのでIPアドレスはいりません。
73
viouser@oms020:~$ ssh viouser@controller01
Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-71-generic x86_64)
* Documentation: https://help.ubuntu.com/
Last login: Sat Mar 19 06:36:21 2016 from oms020
viouser@controller01:~$
OMSに再接続する
• ここではvCenterからOMSに対して再接続を行う手順について書きます。
• OMSのvAppを開始したり再起動しても、起動時に自動的にvCenterに対して再接続し
ますが、手動での再接続やトラブルシューティングに用いられます。
74
OMSに再接続する
1. 「サマリ」を選択します。
2. 「サーバの変更」を選択します。
75
OMSに再接続する
3. 確認に対して「はい」を選択します。
4. 「management-server」(OMS)を選択して
「接続のテスト」を選択します。
76
OMSに再接続する
5. ケースによっては証明書の信頼に関する警告が表
示されますので、「OK」を選択します。
成功すれば「接続に成功しました」になります。
「OK」を選択します。
6. 最後に「OK」を選択します。
77
ログファイル
• デプロイメントの詳しい状況確認やトラブルシューティングのための主なログファイ
ルです。
- OMSのログファイル
/var/log/oms.log
- OpenStackのデプロイメント ログ
/var/log/oms/oms.log (仮想マシンの作成から起動まで)
/var/log/jarvis/ansible.log (仮想マシンに対するOpenStackのインストール)
• OMS や OpenStack コンポーネント含めてすべてのログを収集するには、OMS から
以下のコマンドを実行します。(OpenStack コンポーネントが稼働中である必要があ
ります。
78
viouser@oms020:~$ sudo viocli deployment getlogs
changed: [192.168.201.24]
changed: [192.168.201.25]
changed: [192.168.201.26]
(省略)
changed: [192.168.201.26]
Success: Collected logs to '/home/viouser/201603190719.tgz'
トラブルシューティング ガイド
デプロイメント編
79
OpenStackのデプロイをトラブルシューティングする
• ここではOpenStackのデプロイがうまくいかない場合にトラブルシューティングに役
立つ情報を紹介します。
- OMSのデプロイ時
- OpenStackのデプロイ時
80
OMSのデプロイ時の主なトラブルと確認方法
• トラブルその1
- vCenterへの初期登録がうまくいかない(ホーム画面にOpenStackアイコンが表示されない)
• 確認方法
- もし最初のデプロイメントではない場合、前回の登録を解除したか確認してください。
- OMSにアクセスして、/opt/vmware/vio/etc/vc.properties からvCenterのIP/FQDNが正し
いことを確認してください。
- KB2132824 が参考になるかもしれません。
- OMSのログを参照して、何か問題が起きて
いないか確認してみてください。登録がうまく
いくと以下のような記録が確認できます。
81
viouser@oms020:~$ more /opt/vmware/vio/etc/vc.properties
vim.host = 192.168.201.121
vim.port = 443
vim.evs_url = https://vc121.lab.local/vsm/extensionService
vim.evs_token = 1ceebe11e2ff8e310f2f64f9653e16ab48696be1
vim.thumbprint = d1:af:9c:53:a6:b5:0a:e2:8d:c9:af:d3:60:bc:39:06:c9:bd:bd:1c
vc.session_time_out = 240000
vim.cms_moref = VirtualMachine:vm-594
ext.prefix = com.vmware.openstack.vcext.instance-
product.name = VIO
oms.syslog_server = log.lab.local
syslog_server_port = 514
syslog_server_protocol = tcp
INFO localhost-startStop-1|
org.springframework.web.servlet.DispatcherServlet: FrameworkServlet 'restapi':
initialization completed in 1059 ms
OMSのデプロイ時の主なトラブルと確認方法
• トラブルその2
- OpenStackのアイコンを選択してOMSの画面に移動す
るとエラーが表示される
• 確認方法
- OMSへの接続に問題が起きている場合があります。
- まずOMSのvAppが起動していることを確認してくださ
い。
- 次にOMSへの再接続をしてみてください。
- 「はじめに」の画面の「基本タスク」の部分が
「OpenStack 管理サーバに接続」になっている
場合は接続できていません。
- それでもうまくいかない場合にはOMSのログを参照し
て、何か問題が起きていないか
確認してみてください。
82
OpenStackのデプロイ時の主なトラブルと確認方法
• トラブルその3
- OpenStackのデプロイメント ウィザードの最後で失敗する
• 確認方法
- ここで発生するエラーはだいたい要件に対してリソースが
不足しています。
- 以下のようなエラーが発生した場合には、特定の
コンポーネントに対してリソースを提供できるESXiが
ありません。例えば1台あたり4vCPU/16GBメモリが必要な
DBに対して、少なくともそれ以上のリソースを持つESXiを
用意する必要があります。(参考情報)
「ノード <コンポーネント名> を配置するための認定 ESXi ホストがありません。」
- 同種類のOpenStackコンポーネントに対して適用するアンチアフィニティルールによ
る分散も含めて、全体としてリソースが足りない場合には以下のようなエラーが発生し
ます。 (参考情報)
「非アフィニティ ルールに準拠する ESXi ホストが不足しています。8 個の vCPU が
ある ESXi ホストが 3 台以上必要です。」
83
OpenStackのデプロイ時の主なトラブルと確認方法
• トラブルその4
- OpenStackのデプロイメント途中で失敗する。
• 確認方法
- リソースが貧弱だと一番トラブるところです。
- Web Clientのエラーはあまり詳しい進捗を教えてくれないので、OpenStackのデプロイメント ログを
参照して、まずはどの部分で失敗しているか特定してください。
- 仮想マシンの作成から起動のところで失敗する場合
◦ ログ以外にも、vSphere Clientのタスクの結果でどんなトラブルか確認できます。
◦ だいたいvSphere側(特にIO負荷がかかるストレージのリソース不足)に問題がある場合が多いです。
- OpenStackのインストールに失敗する場合
◦ ansible.logにfailedと記録されたタスクに問題が起きています。
◦ Tipsも参考にしてみてください。
◦ 腕に自信があればどうにでもなる部分もあります。 (ansible.logから失敗したタスクを特定し、あとから手動でできるものであれ
ば、playbookから該当する部分をマスクしてスキップさせてしまう・・・など。)
84
OpenStackのデプロイ時の主なトラブルと確認方法
• トラブルその5
- OpenStack Dashboardにアクセスできない
• 確認方法
- OpenStackのデプロイメントが終わった直後などで、Controllerが起動しきっていないかもしれません。
- または、Management NetworkからはDashboardにアクセスすることができません。API Access
Networkからアクセスしてください。
85
Tips
86
デプロイのコツ
• ここでは Nested のようなリソースが限られる環境に対するデプロイメントにおけるTipsを書
きます。
1. デプロイ中にリソースが枯渇するのはほとんどの場合Controllerです。2つのControllerに対して2~
3GBくらいのメモリ予約をしてあげたほうがいいと思います。
2. デプロイは大きく分けて「テンプレートのクローン」→ 「中身の設定」という順番で行われます。
NSX Controllerが必要になるのは後者(のかなり後半)なので、それまでは落としておいて構いま
せん。
3. NSX Controller は1台だけでも動作します。
4. デプロイ中にDRSによってvMotionが発生することがあるので、DRSの移行のしきい値を優先順位1
以下にしておくとよいと思います。
5. 失敗したときに備えてOpenStackのデプロイを開始したら、
「すべてのアクション」から「構成のエクスポート」を
選択して設定ファイルをダウンロードしておいたほうがいいです。
やり直しするときに「エクスポートしたテンプレート使用して、
このウィザードで構成設定を事前入力します。」を選択して
その設定ファイルを読み込むと手入力を省いてくれます。
(手順3「デプロイ方法の選択」を参照)
87
初期デプロイ時にデフォルトのテンプレートのインポートをスキップする
• OpenStack のデプロイ中に Ubuntu 14.04 のテンプレートをインポートしますが、
これがストレージの負荷になり、タイムアウトしてデプロイが失敗することがありま
す。
• デプロイのワークフローを定義している ansible の playbook の該当部分をマスクす
ることで、このタスクをスキップすることができます。
• OMS の以下のファイルの該当部分をマスクします。
- /var/lib/vio/ansible/roles/config-local/tasks/main.yml
88
#- name: download stream-optimized image
(省略)
#- name: set image properties
# command: glance --os-auth-url (省略)
# run_once: true
# no_log: true
初期デプロイ後にテンプレートを手動でアップロードする
• デフォルトのテンプレートは OMS からダウンロードすることができます。
- http://<oms>/images/ubuntu-14.04-server-amd64.vmdk
• テンプレートをインポートするには OpenStack CLI をセットアップして、以下のコマ
ンドを実行します。
89
$ glance image-create --name ubuntu-14.04-server-amd64 --disk-format vmdk --container-format bare ¥
--visibility public --property vmware_disktype="streamOptimized" --property vmware_adaptertype="lsiLogic"
--property vmware_ostype="ubuntu64Guest" < ./ubuntu-14.04-server-amd64.vmdk
Dashboard を操作する
90
設定内容
• ここでは Dashboard を使用してテナントの作成から、ネットワークやインスタンスを作成・設定までをやってみます。
① テナントとユーザを作成する
- VIOは初期構成で管理者用のテナント(admin テナント)が構成されていますが、ここでは別途ユーザ用のテナントを作成することにします。
② 外部ネットワークを作成する
- まずは外部ネットワークを作成します。
- これは「VIO with NSX-Vの全体構成」の External Networkに相当します。外部ネットワークは管理者のみが作成することができます。
③ ルータを作成する
- ルータを作成し、外部ネットワークと接続します。
- ルータとしてNSX Edgeを構成しますが、細かいNSXとの連携部分については別のページで書きます。
- ここで作成されるEdgeはEdge Service Gatewayです。 Distributed Router は CLI から作成します。
④ 内部ネットワークを作成する
- 次にインスタンスが接続する内部ネットワークを作成し、これをルータに接続します。
- これは「VIO with NSX-Vの全体構成」の Transport Networkを流れるオーバーレイネットワークに相当します。内部ネットワークやルータ
はテナントユーザが作成することができます。
91
設定内容
(続き)
⑤ インスタンスを作成する
- ネットワークができたらインスタンスを作成します。
- OpenStackをデプロイメントする中で作成される(デフォルトの?)イメージを使用してインスタンスを作成します。
⑥ インスタンスを確認する
- 作成したインスタンスを確認します。
⑦ インスタンスを設定する
- 作成したインスタンスに対して、セキュリティグループや Floating IP 、ロードバランサーの設定を行います。
92
OpenStack テナント ネットワークトポロジー
• ここでは左の図のようなOpenStackのテナント構成を作成しています。
93
test-vm-2
内部ネットワーク
10.1.0.0/24
OpenStack で構成したトポロジー
(インスタンスのIPアドレスは DHCP なので、この後の画面とは異なります。)
NSX で構成されるトポロジー
NSX Edge Service Gateway
test-vm-1
外部ネットワーク
192.168.205.0/24
LBaas によるロードバランシング
分散ファイアウォールによる
マイクロセグメンテーション
Floating IP による
SNAT/DNAT
外部ネットワーク 内部ネットワーク
① テナントとユーザを作成する
1. ブラウザでデプロイメント ウィザードで設定したVIPに
アクセスし、管理者としてDashboardにログインしま
す。
- https://<vip>
2. [ユーザ管理] - [プロジェクト] を選択します。
94
参考:「プロジェクトかテナントか?」
http://docs.openstack.org/ja/openstack-ops/content/projects_users.html#projects_or_tenants
認証はすべてKeystoneに移行されていますので、この資料ではテナントと呼びます。
① テナントとユーザを作成する
3. 「プロジェクトの作成」を選択します。
4. プロジェクトの情報
- 名前
◦ テナントの名前を入力します。
- 説明
◦ テナントの説明文を入力します。
- 「プロジェクトの作成」を選択します。
95
① テナントとユーザを作成する
5. テナントが作成されました。
96
① テナントとユーザを作成する
6. ユーザを作成します。[ユーザ管理] - [ユーザー]を選択
します。
7. 「ユーザの作成」を選択します。
97
① テナントとユーザを作成する
8. ユーザーの作成
- ユーザー名とパスワード
- 主プロジェクト
◦ 所属するテナントを選択します。
- ロール
◦ ユーザ権限である_member_を選択します。(デフォルト)
- 「ユーザーの作成」を選択します。
9. ユーザが作成されました。
98
① テナントとユーザを作成する
10. ログインできるか確認する
- 画面右上からadminユーザをログアウトし、Dashboardに対し
て新たに作成したユーザでログインし直します。
11. ユーザ権限でログインすると[管理]の項目が
ありません。
99
② 外部ネットワークを作成する
1. 外部ネットワークを作成する
- 管理者としてDashboardにログインし、[管理] –
[ネットワーク]を選択します。
2. 「ネットワークの作成」を選択します。
100
② 外部ネットワークを作成する
3. ネットワークの作成
- 名前
- プロジェクト
◦ adminテナントを選択します。
- プロバイダーネットワーク種別
◦ Port Groupを選択します。
- 物理ネットワーク
◦ External Networkに相当するポートグループのIDを
dvportgroup-xxxの形式で入力します。
確認方法は次項を参照してください。
- 管理状態
◦ 有効にします。(デフォルト)
- 共有
◦ 無効にします。
- 外部ネットワーク
◦ 有効にします。
101
② 外部ネットワークを作成する
4. ポートグループのIDの確認方法
- vSphere Web Clientの[ホーム] - [ネットワー
ク] から External Networkに相当するポートグ
ループを選択してください。
- ブラウザのURLの中に「dvportgroup-xxx」とい
うIDが見つかるはずです。
102
② 外部ネットワークを作成する
5. 外部ネットワークが作成されました。
6. 次にサブネットを作成します。
作成した外部ネットワークを選択します。
103
② 外部ネットワークを作成する
7. 「サブネットの作成」を選択します。
104
② 外部ネットワークを作成する
8. サブネットの作成
- サブネット名
- ネットワークアドレス
◦ 「VIO with NSX-Vの全体構成」の External Networkのネットワークアドレ
スを入力します。
- ゲートウェイIP
◦ External Networkのゲートウェイのアドレスを入力します。
- 「次へ」を選択します。
105
② 外部ネットワークを作成する
9. サブネットの作成
- DHCP有効
◦ 無効にします。
(外部ネットワークで有効にするとエラーになります。
忘れやすいので注意)
- IPアドレス割り当てプール
◦ 外部ネットワークに接続するルータなどに割り当てるIPアドレスのプールを設
定します。
- DNSサーバ
- 最後に「作成」を選択します。
106
② 外部ネットワークを作成する
10. 外部ネットワークのサブネットが作成されました。
107
③ ルータを作成する
1. テナントユーザでDashboardにログインします。
[プロジェクト] - [ネットワーク] - [ネットワーク
トポロジー]を選択します。
先ほど作成した外部ネットワークが共有されています。
2. まずはルータを作成します。
「ルータの作成」を選択します。
108
③ ルータを作成する
3. ルータの作成
- ルータ名
◦ 適当な名前を付けます。
- 管理状態
◦ 有効にします。(デフォルト)
- 外部ネットワーク
◦ 先ほど作成した外部ネットワークを選択します。
- Router Mode
◦ ここでは「集中ルータ」を選択します。
- ルーター種別
◦ ここでは「Exclusive」を選択します。
- ルータの作成を選択します。
109
③ ルータを作成する
• 備考
- 分散ルータを作成する場合には、「ルータ種別」を
「デフォルト設定を使用」を選択してください。
(それ以外を選択するとエラーになります。)
110
③ ルータを作成する
4. ルータが作成されました。
111
③ ルータを作成する
5. テナントユーザはルータの外部のIPアドレスを確認する
ことができません。
管理者としてログインし、[管理]-[システム]-[ルータ]-
[<作成されたルータ>]-[概要]を選択すると、外部
ネットワークのIPアドレスプールから割り当てられた
アドレスを確認することができます。
112
④ 内部ネットワークを作成する
1. 次に内部ネットワークを作成します。
ネットワークトポロジーからネットワークの作成を選択
します。
2. ネットワークの作成
- ネットワーク名
- 管理状態
◦ 有効にします。(デフォルト)
- 「次へ」を選択します。
113
④ 内部ネットワークを作成する
3. サブネットの作成
- サブネット名
- ネットワークアドレス
◦ 内部ネットワークのネットワークアドレスを入力します。
- ゲートウェイIP
◦ インスタンスのデフォルトゲートウェイのアドレスを入力します。
◦ このアドレスでルータの内部ネットワークのインターフェースが設定されます。
- 「次へ」を選択します。
114
④ 内部ネットワークを作成する
4. サブネットの詳細
- IPアドレス割り当てプール
◦ DHCPのプール
- DNSサーバ
◦ インスタンスに設定するDNS
- 「作成」を選択します。
115
④ 内部ネットワークを作成する
5. [ネットワーク]に移動します。
内部ネットワークが作成されました。
6. 内部ネットワークを選択します。
116
④ 内部ネットワークを作成する
7. 内部ネットワークのサブネットが作成されました。
117
④ 内部ネットワークを作成する
8. 次にルータを内部ネットワークに接続します。
「ルーター」を選択します。
9. ルータを選択します。
118
④ 内部ネットワークを作成する
10. 「インターフェース」を選択します。
11. 「インターフェースの追加」を選択します。
119
④ 内部ネットワークを作成する
12. インターフェースの追加
- サブネット
◦ 先ほど作成した内部ネットワークを選択します。
- IPアドレス
◦ 空欄にします。内部ネットワークのサブネットを作成したときに
定義したゲートウェイIPが設定されます。
- 「インターフェースの追加」を選択します。
13. インターフェースが追加されました。
120
④ 内部ネットワークを作成する
14. 「ネットワークトポロジー」を選択します。
ルータが内部ネットワークに接続しました。
ここでひとまずネットワークの作成は完了とします。
121
⑤ インスタンスを作成する
1. テナントユーザでDashboardにログインし、「インス
タンス」を選択します。
2. 「インスタンスの起動」を選択します。
122
⑤ インスタンスを作成する
3. インスタンスの起動
- インスタンス名
◦ OpenStackにおけるインスタンスの名前です。
- フレーバー
◦ ここではm1.smallを選択します。フレーバーの詳細が右側に表示されます。
◦ 一番小さいフレーバーであるm1.tinyを使用したいのですが、ディスクサイズが1GBのこの
m1.tinyは、このあと選択するUbuntu 14.04のイメージを起動するのには使うことができ
ません。
◦ なぜなら、VIOがデフォルトでアップロードするUbuntu 14.04のイメージは最小ディスク
サイズが4GBで定義されており、つまり4GB以上で起動しなければならないためです。(こ
の定義は変更できます。)
- インスタンス数
◦ このあとで必要になるので2つ作成します。
- インスタンスのブートソース
◦ イメージからの起動を選択します。
- イメージ名
◦ デフォルトで用意されているUbuntu 14.04を選択します。
4. 上のメニューから「ネットワーク」を選択します。
123
⑤ インスタンスを作成する
5. インスタンスが接続するネットワークを選択します。
- 「利用可能なネットワーク」から、先ほど作成した内部ネット
ワークをドラッグアンドドロップするか、 を選択して「選択
済みネットワーク」に移動させます。
6. 最後に右下の「起動」を選択します。
124
+
⑤ インスタンスを作成する
7. インスタンスの一覧画面に戻ります。「ステータス」が
稼働中になれば作成は完了です。
- 一番最初のインスタンスの作成は時間がかかります。
- これはイメージが保管されているGlance datastoreから、
Nova datastoreにキャッシュ用としてイメージのコピーが行
われるからです。
125
⑥ インスタンスを確認する
1. インスタンスの一覧には主な情報が表示されます。
- インスタンス名
- イメージ名
- IPアドレス
- サイズ
- ステータス
- 稼動状態 …など
2. インスタンスの名前を選択して、詳細情報に移動します。
126
⑥ インスタンスを確認する
3. インスタンスの詳細
- インスタンスの名前
- インスタンスのID
- スペック (次項に続く)
127
⑥ インスタンスを確認する
4. インスタンスの詳細 (続き)
- 接続しているネットワークとIPアドレス
- セキュリティグループの内容
- 接続されているボリューム ・・・など
128
⑥ インスタンスを確認する
5. コンソールに接続する
- 「コンソール」を選択してコンソールに接続します。
- ここでコンソールにアクセスできない場合には、ホストのESXi
ファイアウォール設定がされていない可能性があります。
- リンクを選択して、コンソールのみを表示します。
6. 別ウインドウでコンソールに接続した状態です。
129
⑥ インスタンスを確認する
7. インスタンスからネットワーク接続を確認する
- とりあえず外部への疎通を確認します。
- Loginを選択してEnterを押します。
- デフォルトのイメージはID : root / PW : vmware で
ログインします。
130
⑥ インスタンスを確認する
8. インスタンス情報にあるIPアドレスがDHCP
で実際に取得できていることを確認します。
9. 外部のどこかにpingとwgetを実行します。
- とりあえず外部へのルーティングと疎通、名前解
決ができていることが確認できました。
131
⑥ インスタンスを確認する
10. 「ネットワークトポロジー」を選択します。
- トポロジーにインスタンスが表示されていることを確認します。
132
⑦ インスタンスを設定する
• ここからは、作成したインスタンスに対していくつか設定をしていきます。
- セキュリティを設定する
◦ HTTPとSSHの受信を許可するセキュリティグループを作成し、インスタンスに割り当ててみようと思います。
- Floating IPを設定する
◦ Floating IPを設定して、外部からインスタンスに接続してみます。
- ロードバランサーを構成する
◦ LBaaS(Load-Balancing-as-a-Service) を使用して、NSX Edge に対してロードバランサーの設定を行います。
133
⑦ インスタンスを設定する
セキュリティを設定する
1. 「アクセスとセキュリティ」に移動します。
2. 「セキュリティグループの作成」を選択します。
134
⑦ インスタンスを設定する
セキュリティを設定する
3. セキュリティグループの作成
- 名前
- 説明
- セキュリティグループの作成を選択します。
4. 作成できたら「ルールの管理」を選択します。
135
⑦ インスタンスを設定する
セキュリティを設定する
5. デフォルトですべての送信許可のルールが定義さ
れています。「ルールの追加」を選択します。
136
⑦ インスタンスを設定する
セキュリティを設定する
6. 「ルール」からHTTPを選択して、「追加」を選
択します。
変更しない限りすべてのネットワーク
(0.0.0.0/0)からの受信を許可します。
7. HTTPに対する受信を許可するルールが定義され
ました。
137
⑦ インスタンスを設定する
セキュリティを設定する
8. 同じ要領でSSHも作成します。
9. SSHに対する受信を許可するルールが定義されま
した。
138
⑦ インスタンスを設定する
セキュリティを設定する
10. もう1つルールを作成します。これは同じセキュ
リティグループに所属するインスタンス同士の通
信を許可する設定です。
- ルール
◦ 「その他のプロトコル」を選択します。
- 接続相手
◦ 「セキュリティグループ」を選択します。
- セキュリティグループ
◦ 「このグループ」を選択します。
11. ルールが定義されました。
これでセキュリティグループの設定は終わりです。
139
⑦ インスタンスを設定する
セキュリティを設定する
12. 次にセキュリティグループをインスタンスに割り
当てます。「インスタンス」に移動します。
13. インスタンスのアクションから「セキュリティグ
ループの編集」を選択します。
140
⑦ インスタンスを設定する
セキュリティを設定する
14. 作成したセキュリティグループの を選択して、
右側の「インスタンスのセキュリティグループ」
に移動させます。
最後に「保存」を選択して終了します。
141
+
⑦ インスタンスを設定する
Floating IPを設定する
1. 「アクセスとセキュリティ」に移動して
「Floating IP」の確保を選択します。
2. 外部ネットワークを選択して、「IPの確保」を選
択します。これによって外部ネットワークのサブ
ネットを作成したときに定義したIPアドレス割り
当てプールから割り当てられます。
142
⑦ インスタンスを設定する
Floating IPを設定する
3. IPアドレスを確保することができました。
同じ要領でもう1つ確保します。
次に「割り当て」を選択します。
4. Floating IP の割り当ての管理
- IPアドレス
◦ 確保したIPアドレスを選択します。
- IPを割り当てるポート
◦ インスタンスを選択します。
- 「割り当て」を選択します。
143
⑦ インスタンスを設定する
Floating IPを設定する
5. IPアドレスがインスタンスに割り当てられました。
144
⑦ インスタンスを設定する
Floating IPを設定する
6. 外部からFloating IPに対してアクセスしてみます。
- デフォルトで用意されているUbuntu 14.04には
apache2がインストールされていませんので、apt-get
でインストールしてください。
145
⑦ インスタンスを設定する
ロードバランサーを構成する
1. [ネットワーク]-[ロードバランサー]から
「プールの追加」を選択します。
146
⑦ インスタンスを設定する
ロードバランサーを構成する
2. ロードバランサーのプールを作成します。
- 名前
◦ 適当な名前を付けます。
- サブネット
◦ 内部ネットワークを選択します。
- プロトコル
◦ インスタンスで起動しているサービスに関係した
プロトコルを選択します。
◦ HTTP 以外に HTTPS や TCP を選択することができます。
- 負荷分散方式
◦ 適当なものを選択します。
◦ ROUND_ROBIN 以外に LEAST_CONNECTIONS、SOURCE_IP を選
択することができます。
- 最後「追加」を選択します。
147
⑦ インスタンスを設定する
ロードバランサーを構成する
3. プールが作成されました。
4. 次にロードバランサーのメンバーを作成します。
- メンバーから「メンバーの追加」を選択します。
148
⑦ インスタンスを設定する
ロードバランサーを構成する
5. メンバーを追加します。
- プール
◦ 先ほど作成したプールを選択します。
- メンバーの指定方法
◦ 「稼働中のインスタンスから選択」、または IP アドレスを
直接入力することも可能です。
- メンバー
◦ 作成済みのインスタンスを両方選択します。
- 重み
◦ インスタンスを一度に登録すると、この設定は同じ値がインスタンス
に対して設定されます。
◦ 個別に異なる値を設定することも可能です。
- ポート番号
◦ 同上
- 最後に追加を選択します。
149
⑦ インスタンスを設定する
ロードバランサーを構成する
6. メンバーが追加されました。
7. 次にロードバランサーのヘルスチェック設定を
作成します。
- モニターから「モニターの追加」を選択します。
150
⑦ インスタンスを設定する
ロードバランサーを構成する
5. モニターを設定します。
- 種別
◦ PING、TCP、HTTP、HTTPS から選択できます。
- 遅延、タイムアウト、最大試行回数
◦ 適当に設定します。
- 追加を選択します。
151
⑦ インスタンスを設定する
ロードバランサーを構成する
8. モニターが追加されました。
9. 次にモニターをプールに対して割り当てます。
- プールの Actions から「モニターの割り当て」を
選択します。
152
⑦ インスタンスを設定する
ロードバランサーを構成する
10. 先ほど作成したモニターを選択して割り当てます。
11. 次に仮想 IP を追加します。
- プールの Actions から「仮想 IP の追加」を
選択します。
153
⑦ インスタンスを設定する
ロードバランサーを構成する
12. 仮想 IP を設定します。
- 名前
- 仮想 IP のサブネット
◦ 内部のサブネットを選択します。
◦ この中から未使用のIP アドレスが割り当てられるか、または任意の
IP アドレスを設定することができます。
- ポート番号、プロトコル
- セッション永続性
◦ SOURCE_IP、HTTP_COOKIE、APP_COOKIE から
選択することができます。
- 最大接続数
- 最後に追加を選択します。
154
⑦ インスタンスを設定する
ロードバランサーを構成する
13. 仮想 IP が割り当てられました。
14. 最後に、外部 IP アドレスとして Floating IP を
設定します。
- [コンピュート]-[アクセスとセキュリティ]-[Floating
IP] から 「割り当て」を選択します。
155
⑦ インスタンスを設定する
ロードバランサーを構成する
15. 先ほど作成した仮想 IP に対して Floating IP を
割り当てます。
16. 仮想 IP に対して Floating IP が割り当てられま
した。
156
⑦ インスタンスを設定する
ロードバランサーを構成する
17. ロードバランサーが動作していることを確認しま
す
- Floating IP アドレスに対してアクセスして、通信が
バランスされることを確認します。
157
OpenStackを CLI から操作する
158
OpenStackをCLIから操作する
• ここからは、これまでDashbordから設定した設定を、代わりに外部の端末から
OpenStack CLIを使ってやってみます。
• あまり詳しいことは書きませんので、 例えばCLIの構文についてはReferenceなどを見
てください。
- 「OpenStack Command-Line Interface Reference」
http://docs.openstack.org/cli-reference/content/
159
① 準備
② テナントを作成する
③ ユーザを作成する
④ 外部ネットワークを作成する
⑤ 外部サブネットを作成する
⑥ ルータを作成する
⑦ 内部ネットワークを作成する
⑧ 内部サブネットを作成する
⑨ SSHキーを作成する
⑩ インスタンスを作成する
⑪ Floating IPを設定する
⑫ インスタンスにSSHでアクセスする
⑬ ロードバランサーを構成する
① 準備
1. 端末にOpenStack コマンドラインクライアントをインストールします。
- 参考:「OpenStack コマンドラインクライアントのインストール」
http://docs.openstack.org/ja/user-guide-admin/common/cli_install_openstack_command_line_clients.html
2. loadbalancerから証明書を取得します。
- loadbalanacer01 と 02 どちらでもいいです。
- 証明書は/etc/ssl/certs/vio.pemです。
- scpでダウンロードでもいいですが、ターミナル
からコピーして同じ名前で端末に保存したほうが
いいと思います。
160
viouser@oms020:~$ ssh loadbalancer01
Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-71-generic x86_64)
* Documentation: https://help.ubuntu.com/
Last login: Sat Apr 2 08:53:32 2016 from oms030
viouser@loadbalancer01:~$ cat /etc/ssl/certs/vio.pem
-----BEGIN CERTIFICATE-----
(省略)
-----END CERTIFICATE-----
viouser@loadbalancer01:~$
① 準備
3. vSphere Web Client から API のエンドポイントとなる仮想 IP (パブリック仮想
IP とプライベート仮想 IP)を確認します。
161
① 準備
4. 環境変数を設定するOpenStack RC ファイルを作成します。ファイル名は任意です。
- 管理者用 (Management Networkからアクセスする必要があります。)
- テナントユーザ用 (API Access Networkからアクセスする必要があります。)
162
ファイル名:cloudadmin.rc
unset OS_SERVICE_TOKEN
unset OS_SERVICE_ENDPOINT
export OS_AUTH_URL=http://XXX.XXX.XXX.XXX:35357/v2.0
export OS_REGION_NAME=nova
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=*****
export NOVA_ENDPOINT_TYPE=internalURL
export OS_ENDPOINT_TYPE=internalURL
export CINDER_ENDPOINT_TYPE=internalURL
プライベート仮想 IP を指定します
管理者のテナント
管理者の名前
管理者のパスワード
ファイル名:tb-user1.rc
unset OS_ENDPOINT_TYPE
unset NOVA_ENDPOINT_TYPE
unset CINDER_ENDPOINT_TYPE
unset OS_REGION_NAME
export OS_AUTH_URL=https://vio.lab.local:5000/v2.0
export OS_TENANT_NAME=tenant-b
export OS_USERNAME=tb-user1
export OS_PASSWORD=*****
export OS_CACERT=/home/*****/vio.pem
Ddashboardのホスト名、またはパブリック仮想 IP
テナント名
テナントユーザ
テナントユーザのパスワード
loadbalancerから取得した証明書の場所
ファイル名:tb-user1.bat(Windows用)
unset OS_ENDPOINT_TYPE
unset NOVA_ENDPOINT_TYPE
unset CINDER_ENDPOINT_TYPE
unset OS_REGION_NAME
export OS_AUTH_URL=https://vio.lab.local:5000/v2.0
export OS_TENANT_NAME=tenant-b
export OS_USERNAME=tb-user1
export OS_PASSWORD=*****
set OS_CACERT=C:¥Python27¥Scripts¥vio.pem
② テナントを作成する
• 管理者用の環境変数をロードします。
• 作成します。
• 確認します。
• 詳細を確認します。
163
# openstack project create --description 'Tenant A' tenant-a
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | Tenant A |
| enabled | True |
| id | 73a133ae82294410a15c6bc9baf69959 |
| name | tenant-a |
+-------------+----------------------------------+
# source cloudadmin.rc
# openstack project list
+----------------------------------+----------+
| ID | Name |
+----------------------------------+----------+
| 60218e89ca9e4ddea04b18a79ea121c8 | service |
| 73a133ae82294410a15c6bc9baf69959 | tenant-a |
| a3d1a516532e44ef86696bdfb092afeb | admin |
+----------------------------------+----------+
# openstack project show tenant-a
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | Tenant A |
| enabled | True |
| id | 73a133ae82294410a15c6bc9baf69959 |
| name | tenant-a |
| properties | |
+-------------+----------------------------------+
③ ユーザを作成する
• 作成します。
• 確認します。
• 詳細を確認します。
164
# openstack user create --project tenant-a --password VMware1! ta-user1
+------------+----------------------------------+
| Field | Value |
+------------+----------------------------------+
| email | None |
| enabled | True |
| id | 9486d83d9b5c4b0a8212ddf57eda09d9 |
| name | ta-user1 |
| project_id | 73a133ae82294410a15c6bc9baf69959 |
| username | ta-user1 |
+------------+----------------------------------+
# openstack user list
+----------------------------------+----------+
| ID | Name |
+----------------------------------+----------+
| 36caafddc593487b804116413ddc83c7 | glance |
| 59df8877e55c4507a71a9e2f8becc78f | cinder |
| 9486d83d9b5c4b0a8212ddf57eda09d9 | ta-user1 |
| a8143dcdab0d49088a1bf181b1e93dc6 | nova |
| c11392d9ca654055a68ba2d82fe04927 | heat |
| c5b6ff20261848bf964541fe7bdc74cf | admin |
| c7f1470c052d4565864105b86c130d75 | neutron |
+----------------------------------+----------+
# openstack user show ta-user1
+------------+----------------------------------+
| Field | Value |
+------------+----------------------------------+
| email | None |
| enabled | True |
| id | 9486d83d9b5c4b0a8212ddf57eda09d9 |
| name | ta-user1 |
| project_id | 73a133ae82294410a15c6bc9baf69959 |
| username | ta-user1 |
+------------+----------------------------------+
④ 外部ネットワークを作成する
• 管理者用の環境変数をロードします。
• 作成します。
165
# neutron net-create Ext-Network-1 --provider:network_type=portgroup --provider:physical_network=dvportgroup-39 --router:external=true
Created a new network:
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | True |
| id | e9322562-5a70-4b31-afc6-74f4a9526324 |
| name | Ext-Network-1 |
| port_security_enabled | True |
| provider:network_type | portgroup |
| provider:physical_network | dvportgroup-39 |
| provider:segmentation_id | 0 |
| router:external | True |
| shared | False |
| status | ACTIVE |
| subnets | |
| tenant_id | a3d1a516532e44ef86696bdfb092afeb |
+---------------------------+--------------------------------------+
# source cloudadmin.rc
④ 外部ネットワークを作成する
• 確認します。
• 詳細を確認します。
166
# neutron net-list
+--------------------------------------+----------------+-------------------------------------------------------+
| id | name | subnets |
+--------------------------------------+----------------+-------------------------------------------------------+
| 6effd6c4-241d-4b6b-9485-fe22ac97ac21 | inter-edge-net | 5650fee1-9df0-4fa2-8f1f-d07777f3f40b 169.254.128.0/17 |
| e9322562-5a70-4b31-afc6-74f4a9526324 | Ext-Network-1 | |
+--------------------------------------+----------------+-------------------------------------------------------+
# neutron net-show Ext-Network-1
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | True |
| id | e9322562-5a70-4b31-afc6-74f4a9526324 |
| name | Ext-Network-1 |
| port_security_enabled | True |
| provider:network_type | portgroup |
| provider:physical_network | dvportgroup-39 |
| provider:segmentation_id | 0 |
| router:external | True |
| shared | False |
| status | ACTIVE |
| subnets | |
| tenant_id | a3d1a516532e44ef86696bdfb092afeb |
+---------------------------+--------------------------------------+
⑤ 外部サブネットを作成する
• 作成します。
167
# neutron subnet-create --allocation-pool start=192.168.205.100,end=192.168.205.199 --name Ext-Subnet-1 --dns-nameserver 192.168.201.2 --enable_dhcp=False Ext-Network-1 192.168.205.0/24
Created a new subnet:
+-------------------+--------------------------------------------------------+
| Field | Value |
+-------------------+--------------------------------------------------------+
| allocation_pools | {"start": "192.168.205.100", "end": "192.168.205.199"} |
| cidr | 192.168.205.0/24 |
| dns_nameservers | 192.168.201.2 |
| enable_dhcp | False |
| gateway_ip | 192.168.205.1 |
| host_routes | |
| id | ddcc0025-3919-4b8f-97f8-a426118588c2 |
| ip_version | 4 |
| ipv6_address_mode | |
| ipv6_ra_mode | |
| name | Ext-Subnet-1 |
| network_id | e9322562-5a70-4b31-afc6-74f4a9526324 |
| subnetpool_id | |
| tenant_id | a3d1a516532e44ef86696bdfb092afeb |
+-------------------+--------------------------------------------------------+
⑤ 外部サブネットを作成する
• 確認します。
• 詳細を確認します。
168
# neutron subnet-list
+--------------------------------------+-------------------+------------------+--------------------------------------------------------+
| id | name | cidr | allocation_pools |
+--------------------------------------+-------------------+------------------+--------------------------------------------------------+
| 5650fee1-9df0-4fa2-8f1f-d07777f3f40b | inter-edge-subnet | 169.254.128.0/17 | {"start": "169.254.128.2", "end": "169.254.255.254"} |
| ddcc0025-3919-4b8f-97f8-a426118588c2 | Ext-Subnet-1 | 192.168.205.0/24 | {"start": "192.168.205.100", "end": "192.168.205.199"} |
+--------------------------------------+-------------------+------------------+--------------------------------------------------------+
# neutron subnet-show Ext-Subnet-1
+----------------------------+--------------------------------------------------------+
| Field | Value |
+----------------------------+--------------------------------------------------------+
| advanced_service_providers | |
| allocation_pools | {"start": "192.168.205.100", "end": "192.168.205.199"} |
| cidr | 192.168.205.0/24 |
| dns_nameservers | 192.168.201.2 |
| enable_dhcp | False |
| gateway_ip | 192.168.205.1 |
| host_routes | |
| id | ddcc0025-3919-4b8f-97f8-a426118588c2 |
| ip_version | 4 |
| ipv6_address_mode | |
| ipv6_ra_mode | |
| name | Ext-Subnet-1 |
| network_id | e9322562-5a70-4b31-afc6-74f4a9526324 |
| subnetpool_id | |
| tenant_id | a3d1a516532e44ef86696bdfb092afeb |
+----------------------------+--------------------------------------------------------+
⑥ ルータを作成する
• テナントユーザの環境変数をロードします。
• 作成します。
• 外部ネットワークに接続します。
169
# neutron router-create --router_type=exclusive ta-router-1
Created a new router:
+-----------------------+--------------------------------------+
| Field | Value |
+-----------------------+--------------------------------------+
| admin_state_up | True |
| distributed | False |
| external_gateway_info | |
| id | 00196a2e-15ea-479b-8a26-40084a72fa58 |
| name | ta-router-1 |
| router_size | compact |
| router_type | exclusive |
| routes | |
| status | ACTIVE |
| tenant_id | 73a133ae82294410a15c6bc9baf69959 |
+-----------------------+--------------------------------------+
# neutron router-gateway-set ta-router-1 Ext-Network-1
Set gateway for router ta-router-1
# source ta-user1.rc
⑥ ルータを作成する
• 確認します。
• 詳細を確認します。
170
# neutron router-list
+--------------------------------------+-------------+-----------------------------------------------------------------------------------------------------------------------+-------------+
| id | name | external_gateway_info | distributed |
+--------------------------------------+-------------+-----------------------------------------------------------------------------------------------------------------------+-------------+
| 00196a2e-15ea-479b-8a26-40084a72fa58 | ta-router-1 | {"network_id": "e9322562-5a70-4b31-afc6-74f4a9526324", "enable_snat": true, "external_fixed_ips": [{"subnet_id": | False |
| | | "ddcc0025-3919-4b8f-97f8-a426118588c2", "ip_address": "192.168.205.100"}]} | |
+--------------------------------------+-------------+-----------------------------------------------------------------------------------------------------------------------+-------------+
# neutron router-show ta-router-1
+-----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+-----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| admin_state_up | True |
| distributed | False |
| external_gateway_info | {"network_id": "e9322562-5a70-4b31-afc6-74f4a9526324", "enable_snat": true, "external_fixed_ips": [{"subnet_id": "ddcc0025-3919-4b8f-97f8-a426118588c2", |
| | "ip_address": "192.168.205.100"}]} |
| id | 00196a2e-15ea-479b-8a26-40084a72fa58 |
| name | ta-router-1 |
| router_size | compact |
| router_type | exclusive |
| routes | |
| status | ACTIVE |
| tenant_id | 73a133ae82294410a15c6bc9baf69959 |
+-----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
⑥ ルータを作成する
• 備考
- Distributed Routerを作成するには
オプションを付けます。
- 参考
「OpenStack Command-Line Interface Reference」
http://docs.openstack.org/cli-
reference/content/neutronclient_commands.html#neutronclient_subcommand_router-create
171
$ neutron router-create --distributed True ta-router-3
Created a new router:
+-----------------------+--------------------------------------+
| Field | Value |
+-----------------------+--------------------------------------+
| admin_state_up | True |
| distributed | True |
| external_gateway_info | |
| id | aee21c77-532c-42a6-a79c-29b63baed204 |
| name | ta-router-3 |
| routes | |
| status | ACTIVE |
| tenant_id | 73a133ae82294410a15c6bc9baf69959 |
+-----------------------+--------------------------------------+
⑦ 内部ネットワークを作成する
• 作成します。
• 確認します。
• 詳細を確認します。
172
# neutron net-create Int-Network-1
Created a new network:
+-----------------------+--------------------------------------+
| Field | Value |
+-----------------------+--------------------------------------+
| admin_state_up | True |
| id | e5b9a82c-dc2d-47a6-9c7a-f41bd6149092 |
| name | Int-Network-1 |
| port_security_enabled | True |
| router:external | False |
| shared | False |
| status | ACTIVE |
| subnets | |
| tenant_id | 73a133ae82294410a15c6bc9baf69959 |
+-----------------------+--------------------------------------+
# neutron net-list
+--------------------------------------+---------------+---------------------------------------+
| id | name | subnets |
+--------------------------------------+---------------+---------------------------------------+
| e791fe85-66ab-4e13-8e52-80971b6d769f | Ext-Network-1 | 9e266bcc-031d-45bf-b52a-0a99b65b2d94 |
| 2e0322f8-1227-4420-aaa5-0f380c7bab1d | Int-Network-1 | |
+--------------------------------------+---------------+---------------------------------------+
# neutron net-show Int-Network-1
+-----------------------+--------------------------------------+
| Field | Value |
+-----------------------+--------------------------------------+
| admin_state_up | True |
| id | 2e0322f8-1227-4420-aaa5-0f380c7bab1d |
| name | Int-Network-1 |
| port_security_enabled | True |
| router:external | False |
| shared | False |
| status | ACTIVE |
| subnets | |
| tenant_id | 73a133ae82294410a15c6bc9baf69959 |
+-----------------------+--------------------------------------+
⑧ 内部サブネットを作成する
• 作成します。
• 確認します。
173
# neutron subnet-create --name Int-Subnet-1 --dns-nameserver 192.168.201.2 Int-Network-1 10.1.0.0/24
Created a new subnet:
+-------------------+--------------------------------------------+
| Field | Value |
+-------------------+--------------------------------------------+
| allocation_pools | {"start": "10.1.0.2", "end": "10.1.0.254"} |
| cidr | 10.1.0.0/24 |
| dns_nameservers | 192.168.201.2 |
| enable_dhcp | True |
| gateway_ip | 10.1.0.1 |
| host_routes | |
| id | e2d2f792-1efb-4465-842d-576140952371 |
| ip_version | 4 |
| ipv6_address_mode | |
| ipv6_ra_mode | |
| name | Int-Subnet-1 |
| network_id | 2e0322f8-1227-4420-aaa5-0f380c7bab1d |
| subnetpool_id | |
| tenant_id | 73a133ae82294410a15c6bc9baf69959 |
+-------------------+--------------------------------------------+
# neutron subnet-list
+--------------------------------------+--------------+-------------+--------------------------------------------+
| id | name | cidr | allocation_pools |
+--------------------------------------+--------------+-------------+--------------------------------------------+
| e2d2f792-1efb-4465-842d-576140952371 | Int-Subnet-1 | 10.1.0.0/24 | {"start": "10.1.0.2", "end": "10.1.0.254"} |
+--------------------------------------+--------------+-------------+--------------------------------------------+
⑧ 内部サブネットを作成する
• ルータと接続します。
174
# neutron router-interface-add ta-router-1 Int-Subnet-1
Added interface 0fea0454-5b86-494b-8625-2d5c3304abe1 to router ta-router-1.
⑨ SSHキーを作成する
• SSH キーを作成します。
175
$ nova keypair-add key > key.pem
$ chmod 700 key.pem
$ nova keypair-list
+------+-------------------------------------------------+
| Name | Fingerprint |
+------+-------------------------------------------------+
| key | de:41:df:be:85:17:a7:d9:51:37:98:d6:8c:f8:9f:d7 |
+------+-------------------------------------------------+
$ cat key.pem
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAwHL8idH1B5niCviNMhf8QB8YCLniAz2DYPgRQmkOAehCow8U
省略
80hLmUdz+w4I1gHVUyn9+sZNNJOfRlZ9Gz3xs5AdGkeIxdk5p0RLZWdG
-----END RSA PRIVATE KEY-----
$ nova keypair-show key
+-------------+-------------------------------------------------+
| Property | Value |
+-------------+-------------------------------------------------+
| created_at | 2016-04-03T06:07:54.000000 |
| deleted | False |
| deleted_at | - |
| fingerprint | de:41:df:be:85:17:a7:d9:51:37:98:d6:8c:f8:9f:d7 |
| id | 2 |
| name | key |
| updated_at | - |
| user_id | 9486d83d9b5c4b0a8212ddf57eda09d9 |
+-------------+-------------------------------------------------+
Public key: ssh-rsa AAAAB3NzaC1yc2EAAAw(省略)6ooFrQDkCYPq8IafSW8PG+Cntp9 Generated-by-Nova
⑩ インスタンスを作成する
• インスタンスが接続する
内部ネットワークの ID を
確認します。
• インスタンス用のフレーバー
を確認します。
• イメージの名前を確認します。
• セキュリティグループの
名前を確認します。
176
$ neutron net-list
+--------------------------------------+---------------+--------------------------------------------------+
| id | name | subnets |
+--------------------------------------+---------------+--------------------------------------------------+
| 5fc65a0c-dba9-47bf-b38f-f89bc66550c4 | Int-Network-1 | 3aeafb5e-5385-406f-aadd-8a04359b5e28 10.1.0.0/24 |
| e9322562-5a70-4b31-afc6-74f4a9526324 | Ext-Network-1 | ddcc0025-3919-4b8f-97f8-a426118588c2 |
+--------------------------------------+---------------+--------------------------------------------------+
$ nova flavor-list
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
| 1 | m1.tiny | 512 | 1 | 0 | | 1 | 1.0 | True |
| 2 | m1.small | 2048 | 20 | 0 | | 1 | 1.0 | True |
| 3 | m1.medium | 4096 | 40 | 0 | | 2 | 1.0 | True |
| 4 | m1.large | 8192 | 80 | 0 | | 4 | 1.0 | True |
| 5 | m1.xlarge | 16384 | 160 | 0 | | 8 | 1.0 | True |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
$ nova image-list
+--------------------------------------+---------------------------+--------+--------+
| ID | Name | Status | Server |
+--------------------------------------+---------------------------+--------+--------+
| 460cc0fd-f610-4a32-9042-f3e019bb75e3 | ubuntu-14.04-server-amd64 | ACTIVE | |
+--------------------------------------+---------------------------+--------+--------+
$ nova secgroup-list
+--------------------------------------+-------------+------------------------+
| Id | Name | Description |
+--------------------------------------+-------------+------------------------+
| 436afb07-eb8a-4baa-acc4-57857159b1b8 | default | Default security group |
| 083b1e87-ad04-440f-8ea0-136528e685da | web-and-ssh | Allow web and ssh |
+--------------------------------------+-------------+------------------------+
⑩ インスタンスを作成する
• インスタンスを起動します。
177
$ nova boot --flavor m1.small --image ubuntu-14.04-server-amd64 ¥
--nic net-id=5fc65a0c-dba9-47bf-b38f-f89bc66550c4 --key-name key ¥
--security-group web-and-ssh --min-count 2 test-vm
+--------------------------------------+------------------------------------------------------------------+
| Property | Value |
+--------------------------------------+------------------------------------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-AZ:availability_zone | nova |
| OS-EXT-STS:power_state | 0 |
| OS-EXT-STS:task_state | scheduling |
| OS-EXT-STS:vm_state | building |
| OS-SRV-USG:launched_at | - |
| OS-SRV-USG:terminated_at | - |
| accessIPv4 | |
| accessIPv6 | |
| adminPass | oeWAeJ6c6US8 |
| config_drive | |
| created | 2016-04-09T11:48:07Z |
| flavor | m1.small (2) |
| hostId | |
| id | 493fb366-d3f5-4dd5-8cfc-9ae5e2de35c6 |
| image | ubuntu-14.04-server-amd64 (460cc0fd-f610-4a32-9042-f3e019bb75e3) |
| key_name | key |
| metadata | {} |
| name | test-vm-1 |
| os-extended-volumes:volumes_attached | [] |
| progress | 0 |
| security_groups | web-and-ssh |
| status | BUILD |
| tenant_id | 73a133ae82294410a15c6bc9baf69959 |
| updated | 2016-04-09T11:48:07Z |
| user_id | 9486d83d9b5c4b0a8212ddf57eda09d9 |
+--------------------------------------+------------------------------------------------------------------+
⑩ インスタンスを作成する
• 確認します。
• 詳細を確認します。
178
$ nova list
+--------------------------------------+-----------+--------+------------+-------------+--------------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+-----------+--------+------------+-------------+--------------------------+
| 493fb366-d3f5-4dd5-8cfc-9ae5e2de35c6 | test-vm-1 | ACTIVE | - | Running | Int-Network-1=10.1.0.108 |
| ef8c3c6c-dc73-46e9-9afe-81ff30dc9a4d | test-vm-2 | ACTIVE | - | Running | Int-Network-1=10.1.0.109 |
+--------------------------------------+-----------+--------+------------+-------------+--------------------------+
$ nova show test-vm-1
+--------------------------------------+------------------------------------------------------------------+
| Property | Value |
+--------------------------------------+------------------------------------------------------------------+
| Int-Network-1 network | 10.1.0.108 |
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-AZ:availability_zone | nova |
| OS-EXT-STS:power_state | 1 |
| OS-EXT-STS:task_state | - |
| OS-EXT-STS:vm_state | active |
| OS-SRV-USG:launched_at | 2016-04-09T11:48:18.000000 |
| OS-SRV-USG:terminated_at | - |
| accessIPv4 | |
| accessIPv6 | |
| config_drive | |
| created | 2016-04-09T11:48:07Z |
| flavor | m1.small (2) |
| hostId | 231ef3139e1ea4eed113e21fdab788815d0e6c4f9d89faaf2a2117fb |
| id | 493fb366-d3f5-4dd5-8cfc-9ae5e2de35c6 |
| image | ubuntu-14.04-server-amd64 (460cc0fd-f610-4a32-9042-f3e019bb75e3) |
| key_name | key |
| metadata | {} |
| name | test-vm-1 |
| os-extended-volumes:volumes_attached | [] |
| progress | 0 |
| security_groups | web-and-ssh |
| status | ACTIVE |
| tenant_id | 73a133ae82294410a15c6bc9baf69959 |
| updated | 2016-04-09T11:48:18Z |
| user_id | 9486d83d9b5c4b0a8212ddf57eda09d9 |
+--------------------------------------+------------------------------------------------------------------+
⑪ Floating IPを設定する
• Floating IP を作成します。
• 確認します。
179
$ nova floating-ip-create Ext-Network-1
+--------------------------------------+-----------------+-----------+----------+---------------+
| Id | IP | Server Id | Fixed IP | Pool |
+--------------------------------------+-----------------+-----------+----------+---------------+
| 3d2b1964-fa61-4818-aa78-1009759b7582 | 192.168.205.101 | - | - | Ext-Network-1 |
+--------------------------------------+-----------------+-----------+----------+---------------+
$ nova floating-ip-list
+--------------------------------------+-----------------+-----------+----------+---------------+
| Id | IP | Server Id | Fixed IP | Pool |
+--------------------------------------+-----------------+-----------+----------+---------------+
| 3d2b1964-fa61-4818-aa78-1009759b7582 | 192.168.205.101 | - | - | Ext-Network-1 |
+--------------------------------------+-----------------+-----------+----------+---------------+
⑪ Floating IPを設定する
• Floating IP を割り当てます。
• 確認します。
180
$ nova floating-ip-associate test-vm-1 192.168.205.101
$ nova list
+--------------------------------------+---------+--------+------------+-------------+-----------------------------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+---------+--------+------------+-------------+-----------------------------------------+
| 0c19dd3c-018d-42ea-af27-d5b001a06487 | test-vm | ACTIVE | - | Running | Int-Network-1=10.1.0.3, 192.168.205.101 |
+--------------------------------------+---------+--------+------------+-------------+-----------------------------------------+
⑫ インスタンスにSSHでアクセスする
181
$ ssh -i key.pem ubuntu@192.168.205.101
Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-71-generic x86_64)
* Documentation: https://help.ubuntu.com/
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
ubuntu@test-vm-1:~$
⑬ ロードバランサーを構成する
• 内部サブネットの IDを確認
します。
• プールを作成します。
182
$ neutron subnet-list
+--------------------------------------+--------------+-------------+----------------------------------------------+
| id | name | cidr | allocation_pools |
+--------------------------------------+--------------+-------------+----------------------------------------------+
| 3aeafb5e-5385-406f-aadd-8a04359b5e28 | Int-Subnet-1 | 10.1.0.0/24 | {"start": "10.1.0.100", "end": "10.1.0.199"} |
+--------------------------------------+--------------+-------------+----------------------------------------------+
$ neutron lb-pool-create --lb-method ROUND_ROBIN --name WebPool-1 ¥
--protocol HTTP --subnet-id 3aeafb5e-5385-406f-aadd-8a04359b5e28
Created a new pool:
+------------------------+--------------------------------------+
| Field | Value |
+------------------------+--------------------------------------+
| admin_state_up | True |
| description | |
| health_monitors | |
| health_monitors_status | |
| id | 665b0afc-76df-4931-93c6-2daea37c8122 |
| lb_method | ROUND_ROBIN |
| members | |
| name | WebPool-1 |
| protocol | HTTP |
| provider | vmwareedge |
| status | PENDING_CREATE |
| status_description | |
| subnet_id | 3aeafb5e-5385-406f-aadd-8a04359b5e28 |
| tenant_id | 73a133ae82294410a15c6bc9baf69959 |
| vip_id | |
+------------------------+--------------------------------------+
⑬ ロードバランサーを構成する
• 確認します。
• 詳細を確認します。
183
$ neutron lb-pool-list
+--------------------------------------+-----------+------------+-------------+----------+----------------+--------+
| id | name | provider | lb_method | protocol | admin_state_up | status |
+--------------------------------------+-----------+------------+-------------+----------+----------------+--------+
| 665b0afc-76df-4931-93c6-2daea37c8122 | WebPool-1 | vmwareedge | ROUND_ROBIN | HTTP | True | ACTIVE |
+--------------------------------------+-----------+------------+-------------+----------+----------------+--------+
$ neutron lb-pool-show WebPool-1
+------------------------+--------------------------------------+
| Field | Value |
+------------------------+--------------------------------------+
| admin_state_up | True |
| description | |
| health_monitors | |
| health_monitors_status | |
| id | 665b0afc-76df-4931-93c6-2daea37c8122 |
| lb_method | ROUND_ROBIN |
| members | |
| name | WebPool-1 |
| protocol | HTTP |
| provider | vmwareedge |
| status | ACTIVE |
| status_description | |
| subnet_id | 3aeafb5e-5385-406f-aadd-8a04359b5e28 |
| tenant_id | 73a133ae82294410a15c6bc9baf69959 |
| vip_id | |
+------------------------+--------------------------------------+
⑬ ロードバランサーを構成する
• 仮想マシンの IP を確認します。
• メンバーを作成します。
184
$ neutron lb-member-create --address 10.1.0.108 --protocol-port 80 --weight 1 WebPool-1
Created a new member:
+--------------------+--------------------------------------+
| Field | Value |
+--------------------+--------------------------------------+
| address | 10.1.0.108 |
| admin_state_up | True |
| id | fb90eb3b-2725-4601-9c8d-13378ee428af |
| pool_id | 665b0afc-76df-4931-93c6-2daea37c8122 |
| protocol_port | 80 |
| status | PENDING_CREATE |
| status_description | |
| tenant_id | 73a133ae82294410a15c6bc9baf69959 |
| weight | 1 |
+--------------------+--------------------------------------+
$ neutron lb-member-create --address 10.1.0.109 --protocol-port 80 --weight 1 WebPool-1
Created a new member:
+--------------------+--------------------------------------+
| Field | Value |
+--------------------+--------------------------------------+
| address | 10.1.0.109 |
| admin_state_up | True |
| id | 164ae626-92f5-4674-916c-d6ba77c5aaf3 |
| pool_id | 665b0afc-76df-4931-93c6-2daea37c8122 |
| protocol_port | 80 |
| status | PENDING_CREATE |
| status_description | |
| tenant_id | 73a133ae82294410a15c6bc9baf69959 |
| weight | 1 |
+--------------------+--------------------------------------+
$ nova list
+--------------------------------------+-----------+--------+------------+-------------+-------------------------------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+-----------+--------+------------+-------------+-------------------------------------------+
| 493fb366-d3f5-4dd5-8cfc-9ae5e2de35c6 | test-vm-1 | ACTIVE | - | Running | Int-Network-1=10.1.0.108, 192.168.205.101 |
| ef8c3c6c-dc73-46e9-9afe-81ff30dc9a4d | test-vm-2 | ACTIVE | - | Running | Int-Network-1=10.1.0.109 |
+--------------------------------------+-----------+--------+------------+-------------+-------------------------------------------+
⑬ ロードバランサーを構成する
• 確認します。
• 詳細を確認します。
185
$ neutron lb-member-list
+--------------------------------------+------------+---------------+--------+----------------+--------+
| id | address | protocol_port | weight | admin_state_up | status |
+--------------------------------------+------------+---------------+--------+----------------+--------+
| 164ae626-92f5-4674-916c-d6ba77c5aaf3 | 10.1.0.109 | 80 | 1 | True | ACTIVE |
| fb90eb3b-2725-4601-9c8d-13378ee428af | 10.1.0.108 | 80 | 1 | True | ACTIVE |
+--------------------------------------+------------+---------------+--------+----------------+--------+
$ neutron lb-member-show fb90eb3b-2725-4601-9c8d-13378ee428af
+--------------------+--------------------------------------+
| Field | Value |
+--------------------+--------------------------------------+
| address | 10.1.0.108 |
| admin_state_up | True |
| id | fb90eb3b-2725-4601-9c8d-13378ee428af |
| pool_id | 665b0afc-76df-4931-93c6-2daea37c8122 |
| protocol_port | 80 |
| status | ACTIVE |
| status_description | |
| tenant_id | 73a133ae82294410a15c6bc9baf69959 |
| weight | 1 |
+--------------------+--------------------------------------+
⑬ ロードバランサーを構成する
• モニターを作成します。
• 確認します。
• 詳細を確認します。
186
$ neutron lb-healthmonitor-create --type PING --delay 3 --max-retries 3 --timeout 3
Created a new health_monitor:
+----------------+--------------------------------------+
| Field | Value |
+----------------+--------------------------------------+
| admin_state_up | True |
| delay | 3 |
| id | 3afc612d-b604-4414-acf0-864377e057b8 |
| max_retries | 3 |
| pools | |
| tenant_id | 73a133ae82294410a15c6bc9baf69959 |
| timeout | 3 |
| type | PING |
+----------------+--------------------------------------+
$ neutron lb-healthmonitor-list
+--------------------------------------+------+----------------+
| id | type | admin_state_up |
+--------------------------------------+------+----------------+
| 3afc612d-b604-4414-acf0-864377e057b8 | PING | True |
+--------------------------------------+------+----------------+
$ neutron lb-healthmonitor-show 3afc612d-b604-4414-acf0-864377e057b8
+----------------+--------------------------------------+
| Field | Value |
+----------------+--------------------------------------+
| admin_state_up | True |
| delay | 3 |
| id | 3afc612d-b604-4414-acf0-864377e057b8 |
| max_retries | 3 |
| pools | |
| tenant_id | 73a133ae82294410a15c6bc9baf69959 |
| timeout | 3 |
| type | PING |
+----------------+--------------------------------------+
⑬ ロードバランサーを構成する
• モニターをプールに対して割り当てます。
• 仮想 IP を作成します。
187
$ neutron lb-healthmonitor-associate 3afc612d-b604-4414-acf0-864377e057b8 WebPool-1
Associated health monitor 3afc612d-b604-4414-acf0-864377e057b8
$ neutron lb-vip-create --name VIP-Web-1 --protocol-port 80 --protocol HTTP ¥
--subnet-id 3aeafb5e-5385-406f-aadd-8a04359b5e28 WebPool-1
Created a new vip:
+---------------------+--------------------------------------+
| Field | Value |
+---------------------+--------------------------------------+
| address | 10.1.0.110 |
| admin_state_up | True |
| connection_limit | -1 |
| description | |
| id | a545f16a-2281-44fe-b959-5a37ed8f235a |
| name | VIP-Web-1 |
| pool_id | 665b0afc-76df-4931-93c6-2daea37c8122 |
| port_id | b0c2bbe4-0410-422e-a20f-0bedc538c90f |
| protocol | HTTP |
| protocol_port | 80 |
| session_persistence | |
| status | PENDING_CREATE |
| status_description | |
| subnet_id | 3aeafb5e-5385-406f-aadd-8a04359b5e28 |
| tenant_id | 73a133ae82294410a15c6bc9baf69959 |
+---------------------+--------------------------------------+
⑬ ロードバランサーを構成する
• 確認します。
• 詳細を確認します。
188
$ neutron lb-vip-list
+--------------------------------------+-----------+------------+----------+----------------+--------+
| id | name | address | protocol | admin_state_up | status |
+--------------------------------------+-----------+------------+----------+----------------+--------+
| a545f16a-2281-44fe-b959-5a37ed8f235a | VIP-Web-1 | 10.1.0.110 | HTTP | True | ACTIVE |
+--------------------------------------+-----------+------------+----------+----------------+--------+
$ neutron lb-vip-show VIP-Web-1
+---------------------+--------------------------------------+
| Field | Value |
+---------------------+--------------------------------------+
| address | 10.1.0.110 |
| admin_state_up | True |
| connection_limit | -1 |
| description | |
| id | a545f16a-2281-44fe-b959-5a37ed8f235a |
| name | VIP-Web-1 |
| pool_id | 665b0afc-76df-4931-93c6-2daea37c8122 |
| port_id | b0c2bbe4-0410-422e-a20f-0bedc538c90f |
| protocol | HTTP |
| protocol_port | 80 |
| session_persistence | |
| status | ACTIVE |
| status_description | |
| subnet_id | 3aeafb5e-5385-406f-aadd-8a04359b5e28 |
| tenant_id | 73a133ae82294410a15c6bc9baf69959 |
+---------------------+--------------------------------------+
⑬ ロードバランサーを構成する
• Floating IP を作成します。
• 作成した Floating IP の
ID を確認します。
• 仮想 IP のポートIDを確認します。
189
$ nova floating-ip-create Ext-Network-1
+--------------------------------------+-----------------+-----------+----------+---------------+
| Id | IP | Server Id | Fixed IP | Pool |
+--------------------------------------+-----------------+-----------+----------+---------------+
| 535ac9c2-aef9-40f1-8645-05bc32a6f29a | 192.168.205.102 | - | - | Ext-Network-1 |
+--------------------------------------+-----------------+-----------+----------+---------------+
$ neutron floatingip-list
+--------------------------------------+------------------+---------------------+--------------------------------------+
| id | fixed_ip_address | floating_ip_address | port_id |
+--------------------------------------+------------------+---------------------+--------------------------------------+
| 3d2b1964-fa61-4818-aa78-1009759b7582 | 10.1.0.108 | 192.168.205.101 | 39b98ffc-d0f5-49fc-8ab1-f0f64aa3380f |
| 535ac9c2-aef9-40f1-8645-05bc32a6f29a | | 192.168.205.102 | |
+--------------------------------------+------------------+---------------------+--------------------------------------+
$ neutron port-list
+--------------------------------------+------------------------------------------+-------------------+-----------------------------------------------------------------------------------+
| id | name | mac_address | fixed_ips |
+--------------------------------------+------------------------------------------+-------------------+-----------------------------------------------------------------------------------+
| 39b98ffc-d0f5-49fc-8ab1-f0f64aa3380f | | fa:16:3e:a4:f1:d5 | {"subnet_id": "3aeafb5e-5385-406f-aadd-8a04359b5e28", "ip_address": "10.1.0.108"} |
| b0c2bbe4-0410-422e-a20f-0bedc538c90f | vip-a545f16a-2281-44fe-b959-5a37ed8f235a | fa:16:3e:fb:b3:f5 | {"subnet_id": "3aeafb5e-5385-406f-aadd-8a04359b5e28", "ip_address": "10.1.0.110"} |
| cd9a844c-17a7-4e24-9251-57a2dc0a8421 | | fa:16:3e:cc:1f:7f | {"subnet_id": "3aeafb5e-5385-406f-aadd-8a04359b5e28", "ip_address": "10.1.0.1"} |
| f22c32bb-eef7-44f8-a3ab-a9ceee0c9fba | | fa:16:3e:e0:62:69 | {"subnet_id": "3aeafb5e-5385-406f-aadd-8a04359b5e28", "ip_address": "10.1.0.109"} |
| f239ecfb-746d-4ea8-97b2-4c8749c6d5e6 | | fa:16:3e:c8:82:f2 | {"subnet_id": "3aeafb5e-5385-406f-aadd-8a04359b5e28", "ip_address": "10.1.0.100"} |
+--------------------------------------+------------------------------------------+-------------------+-----------------------------------------------------------------------------------+
⑬ ロードバランサーを構成する
• 仮想 IP に Floating IP を
割り当てます。
190
$ neutron floatingip-associate 535ac9c2-aef9-40f1-8645-05bc32a6f29a b0c2bbe4-0410-422e-a20f-0bedc538c90f
Associated floating IP 535ac9c2-aef9-40f1-8645-05bc32a6f29a
vSphereから見てみる
191
vSphereから見てみる
• ここではVMware管理者として、vSphere Web Clientにログインして作成されたイン
スタンスを確認してみます。
• 比較対象としてOpenStackから見た、あるインスタンスの情報を載せておきます。
192
インスタンスを確認する
• インスタンスは Nova clusterとして選択した
クラスターに配置されます。
• 仮想マシンの名前には、インスタンスの名前
にIDが付きます。
193
インスタンスを確認する
• 仮想マシンのサマリを選択します。
• ここではvSphereから見た仮想マシンのス
ペックとIPアドレスが表示されます。
194
インスタンスを確認する
• 仮想マシンのサマリには、OpenStackから作
成された仮想マシンのための設定された各種
Metadataが表示されます。
- OpenStak VM
◦ インスタンスの基本情報
- Security Groupメンバシップ
◦ NSXとの連携に使用されます。
195
インスタンスを確認する
- タグ
◦ 検索のキーとして使用することができます。
◦ 例えばあるOpenStackユーザが作成したインスタンスを検索
することができます。
- メモ
◦ もうちょっと細かい情報
196
インスタンスを確認する
• 「仮想マシンおよびテンプレート」に移動し
ます。
- テナントごとの仮想マシンを参照することができ
ます。
197
NSX-Vから見てみる
198
NSX-Vとの連携の概要
• VMware Integrated OpenStack は Neutron と連携する NSX for vSphere によって以下のようなネットワークサービスを提
供します。
- レイヤー2
◦ テナントネットワークのための VXLAN による仮想ネットワーク (ネットワークアドレスのオーバーラップ含む)
◦ 専用EdgeによるDHCPサービス
- レイヤー3
◦ 集中ルーティング(Edge Service Gateway)、および分散ルーティング(Distributed Logical Router)
◦ スタティックルーティング
- レイヤー4
◦ Floating IP (SNAT/DNAT)
◦ ロードバランシング
- セキュリティ
◦ 分散ファイアウォールによるマイクロセグメンテーション
◦ SpoofGuardによる成りすましの防止
- その他
◦ Metadata Service のプロキシ
◦ VXLAN/VLAN ブリッジ
• もっと詳しい情報は VMware から提供されているドキュメントを見てください。
- VIO 2.0 & NSX-v Network Topologies Configuration Guide
https://communities.vmware.com/docs/DOC-30985
• 次項では一部の機能について載せています。
199
OpenStack テナント ネットワークトポロジー
• ここでは NSXv で分散ルータで構成しています。
• OpenStack で分散ルータでルータを構成すると、NSXv では右の図のようなトポロ
ジーが構成されますが、OpenStack では左の図のように非分散ルータと同じトポロ
ジーとして認識されます。
200
vm3
vm2
vm1
10.1.0.0/24
10.2.0.0/24
10.1.0.0/24
OpenStack で認識しているトポロジー NSX で構成されるトポロジー
NSX Edge Service Gateway
NSX 分散論理ルータ
テナント内ネットワーク
169.254.2.0/28
論理スイッチ
• 1つ1つのテナントネットワークは論理スイッチによって構成されます。
• ネットワークのIDで識別します。
201
# neutron net-list --all-tenants
+--------------------------------------+----------------+-------------------------------------------------------+
| id | name | subnets |
+--------------------------------------+----------------+-------------------------------------------------------+
| b1cf7f51-f6c5-4321-87df-cae22ffce420 | Int-Network-3 | 4d5661d2-f3a0-4b7a-91ad-5583bdf51cda 10.3.0.0/24 |
| 4649bfca-3645-43fb-95d7-86ff276720c0 | Int-Network-2 | 48929a55-53e9-47a5-8246-b92434d3ef47 10.2.0.0/24 |
| b8fe250a-cd25-47e5-a564-505675960fa3 | Int-Network-1 | 7e8b2117-f578-449f-a16b-73c3bb91a698 10.1.0.0/24 |
| 6effd6c4-241d-4b6b-9485-fe22ac97ac21 | inter-edge-net | 5650fee1-9df0-4fa2-8f1f-d07777f3f40b 169.254.128.0/17 |
| e791fe85-66ab-4e13-8e52-80971b6d769f | Ext-Network-1 | 9e266bcc-031d-45bf-b52a-0a99b65b2d94 192.168.205.0/24 |
+--------------------------------------+----------------+-------------------------------------------------------+
Int-Network-3
Int-Network-1
Int-Network-2
テナント内NW
DHCPサービス
• DHCPサービスを提供する専用のEdge Gatewayがデプロイされます。
• このDHCP EdgeはOpenStackのネットワークトポロジーには表示されません。
202
DHCPサービス
• DHCP Edgeのインターフェースを見ると、テナントネットワークにトランク接続して
いることがわかります。
• DHCP Edgeのインターフェースにはアドレスプールの一番最初のIPアドレスが割り当
てられます。
203
Int-Network-3
Int-Network-1
Int-Network-2
# neutron net-list --all-tenants
+--------------------------------------+----------------+-------------------------------------------------------+
| id | name | subnets |
+--------------------------------------+----------------+-------------------------------------------------------+
| b1cf7f51-f6c5-4321-87df-cae22ffce420 | Int-Network-3 | 4d5661d2-f3a0-4b7a-91ad-5583bdf51cda 10.3.0.0/24 |
| 4649bfca-3645-43fb-95d7-86ff276720c0 | Int-Network-2 | 48929a55-53e9-47a5-8246-b92434d3ef47 10.2.0.0/24 |
| b8fe250a-cd25-47e5-a564-505675960fa3 | Int-Network-1 | 7e8b2117-f578-449f-a16b-73c3bb91a698 10.1.0.0/24 |
| 6effd6c4-241d-4b6b-9485-fe22ac97ac21 | inter-edge-net | 5650fee1-9df0-4fa2-8f1f-d07777f3f40b 169.254.128.0/17 |
| e791fe85-66ab-4e13-8e52-80971b6d769f | Ext-Network-1 | 9e266bcc-031d-45bf-b52a-0a99b65b2d94 192.168.205.0/24 |
+--------------------------------------+----------------+-------------------------------------------------------+
DHCPサービス
• バインドからインスタンスに対して割り当て済みのIPアドレスを確認します。
204
SpoofGuard
• SpoofGuardは、承認済みのIPアドレス以外からの通信を止めることで、成りすましな
どを防ぐ機能です。(参考:Using SpoofGuard)
• テナントネットワークごとにポリシーが作成され、インスタンス作成時に割り当てた
IPアドレスでもってインスタンスの通信を承認します。
205
Int-Network-1
Security Group
• OpenStackで作成したセキュリティグループは、NSX Security Groupとして作成され
ます。
• 同じOpenStackセキュリティグループに属するインスタンスは、同じNSX Security
Groupに含められます。
206
分散ファイアウォール
• OpenStack セキュリティグループで定義したルールは、NSX 分散ファイアウォール
のポリシーから参照することができます。
• OpenStack セキュリティグループごとに、セクションが作成されます。
207
分散論理ルータ
• 分散ルータとして構成したテナントのルータはOpenStack で構成した名前で表示されます。
• テナントのルータとしてテナント内と外部へのルーティングを提供します。
208
Int-Network-3
Int-Network-1
Int-Network-2
テナント内NW
Edge Service Gateway (ESG)
• ESG にはアップリンクとして外部ネットワークが、内部リンクとしてテナント内
ネットワークが接続されます。
• 外部への接続やゲートウェイファイアウォール、SNAT/DNAT
209
Ext-Network-1
テナント内NW
ゲートウェイファイアウォール
• ESG によるゲートウェイファイアウォールでは、常にすべてのテナントネットワーク
間の通信と、外部への通信が許可されます。
210
SNAT/DNAT
• ESG に定義される NAT の設定です。
- Floating IPを設定したインスタンスのためのSNAT/DNAT
- 各テナントネットワークから外部にアクセスするためのSNAT
211
Floating IP
各テナント用のSNAT
スタティックルーティング
• ESG ではテナントネットワーク宛のスタティックルートも設定されます。
212
ロードバランサー
• ロードバランサーは「集中ルータ」(NSX Edge Security Gateway)、かつ
「Exclusive」で作成したルータでのみ構成することができます。
• そのため Dashboard を使って作成した環境を NSX から見てみます。
213
ロードバランサー
• プールとメンバー
214
ロードバランサー
• モニター
215
ロードバランサー
• 仮想 IP
216
ロードバランサー
• アプリケーションプロファイル
217
VIOをアンインストールする
218
VIOをアンインストールする
• ここではVIOのアンインストール方法について書きます。
• すべて削除して初期状態に戻すには以下の流れになります。
- OpenStack管理コンポーネントを削除する
- OMSを削除する
- vCenterからの登録を解除する
- インスタンスを削除する
219
VIOをアンインストールする
• OpenStack管理コンポーネントを削除する
- OMSの「すべてのアクション」から「OpenStack デプロイの削除」
を選択して、すべてのOpenStack管理コンポーネントを削除します。
• OMSを削除する
- 手動でvAppを削除します。
220
VIOをアンインストールする
- vCenterからの登録を解除する
◦ vCenter からOMSの拡張プラグイン削除します。
KB 1025360 に記載されている方法を使用します。
1. vSphere Web Clientからログアウトします。
2. vSphere Managed Object Browserへアクセスします。
https://<vceter/mob
3. 管理者権限でログインします。
4. 「content」を選択します。
221
VIOをアンインストールする
• vCenterからの登録を解除する
1. 「ExtensionManager」を選択します。
2. 以下のExtensionを探す
◦ com.vmware.openstack.vcext.instance-xxx
◦ com.vmware.openstack.ui
◦ org.openstack.compute
◦ org.os.vmw.plugin
3. ページ下にある「UnregisterExtension」を選択します。
222
VIOをアンインストールする
• vCenterからの登録を解除する
4. 別ウインドウが開くので、VALUEにさっきの4つのExtentionを1つずつ入
力してInvoke Methodを選択します。
5. 成功するとこんなメッセージが表示されます。
「Method Invocation Result : void」
223
VIOをアンインストールする
• vCenterからの登録を解除する
6. vCenter Web Clientにログインしなおし
ホーム画面からOpenStackのアイコンが消えていれば完了です。
• インスタンスを削除する
- OpenStackインスタンスは手動で削除する必要があります。
224
225
おわり

More Related Content

PDF
ゼロからはじめるKVM超入門
PDF
OpenStackトラブルシューティング入門
PPTX
OpenStack概要 ~仮想ネットワーク~
PPTX
Everything You Need To Know About Persistent Storage in Kubernetes
PPTX
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
PDF
Docker Compose by Aanand Prasad
PDF
OpenStack超入門シリーズ Novaのディスク周りあれこれ
PPTX
Why Docker
ゼロからはじめるKVM超入門
OpenStackトラブルシューティング入門
OpenStack概要 ~仮想ネットワーク~
Everything You Need To Know About Persistent Storage in Kubernetes
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
Docker Compose by Aanand Prasad
OpenStack超入門シリーズ Novaのディスク周りあれこれ
Why Docker

What's hot (20)

PPTX
쿠버네티스의 이해 #1
PDF
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!
PDF
TIME_WAITに関する話
PPT
Openstack swift - VietOpenStack 6thmeeetup
PPTX
La virtualisation
PDF
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
PDF
Alphorm.com Formation Kubernetes : Installation et Configuration
PPTX
OpenStack マルチノード環境構築
PPTX
쿠버네티스 ( Kubernetes ) 소개 자료
PDF
Boosting I/O Performance with KVM io_uring
PPTX
Docker and kubernetes
PDF
Docker 101: An Introduction
PPTX
Intro to docker and kubernetes
PDF
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
PDF
Intro docker
PDF
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
PDF
[네전따] 네트워크 엔지니어에게 쿠버네티스는 어떤 의미일까요
PDF
仮想化環境におけるパケットフォワーディング
PDF
Dockerだけではないコンテナのはなし
PDF
Node.js with WebRTC DataChannel
쿠버네티스의 이해 #1
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!
TIME_WAITに関する話
Openstack swift - VietOpenStack 6thmeeetup
La virtualisation
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
Alphorm.com Formation Kubernetes : Installation et Configuration
OpenStack マルチノード環境構築
쿠버네티스 ( Kubernetes ) 소개 자료
Boosting I/O Performance with KVM io_uring
Docker and kubernetes
Docker 101: An Introduction
Intro to docker and kubernetes
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
Intro docker
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
[네전따] 네트워크 엔지니어에게 쿠버네티스는 어떤 의미일까요
仮想化環境におけるパケットフォワーディング
Dockerだけではないコンテナのはなし
Node.js with WebRTC DataChannel
Ad

Viewers also liked (6)

PPTX
神奈川大学 経営学総論 A (14/15) コーポレート・ガバナンス
PDF
VMware Integrated OpenStack
PDF
VMware Integrated OpenStack 2.0
PPTX
#神奈川大学経営学総論 16/30 オリエンテーション
PPTX
神奈川大学 経営学総論 A 2014_04_09
PDF
2016年冬 IBMクラウド最新動向と概要
神奈川大学 経営学総論 A (14/15) コーポレート・ガバナンス
VMware Integrated OpenStack
VMware Integrated OpenStack 2.0
#神奈川大学経営学総論 16/30 オリエンテーション
神奈川大学 経営学総論 A 2014_04_09
2016年冬 IBMクラウド最新動向と概要
Ad

Similar to VMware Integrated OpenStack with NSX-V POCガイド (第3版) (20)

PDF
OpenStack入門 2016/06/10
PPTX
Cloudstack Day 2014 ここまできた、VSC for ACSが 実現する先進的なプライベートクラウド
PDF
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
PPTX
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
PPTX
20190225_VxRailCC2_VxRail4.7アップデート_EMC
PDF
OpenStack 向けネットワーク入門
PDF
20180706_VxRailCC_ワークショップ編_NW
PDF
VxRail7アップデート情報
PDF
OSC2014広島 CloudStackの歩き方【完全版】
PDF
OpenStackで始めるクラウド環境構築入門
PDF
Nsx t alb-integration_202108
PDF
OpenStack ComputingはHyper-Convergedの夢を見るのか?
PDF
20180119 vx railチャンピオンクラブlunchセミナー_vmware最新情報_vmware内野様
PDF
OpenStackで始めるクラウド環境構築入門
PDF
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
PDF
もしCloudStackのKVMホストでPCIパススルーできるようになったら
PDF
Citrix XenServer ® 5.6 Service Pack 2 管理者ガイド
PDF
第6回「VMware vSphere 5」(2011/08/11 on しすなま!)
PPT
複数台を利用したVMware vSphere 5.1の導入
PDF
VMware Cloud on AWS のご紹介 -セキュリティ風味-
OpenStack入門 2016/06/10
Cloudstack Day 2014 ここまできた、VSC for ACSが 実現する先進的なプライベートクラウド
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
20190225_VxRailCC2_VxRail4.7アップデート_EMC
OpenStack 向けネットワーク入門
20180706_VxRailCC_ワークショップ編_NW
VxRail7アップデート情報
OSC2014広島 CloudStackの歩き方【完全版】
OpenStackで始めるクラウド環境構築入門
Nsx t alb-integration_202108
OpenStack ComputingはHyper-Convergedの夢を見るのか?
20180119 vx railチャンピオンクラブlunchセミナー_vmware最新情報_vmware内野様
OpenStackで始めるクラウド環境構築入門
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
もしCloudStackのKVMホストでPCIパススルーできるようになったら
Citrix XenServer ® 5.6 Service Pack 2 管理者ガイド
第6回「VMware vSphere 5」(2011/08/11 on しすなま!)
複数台を利用したVMware vSphere 5.1の導入
VMware Cloud on AWS のご紹介 -セキュリティ風味-

VMware Integrated OpenStack with NSX-V POCガイド (第3版)

  • 1. VMware Integrated OpenStack with NSX-V POC ガイド (第3版) (VIO2.0.1+NSXv6.2.2) 2016年4月 大谷昌二郎 1
  • 2. もくじ • 更新履歴 • 用語 • この資料について • VIOについて • リソース • 全体構成とシステム要件 • VIOを手に入れる • インストール手順 - 事前準備 ◦ vSphereを構成する ◦ NSX-vをインストールする ◦ NSX-vを構成する - OMSをデプロイする - vCenter に登録する - OpenStackをデプロイする - OpenStackのデプロイを確認する • VIOを操作する - OpenStack環境の起動と停止 - OMSのShellにアクセスする - OpenStackのShellにアクセスする - OMSに再接続する - ログファイル • トラブルシューティング ガイド • Tips • Dashboard を操作する • OpenStackをCLIから操作する • vSphereから見てみる • NSX-Vから見てみる • VIOをアンインストールする 2 New Update Update Update Update Update Update
  • 3. 更新履歴 • 2015年5月6日 第1版 • 2015年5月18日 第2版 (VIO1.0+NSX6.1.4) • 2016年4月10日 第3版 (VIO2.0.1+NSXv6.2.2) 3
  • 4. 用語 • VMwareユーザ向けの用語集です。(未完成) - インスタンス ◦ OpenStackによって管理されるゲストマシン - イメージ (Glanceイメージ) ◦ 仮想マシンのテンプレート - ダッシュボード (Dashboard) ◦ OpenStackを管理するためのWeb GUI http://docs.openstack.org/ja/user-guide-admin/dashboard.html - Floating (フローティング) IP ◦ インスタンスに割り当てることができるパブリックなIPアドレス http://docs.openstack.org/ja/openstack-ops/content/floating_ips.html - フレーバー ◦ 起動する仮想マシンの CPU、メモリ、ストレージ容量を定義したもの http://docs.openstack.org/ja/user-guide-admin/dashboard_manage_flavors.html - セキュリティグループ ◦ インスタンスに対して、アクセスが可能なトラフィックの種別を制限するために使用するネットワークのアクセスルー ルを名前を付けてまとめたもの http://docs.openstack.org/ja/user-guide-admin/nova_cli_manage_projects_security.html 4
  • 6. この資料について • この資料はPOCを目的とした、VMware Integrated OpenStack の簡易的なインス トール手順と、構成の確認方法について書いたものです。 • デプロイメントには「分散仮想スイッチとの連携」と「NSX for vSphereとの連携」 の2種類がありますが、ここでは「NSX for vSphereとの連携」のみ取り扱います。 • どちらかと言うとVMwareユーザ向けに作っています。 • VIO 2.x の新機能に関する部分は、また時間があるときにやろうと思います。 (LBaaS だけは少し触れています。) 6
  • 8. VIOについて • VMware Integrated OpenStack (VIO) はVMwareによるOpenStackの商用ディスト リビューションです。 • VMwareの信頼性の高い仮想化ソフトウェアや各種管理ソフトウェアとの連携に フォーカスし、OpenStack環境を簡単にデプロイメントしたりパッチを当てたりと いった管理機能などを備えています。 • VIO 2.0 は OpenStack Kilo リリースがベースです。 • 製品紹介ページはこちらです。 https://www.vmware.com/jp/products/openstack/ 8 slideshare P61より抜粋 http://www.slideshare.net/VMwareJenn/reston-virtualization-group-9182014
  • 10. リソース • ドキュメンテーション (マニュアル、リリースノート) (日本語化されてます) • コミュニティ (コミュニティレベルでのサポートを受けられます) • ハンズオンラボ (HOL-SDC-1620) (残念ながら VIO 1.0 なので古いです。) • Youtube(英語) • OpenStack Blog for VMware 10
  • 12. VIO with NSX-Vの全体構成 (この資料の手順で構成するもの) 12 ※都合上、External NetworkとAPI Access Networkは同じセグメントにしています。 ※Nested環境のため、実際はvCenter と NSX Manager はこの構成の外部に構築しています。 Internet Datastore 「NFS-SSD」 Datastore 「NFS-SATA」 Management Cluster API Access Network 192.168.205.0/24 DVS: Public-DVS Port Group: Public Internet VIO Components 192.168.205.3 VIO-Loadbalancer-0 192.168.201.x 192.168.205.4 VIO-Loadbalancer-1 192.168.201.x VIO- Controller-0 192.168.201.x VIO- Controller-1 192.168.201.x VIO- Memcache-0 192.168.201.x VIO- Memcache-1 192.168.201.x VIO- RabbitMQ-0 192.168.201.x VIO- RabbitMQ-1 192.168.201.x VIO-DB-0 192.168.201.x VIO-DB-1 192.168.201.x VIO-DB-2 192.168.201.x VIO- ComputeDrive-0 192.168.201.x VIO- ObjectStorage-0 192.168.201.x Edge Cluster Compute Cluster 1 Edge Instances VM Instances Management Network 192.168.201.0/24 DVS: vSwitch0 Port Group: VM Network Transport Network 192.168.204.0/24 DVS: Tenant-DVS Port Group: (per tenant) External Network 192.168.205.0/24 DVS: Public-DVS Port Group: Public vCenter 192.168.201.121 NSX Manager 192.168.201.50 NSX Controller 192.168.201.51 NSX Controller 192.168.201.52 NSX Controller 192.168.201.53 management- server (OMS) 192.168.201.20 openstack- template
  • 13. ネットワークの種類と要件 13 コンポーネント 説明 要件 External Network • NSX Edgeを経由してOpenStackインスタンスが接続 する外部ネットワーク • 分散仮想スイッチ上のポートグループとして動作 • 他のネットワークとVLANなどで分割されていること (ただしExternal NetworkとAPI Networkは同じネットワークでも動 作します。) • 外部との接続性があること • ポートグループを1つ仮想スイッチ上に作成しておくこと API Access Network • 外部からOpenStack APIやダッシュボードといった各 種OpenStackサービスに接続するネットワーク • 分散仮想スイッチ上のポートグループとして動作 • 他のネットワークとVLANなどで分割されていること (同上) • 最低必要なIPアドレス数:5個 (連続したアドレスであること) • 外部との接続性があること • ポートグループを1つ仮想スイッチ上に作成しておくこと Management Network • 管理用の内部ネットワーク • 標準スイッチまたは分散仮想スイッチ上のポートグ ループとして動作 • 他のネットワークとVLANなどで分割されていること • 最低必要なIPアドレス数:18個、Ceilometer を追加する場合は21個 (連続したアドレスであること) • ポートグループを1つ仮想スイッチ上に作成しておくこと Transport Network • テナントネットワーク • NSX連携の場合にはVXLANが動作 • 分散仮想スイッチ上のテナントごとに作成されるポー トグループとして動作 • 他のネットワークとVLANなどで分割されていること • VXLANのためのMTU 1600以上 ※参考情報 「物理 NSX-V ネットワーク」 http://pubs.vmware.com/integrated-openstack-2/topic/com.vmware.openstack.install.doc/GUID-87B24795-A7F7-47E2-81BB-50AC406E2A60.html ※その他、vMotionやストレージのためのネットワークがあると思いますが、ここでは割愛です。
  • 14. バージョン • 製品の互換性についてはこちら - VMware Product Interoperability Matrixes http://partnerweb.vmware.com/comp_guide2/sim/interop_matrix.php • ちなみにこの資料では以下の製品とバージョンで構成された環境を構築します。 - vCenter Server Appliance 6.0 U1b - ESXi 6.0 U1a - VMware NSX for vSphere 6.2.2 - VMware Integrated OpenStack 2.0.1 14
  • 15. ハードウェア要件 • マニュアルを参照してください。 「NSX-V デプロイでのハードウェア要件」 http://pubs.vmware.com/integrated-openstack-2/topic/com.vmware.openstack.install.doc/GUID- 388628E9-0013-4DA0-B7B4-7107AB290AD5.html • 補足 - あくまでPOC目的であれば、オーバーコミットやシンプロビジョニングなどを用いれば、マ ニュアルにあるような規模の環境は実際には必要ありませんが、仮想マシンに対する割り当て としては必要です。 - リソース割り当てができないと、OpenStack のデプロイ時にエラーになります。 15
  • 16. ソフトウェア要件 • マニュアルを参照してください。 「NSX-V デプロイでのソフトウェア要件」 http://pubs.vmware.com/integrated-openstack-2/topic/com.vmware.openstack.install.doc/GUID-00DEB64C-6135- 4AE6-B157-EB6F2BF1C1BB.html • 補足 - Management Cluster の要件 ◦ 最低3台のESXi ホスト(各OpenStackコンポーネントに対してAnti-Affinityが適用されるため) ◦ DRS必須 (リソースプール作成のため) ◦ 管理コンポーネントを保管する1つ以上のデータストア (他のクラスターと併用可) ◦ 標準スイッチ、または分散仮想スイッチを構成 - Compute Cluster の要件 ◦ 最低1台のESXi ホスト ◦ インスタンスに対するコンソールアクセスのためにESXi ファイアウォール設定から gdbserverに対する許可を行う(5900-5964/tcp) ◦ Glanceイメージとインスタンスを保管する1つ以上のデータストア (他のクラスターと併用可) ◦ 分散仮想スイッチを構成 - Edge Cluster の要件 ◦ Management Cluster と併用可、ただし別途構成を推奨 ◦ DRS必須 (リソースプール作成のため) ◦ Edgeを保管する1つ以上のデータストア (他のクラスターと併用可) ◦ 分散仮想スイッチを構成 16
  • 18. VIOを手に入れる • VIOは以下のライセンスを持っていれば無償で手に入れられます。 - vSphere Enterprise Plus - vSphere with Operations Management Enterprise Plus - vCloud Suite - vSphere Enterprise + VMware Virtual SAN and/or VMware NSX • ダウンロードURL - https://www.vmware.com/go/download-openstack • ダウンロードするもの - VMware Integrated OpenStack Virtual Appliance 「VMware-OpenStack-2.0.0.0-3302254_OVF10.ova」 • 評価版は今のところ無いようです。 18
  • 20. 事前準備 vSphereを構成する • ここではVIOをインストールする事前準備として、VIOにとって最低限必要なvSphere 周りの設定について書きます。 • 基本的なシステム設定やネットワーク設定、ストレージ設定などの詳細な設定手順は 割愛します。 20
  • 21. 事前準備 vSphereを構成する 1. vCenter Serverを構築する 2. データセンターを作成する 3. Management Clusterを作成する - ホストを登録する - DRSを有効にする 4. Compute Clusterを作成する - ホストを登録する - ホストのESXi ファイアウォール設定から gdbserverに 対する許可を行う (ドキュメント:「ESXi ファイアウォール設定の管理」) 5. Edge Clusterを作成する - ホストを登録する - DRSを有効にする 21
  • 22. 事前準備 vSphereを構成する 6. クラスター共通設定 - ホストのVMkernelポートに対するvMotionの有効化 - ホストに対するデータストアの作成...など - 以下はQuick Start Guideに書かれていますが、 必須じゃないです ◦ HA 有効化 - ホスト監視ステータス ◦ 「ホストの監視」を有効 - アドミッションコントロール ◦ ポリシーは任意に設定 - 仮想マシンのオプション ◦ 再起動の優先順位 「高」 - 仮想マシンの監視 ◦ 「仮想マシンとアプリケーションの監視」 ◦ 監視感度 「高」 22
  • 24. 事前準備 NSX-vをインストール・構成する • ここではVIOをインストールする事前準備として、VIOにとって最低限必要なNSX for vSphere周りのインストールと基本的な設定について書きます。 • 簡単に言えば、VIOのためにはNSX-vではトランスポートゾーンの作成までを行います。 • 参考情報 - VIO インストール時に必要なNSX-V必須パラメータ http://pubs.vmware.com/integrated-openstack-2/topic/com.vmware.openstack.install.doc/GUID- 8A5B290F-E8AF-4BF1-999B-EC6AD3A59704.html 24
  • 25. 事前準備 NSX-vをインストールする 1. まず最初にNSX Managerをデプロイします。 vCenterから「OVFテンプレートのデプロイ」を実行し ます。 2. ソースの選択 - NSX ManagerのOVAファイルを選択します。 3. 詳細の確認 - 「追加の構成オプションの承諾」にチェックを入れます。 25
  • 26. 事前準備 NSX-vをインストールする 4. EULAの承諾 - 「承諾」を選択します。 5. 名前およびフォルダの選択 - NSX Managerの仮想マシン名とデプロイ先を選択します。 26
  • 27. 事前準備 NSX-vをインストールする 6. リソースの選択 - NSX Managerの仮想マシン名とデプロイ先を選択します。 7. ストレージの選択 - ディスクのフォーマットを選択します。 - デプロイするデータストアを選択します。 27
  • 28. 事前準備 NSX-vをインストールする 8. ネットワークのセットアップ - 接続するポートグループを選択します。 - 「ネットワークの種類と要件」にあるManagement Network に相当するポートグループを選択してください。 28
  • 29. 事前準備 NSX-vをインストールする 9. テンプレートのカスタマイズ - NSX Managerのネットワークの設定などを行います。 ◦ パスワード - 「admin」ユーザ パスワード - CLI権限(enable)モード のパスワード ◦ ネットワークプロパティ - ホスト名 - IPv4アドレス - ネットマスク - ゲートウェイ ◦ DNS - DNSサーバ - ドメイン検索リスト ◦ サービスの構成 - NTPサーバ - SSHの有効化 29
  • 30. 事前準備 NSX-vをインストールする 10. 終了準備の完了 - 設定した内容を確認してデプロイを開始します。 11. デプロイと起動が終わったら、NSX ManagerのWeb UIにアクセスし、admin ユーザでログインします。 https://<nsx manager> 30
  • 31. 事前準備 NSX-vをインストールする 12. ホーム画面から「View Summary」を選択します。 13. すべてのサービスがRunningになっていることを確認し ます。特に「NSX Management Service」は少し時間 がかかります。 31
  • 32. 事前準備 NSX-vをインストールする 14. 次にホーム画面から「Manage vCenter Registration」 を選択します。 15. NSX ManagerをvCenterに登録します。 - Editを選択します。 32
  • 33. 事前準備 NSX-vをインストールする 16. 以下の接続情報を入力してOKを押します。 - vCenter Serverのホスト名、またはIPアドレス - ユーザ名 - パスワード 17. Yesを選択して証明書を受け入れます。 33
  • 34. 事前準備 NSX-vをインストールする 18. Status が Connected になることを確認します。 19. 登録先のvCenterのWeb Clientにログインします。 34
  • 35. 事前準備 NSX-vをインストールする 20. ホーム画面にNetworking and Securityのアイコンがあ れば登録は成功です。 35
  • 36. 事前準備 NSX-vを構成する 1. まずはNSXコントローラをデプロイします。 Networking and Securityを選択します。 2. 「インストール手順」- 「管理」に移動します。 「NSXコントローラノード」にある+ボタンを押します。 36
  • 37. 事前準備 NSX-vを構成する 3. コントローラの追加(1台目) - 必要項目を入力してOKを押し、コントローラの作成を開始し ます。 ◦ データセンター ◦ クラスター/リソースプール - Management Clusterまたはその配下のリソースプールを選択します。 ◦ データストア ◦ 接続先 - 「変更」を選択して、Management Networkに相当するポートグループを 選択します。 ◦ IPプール - 「選択」を選択してコントローラに割り当てるIPアドレスのプールを作成し ます。次項を参照してください。 ◦ パスワード 37
  • 38. 事前準備 NSX-vを構成する 4. IPプールの選択 - 新規IPプールを選択します。 5. IPプールの追加 - 必要項目を入力してOKを押します。 ◦ 名前 - 適当でOK ◦ ゲートウェイ ◦ プリフィックスの長さ ◦ 固定IPプール - 最大で3台のコントローラをデプロイしますので、3つのアドレスを 用意します。 38
  • 39. 事前準備 NSX-vを構成する 6. IPプールの選択 - IPプールの選択画面に戻ります。 - 作成したIPプールを選択してOKを押します。 - 「コントローラの追加」画面に戻り、OKを押してコントロー ラの作成を開始します。 7. ステータスが「デプロイ中です」から「接続中」になれ ば作成は完了ですが、少し時間がかかります。 作成が完了しないと2台目以降の作成ができないため、そ のあいだに次の「ホストの準備」を行うことをオススメ します。 ここでは順番どおり進めます。 39
  • 40. 事前準備 NSX-vを構成する 8. コントローラの追加(2、3台目)(オプション) - 1台目と同じ要領で作成しますが、2台目と3台目は同時に作 成可能です。 - パスワードは1台目の設定値が適用されます。 9. 3台すべてのステータスが「接続中」になれば作成は完 了です。 - なお、本来であればコントローラは合計3台作成する必要があ りますが、実は1台だけでも動作しますので、本資料では1台だ けで構築することにします。 40
  • 41. 事前準備 NSX-vを構成する 10. ホストの準備 (インストール) - クラスターに対して NSX をインストールします。 - 「ホストの準備」に移動します。 - Transport Networkに接続する以下のクラスターを選択してア クションから「インストール」を選択します。 ◦ Edge Cluster ◦ Compute Cluster - 「インストールを続行しますか?」に対して「はい」を選択し ます。 - 画面のとおりエラーが発生しなければ完了です。 41
  • 42. 事前準備 NSX-vを構成する 11. ホストの準備 (設定) - 次にVXLANネットワーク(VTEP)の構成を行います。 - 最初にどちらかのクラスターの「未構成」を選択します。 - VXLANネットワークの構成 ◦ 必要項目を入力してOKを押し、ホストに対してVTEPを構成します。 - スイッチ ◦ Transport Networkが接続する分散仮想スイッチを選択します。 - VLAN - MTU ◦ 1600以上 - Vmknic IPアドレス ◦ IPプールの使用 ◦ IPプールを作成します。次項を参照してください。 - VMKNicチーミングポリシー ◦ フェイルオーバー 42
  • 43. 事前準備 NSX-vを構成する 12. IPプールの追加 - 必要項目を入力してOKを押します。 ◦ 名前 - 適当でOK ◦ ゲートウェイ ◦ プリフィックスの長さ ◦ 固定IPプール - 最低でもVTEPを構成するホスト分のアドレスを用意します。 - 「VXLAN ネットワークの構成」画面に戻り、OKを押して VXLANネットワークの構成を開始します。 - 他のクラスターに対しても同じ要領で実施します。 - VXLANの部分が「構成済み」になれば完了です。 43
  • 44. 事前準備 NSX-vを構成する 13. 論理ネットワークの準備 - 「論理ネットワークの準備」に移動します。 - VXLAN転送 ◦ これまでの設定内容を確認できます。 - セグメントID ◦ 「編集」を選択します。 ◦ VXLANのセグメントIDの範囲を入力します。 44
  • 45. 事前準備 NSX-vを構成する 14. 論理ネットワークの準備 - トランスポートゾーン ◦ +ボタンを押します。 ◦ 必要項目を入力してOKを押し、トランスポートゾーンを作成します。 - 名前 ◦ 適当でOK - レプリケーションモード ◦ ユニキャスト - クラスター ◦ Edge ClusterとCompute Clusterを選択 45
  • 46. 事前準備 NSX-vを構成する 15. 論理ネットワークの準備 - トランスポートゾーン ◦ 作成が完了したら、VIOに必要なNSXの設定は完了です。 46
  • 47. OMSをデプロイする • ここではOpenStackコンポーネントのデプロイや起動、停止、拡張、構成確認などの管理を行 うOMS (OpenStack Management Server) のデプロイ方法を書きます。 • OMSはOVA形式からvAppとしてデプロイされます。 - 「management-server」 OMS - 「openstack-template」 OpenStackコンポーネントのテンプレート • Management Cluster にデプロイします。 • 参考情報 - 「vSphere Web Client での VMware Integrated OpenStack OVA のデプロイ」 http://pubs.vmware.com/integrated-openstack-2/topic/com.vmware.openstack.install.doc/GUID- B4E58878-3AC2-4906-A4B4-BAF876241DBD.html 47
  • 49. OMSをデプロイする 3. 仕様許諾契約書の承諾 - 「承諾」を選択します。 4. 名前およびフォルダの選択 - vAppの名前とデプロイ先を選択します 49
  • 50. OMSをデプロイする 5. ストレージの選択 - ディスクのフォーマットを選択します。 - デプロイするデータストアを選択します。 6. ネットワークのセットアップ - 接続するポートグループを選択します。 - 「ネットワークの種類と要件」にあるManagement Network に相当するポートグループを選択してください。 50
  • 51. OMSをデプロイする 7. テンプレートのカスタマイズ - VIO ユーザ パスワード構成 ◦ OMS の管理ユーザ「viouser」のパスワード設定 - ネットワークプロパティ ◦ ドメイン名 ◦ IP アドレスとネットマスク ◦ デフォルトゲートウェイ ◦ DNS サーバアドレス ◦ ドメイン検索パス ◦ Networking Properties ◦ OMSのホスト名(FQDN)やIPアドレスなどのネットワーク設定、DNS設定 - その他 ◦ NTPサーバ、Syslog サーバの指定 51
  • 52. OMSをデプロイする 8. vService バインド - そのまま次へ 9. 終了準備の完了 - デプロイ後にパワーオンを選択して、デプロイを開始します。 - 次のステップに移る前に一旦Web Clientからログアウトします。 52
  • 53. OMSをデプロイする 10. OMS の vApp がパワーオンし、しばらくしてからWeb Clientにログインし直します。 11. ホーム画面にVMware Integrated OpenStackのアイコ ンがあれば vCenter への登録は成功です。 53
  • 54. vCenter に登録する • OMS をデプロイすると vCenter に対する登録は自動で行われます。 • 何らかの理由により登録がうまくいかない場合は OMS の管理画面にアクセスして登 録を行います。 - https://<OMS>:8443/VIO • 参考情報 - 「Integrated OpenStack Manager vApp の登録」 http://pubs.vmware.com/integrated-openstack- 2/topic/com.vmware.openstack.install.doc/GUID-F306A926-8122-4052-8232- 9A2113FFD0C0.html 54
  • 55. OpenStackをデプロイする • ここではOMSの機能を使ってOpenStackコンポーネントをデプロイする手順を書きま す。 • 参考情報 - 「Integrated OpenStack Manager を使用した新しい OpenStack インスタンスのデプロ イ」 http://pubs.vmware.com/integrated-openstack- 2/topic/com.vmware.openstack.install.doc/GUID-2E09ABFF-F4FE-4DE2-9393- 23D62067232C.html 55
  • 56. OpenStackをデプロイする 1. ホーム画面のVMware Integrated OpenStackのアイコ ンを選択します。 2. 「はじめに」の画面から「OpenStack のデプロイ」を 選択してデプロイタスクを起動します。 56
  • 57. OpenStackをデプロイする 3. デプロイ方法の選択 - 「このウィザードを使用して、新しい OpenStack インスタン スを構成します。」を選択します。 4. vCenterの情報を入力します。 - デプロイ名の構成 ◦ デフォルト - vCenter Server 管理者認証情報の入力 ◦ vCenter のIPアドレスまたはFQDN ◦ ユーザ名 ◦ パスワード ◦ 証明書の検証を無視する 57
  • 58. OpenStackをデプロイする 5. Select a destination - 最初にOpenStackの管理コンポーネントのデプロイ先を選択し ます。 - Management Clusterを選択します。 58
  • 59. OpenStackをデプロイする 6. 管理ネットワークの構成 - 管理ネットワーク設定 ◦ OpenStackの管理コンポーネントのIPアドレスなどのネットワーク設定を定義する箇所です。 - ポートグループ ◦ OpenStack管理コンポーネントの接続先を指定します。 ◦ 本資料「ネットワークの種類と要件」にあるManagement Networkに相当するポートグルー プを選択します。 - IP 範囲、サブネットマスク ◦ IPアドレスは最低 18 個必要です。 ◦ Openstackの管理コンポーネントのIPアドレスはここから割り当てられます。 - ゲートウェイ - DNS アドレス - OpenStack API アクセス ネットワーク設定 ◦ ロードバランサーの外側のインターフェースのIPアドレスなどのネットワーク設定を定義する箇所で す。 - ポートグループ ◦ ロードバランサーの外側のインターフェースの接続先を指定します。 ◦ 本資料「ネットワークの種類と要件」にあるAPI Access Networkに相当するポートグループ を選択します。 - IP 範囲、サブネットマスク ◦ IPアドレスは最低 2 個必要です。 ◦ ロードバランサーの外側インターフェースのIPアドレスはここから割り当てられます。 - ゲートウェイ - DNS アドレス 59
  • 60. OpenStackをデプロイする 7. ロード バランサーの構成 - ロードバランサーの設定を行います。 ◦ パブリック ホスト名 ◦ パブリック仮想 IP - 冗長化されたロードバランサーのVIPです。 8. Nova クラスタの追加 - OpenStackインスタンスが作成されるクラスターを選択します。 - Compute Clusterを選択してください。 60
  • 61. OpenStackをデプロイする 9. Nova データストアの追加 - OpenStackインスタンスが配置されるデータストアを選択しま す。 10. Glance データストアの追加 - Glance イメージ(テンプレート)を配置するデータストアを 選択します。 61
  • 62. OpenStackをデプロイする 11. Neutron ネットワークの設定 - NSX ネットワークを選択します。 - NSX Mangerの接続情報を入力します。 - 転送ゾーンを選択するとNSX Managerに接続して情報を取得 します。 12. OKを選択してNSX Managerの証明書を受け入れます。 62
  • 63. OpenStackをデプロイする 13. NSX Managerから取得して情報を選択します。 - 転送ゾーン ◦ NSX Managerの構成で作成したトランスポートゾーンを選択します。 - エッジ クラスタ ◦ Edge Clusterを選択します。 - 仮想分散スイッチ ◦ 本資料「ネットワークの種類と要件」の「Transport Network」に相当する分 散仮想スイッチを選択します。 ◦ テナントごとのポートグループはこの仮想スイッチの上に作成されます。 - 外部ネットワーク ◦ 本資料「ネットワークの種類と要件」の「External Network」に相当する ポートグループを選択します。 ◦ Edgeの外側のインターフェースはこのポートグループに接続します。 63
  • 64. OpenStackをデプロイする 14. 認証ソースの構成 - OpenStack管理者のログイン情報を設定します。 - LDAP連携もできますが、ここではローカルデータベースを用 います。 15. Syslog サーバの構成 - OpenStack管理コンポーネントのログを収集するsyslogサーバ を指定します。 64
  • 65. OpenStackをデプロイする 16. カスタマ エクスペリエンス改善プログラム - 任意で設定してください。 17. 終了準備の完了 - 設定に問題があったり、リソースが足りないとここでエラーが 発生します。 - 問題がなければ「終了」を選択してデプロイを開始します。 65
  • 68. OpenStackのデプロイを確認する • Dashboardにアクセスします。 - ブラウザでデプロイメント ウィザードで設定したVIPにアクセ スします。 https://<vip> - OpenStack管理者のユーザでログインします。 - Dashboard(またはAPI)に対してはAPI Access Network、 またはそこまでルーティング可能なネットワークからアクセス してください。 - Dashboard にはManagement Networkにある端末からアク セスすることはできません。 68
  • 69. OpenStackのデプロイを確認する • 「ハイパーバイザー」を選択するとCompute Clusterが表 示されます。 • 他のハイパーバイザーと異なり、VMware vSphere は OpenStack に対して個別の ESXi ホストではなく、 クラスター単位でリソースを提供します。 • これにより、クラスター配下では OpenStack に依存せず に vSphere の vMotion や HA、DRS といった機能を 活用することができます。 - 参考: VMware driver architecture http://docs.openstack.org/kilo/config-reference/content/vmware.html 69
  • 71. OpenStack環境の起動と停止 • OpenStack管理コンポーネントの起動と停止は常にOMSから行う必要があります。 • 「すべてのアクション」から操作します。 - 停止する場合は「OpenStack デプロイの停止」を選択 - 起動する場合は「OpenStack デプロイの開始」を選択 • vSphere ClientからVMを起動しても、サービスが立ち上がってきません。 71
  • 72. OMSのShellにアクセスする • OMSに対してSSHでアクセスすることができます。 - ユーザ名は viouser で、パスワードは OMS をデプロイしたと きに入力したものです。 - OMS のコンソールからも Shell にログインすることが できます。 72 Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-71-generic x86_64) * Documentation: https://help.ubuntu.com/ Last login: Sun Mar 13 10:24:16 2016 from 192.168.7.5 viouser@oms020:~$
  • 73. OpenStackのShellにアクセスする • OMS経由で各OpenStackコンポーネントにSSHアクセスすることができます。 • viouserでアクセスします。 • hostsにホスト名が書かれているのでIPアドレスはいりません。 73 viouser@oms020:~$ ssh viouser@controller01 Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-71-generic x86_64) * Documentation: https://help.ubuntu.com/ Last login: Sat Mar 19 06:36:21 2016 from oms020 viouser@controller01:~$
  • 78. ログファイル • デプロイメントの詳しい状況確認やトラブルシューティングのための主なログファイ ルです。 - OMSのログファイル /var/log/oms.log - OpenStackのデプロイメント ログ /var/log/oms/oms.log (仮想マシンの作成から起動まで) /var/log/jarvis/ansible.log (仮想マシンに対するOpenStackのインストール) • OMS や OpenStack コンポーネント含めてすべてのログを収集するには、OMS から 以下のコマンドを実行します。(OpenStack コンポーネントが稼働中である必要があ ります。 78 viouser@oms020:~$ sudo viocli deployment getlogs changed: [192.168.201.24] changed: [192.168.201.25] changed: [192.168.201.26] (省略) changed: [192.168.201.26] Success: Collected logs to '/home/viouser/201603190719.tgz'
  • 81. OMSのデプロイ時の主なトラブルと確認方法 • トラブルその1 - vCenterへの初期登録がうまくいかない(ホーム画面にOpenStackアイコンが表示されない) • 確認方法 - もし最初のデプロイメントではない場合、前回の登録を解除したか確認してください。 - OMSにアクセスして、/opt/vmware/vio/etc/vc.properties からvCenterのIP/FQDNが正し いことを確認してください。 - KB2132824 が参考になるかもしれません。 - OMSのログを参照して、何か問題が起きて いないか確認してみてください。登録がうまく いくと以下のような記録が確認できます。 81 viouser@oms020:~$ more /opt/vmware/vio/etc/vc.properties vim.host = 192.168.201.121 vim.port = 443 vim.evs_url = https://vc121.lab.local/vsm/extensionService vim.evs_token = 1ceebe11e2ff8e310f2f64f9653e16ab48696be1 vim.thumbprint = d1:af:9c:53:a6:b5:0a:e2:8d:c9:af:d3:60:bc:39:06:c9:bd:bd:1c vc.session_time_out = 240000 vim.cms_moref = VirtualMachine:vm-594 ext.prefix = com.vmware.openstack.vcext.instance- product.name = VIO oms.syslog_server = log.lab.local syslog_server_port = 514 syslog_server_protocol = tcp INFO localhost-startStop-1| org.springframework.web.servlet.DispatcherServlet: FrameworkServlet 'restapi': initialization completed in 1059 ms
  • 82. OMSのデプロイ時の主なトラブルと確認方法 • トラブルその2 - OpenStackのアイコンを選択してOMSの画面に移動す るとエラーが表示される • 確認方法 - OMSへの接続に問題が起きている場合があります。 - まずOMSのvAppが起動していることを確認してくださ い。 - 次にOMSへの再接続をしてみてください。 - 「はじめに」の画面の「基本タスク」の部分が 「OpenStack 管理サーバに接続」になっている 場合は接続できていません。 - それでもうまくいかない場合にはOMSのログを参照し て、何か問題が起きていないか 確認してみてください。 82
  • 83. OpenStackのデプロイ時の主なトラブルと確認方法 • トラブルその3 - OpenStackのデプロイメント ウィザードの最後で失敗する • 確認方法 - ここで発生するエラーはだいたい要件に対してリソースが 不足しています。 - 以下のようなエラーが発生した場合には、特定の コンポーネントに対してリソースを提供できるESXiが ありません。例えば1台あたり4vCPU/16GBメモリが必要な DBに対して、少なくともそれ以上のリソースを持つESXiを 用意する必要があります。(参考情報) 「ノード <コンポーネント名> を配置するための認定 ESXi ホストがありません。」 - 同種類のOpenStackコンポーネントに対して適用するアンチアフィニティルールによ る分散も含めて、全体としてリソースが足りない場合には以下のようなエラーが発生し ます。 (参考情報) 「非アフィニティ ルールに準拠する ESXi ホストが不足しています。8 個の vCPU が ある ESXi ホストが 3 台以上必要です。」 83
  • 84. OpenStackのデプロイ時の主なトラブルと確認方法 • トラブルその4 - OpenStackのデプロイメント途中で失敗する。 • 確認方法 - リソースが貧弱だと一番トラブるところです。 - Web Clientのエラーはあまり詳しい進捗を教えてくれないので、OpenStackのデプロイメント ログを 参照して、まずはどの部分で失敗しているか特定してください。 - 仮想マシンの作成から起動のところで失敗する場合 ◦ ログ以外にも、vSphere Clientのタスクの結果でどんなトラブルか確認できます。 ◦ だいたいvSphere側(特にIO負荷がかかるストレージのリソース不足)に問題がある場合が多いです。 - OpenStackのインストールに失敗する場合 ◦ ansible.logにfailedと記録されたタスクに問題が起きています。 ◦ Tipsも参考にしてみてください。 ◦ 腕に自信があればどうにでもなる部分もあります。 (ansible.logから失敗したタスクを特定し、あとから手動でできるものであれ ば、playbookから該当する部分をマスクしてスキップさせてしまう・・・など。) 84
  • 85. OpenStackのデプロイ時の主なトラブルと確認方法 • トラブルその5 - OpenStack Dashboardにアクセスできない • 確認方法 - OpenStackのデプロイメントが終わった直後などで、Controllerが起動しきっていないかもしれません。 - または、Management NetworkからはDashboardにアクセスすることができません。API Access Networkからアクセスしてください。 85
  • 87. デプロイのコツ • ここでは Nested のようなリソースが限られる環境に対するデプロイメントにおけるTipsを書 きます。 1. デプロイ中にリソースが枯渇するのはほとんどの場合Controllerです。2つのControllerに対して2~ 3GBくらいのメモリ予約をしてあげたほうがいいと思います。 2. デプロイは大きく分けて「テンプレートのクローン」→ 「中身の設定」という順番で行われます。 NSX Controllerが必要になるのは後者(のかなり後半)なので、それまでは落としておいて構いま せん。 3. NSX Controller は1台だけでも動作します。 4. デプロイ中にDRSによってvMotionが発生することがあるので、DRSの移行のしきい値を優先順位1 以下にしておくとよいと思います。 5. 失敗したときに備えてOpenStackのデプロイを開始したら、 「すべてのアクション」から「構成のエクスポート」を 選択して設定ファイルをダウンロードしておいたほうがいいです。 やり直しするときに「エクスポートしたテンプレート使用して、 このウィザードで構成設定を事前入力します。」を選択して その設定ファイルを読み込むと手入力を省いてくれます。 (手順3「デプロイ方法の選択」を参照) 87
  • 88. 初期デプロイ時にデフォルトのテンプレートのインポートをスキップする • OpenStack のデプロイ中に Ubuntu 14.04 のテンプレートをインポートしますが、 これがストレージの負荷になり、タイムアウトしてデプロイが失敗することがありま す。 • デプロイのワークフローを定義している ansible の playbook の該当部分をマスクす ることで、このタスクをスキップすることができます。 • OMS の以下のファイルの該当部分をマスクします。 - /var/lib/vio/ansible/roles/config-local/tasks/main.yml 88 #- name: download stream-optimized image (省略) #- name: set image properties # command: glance --os-auth-url (省略) # run_once: true # no_log: true
  • 89. 初期デプロイ後にテンプレートを手動でアップロードする • デフォルトのテンプレートは OMS からダウンロードすることができます。 - http://<oms>/images/ubuntu-14.04-server-amd64.vmdk • テンプレートをインポートするには OpenStack CLI をセットアップして、以下のコマ ンドを実行します。 89 $ glance image-create --name ubuntu-14.04-server-amd64 --disk-format vmdk --container-format bare ¥ --visibility public --property vmware_disktype="streamOptimized" --property vmware_adaptertype="lsiLogic" --property vmware_ostype="ubuntu64Guest" < ./ubuntu-14.04-server-amd64.vmdk
  • 91. 設定内容 • ここでは Dashboard を使用してテナントの作成から、ネットワークやインスタンスを作成・設定までをやってみます。 ① テナントとユーザを作成する - VIOは初期構成で管理者用のテナント(admin テナント)が構成されていますが、ここでは別途ユーザ用のテナントを作成することにします。 ② 外部ネットワークを作成する - まずは外部ネットワークを作成します。 - これは「VIO with NSX-Vの全体構成」の External Networkに相当します。外部ネットワークは管理者のみが作成することができます。 ③ ルータを作成する - ルータを作成し、外部ネットワークと接続します。 - ルータとしてNSX Edgeを構成しますが、細かいNSXとの連携部分については別のページで書きます。 - ここで作成されるEdgeはEdge Service Gatewayです。 Distributed Router は CLI から作成します。 ④ 内部ネットワークを作成する - 次にインスタンスが接続する内部ネットワークを作成し、これをルータに接続します。 - これは「VIO with NSX-Vの全体構成」の Transport Networkを流れるオーバーレイネットワークに相当します。内部ネットワークやルータ はテナントユーザが作成することができます。 91
  • 92. 設定内容 (続き) ⑤ インスタンスを作成する - ネットワークができたらインスタンスを作成します。 - OpenStackをデプロイメントする中で作成される(デフォルトの?)イメージを使用してインスタンスを作成します。 ⑥ インスタンスを確認する - 作成したインスタンスを確認します。 ⑦ インスタンスを設定する - 作成したインスタンスに対して、セキュリティグループや Floating IP 、ロードバランサーの設定を行います。 92
  • 93. OpenStack テナント ネットワークトポロジー • ここでは左の図のようなOpenStackのテナント構成を作成しています。 93 test-vm-2 内部ネットワーク 10.1.0.0/24 OpenStack で構成したトポロジー (インスタンスのIPアドレスは DHCP なので、この後の画面とは異なります。) NSX で構成されるトポロジー NSX Edge Service Gateway test-vm-1 外部ネットワーク 192.168.205.0/24 LBaas によるロードバランシング 分散ファイアウォールによる マイクロセグメンテーション Floating IP による SNAT/DNAT 外部ネットワーク 内部ネットワーク
  • 94. ① テナントとユーザを作成する 1. ブラウザでデプロイメント ウィザードで設定したVIPに アクセスし、管理者としてDashboardにログインしま す。 - https://<vip> 2. [ユーザ管理] - [プロジェクト] を選択します。 94 参考:「プロジェクトかテナントか?」 http://docs.openstack.org/ja/openstack-ops/content/projects_users.html#projects_or_tenants 認証はすべてKeystoneに移行されていますので、この資料ではテナントと呼びます。
  • 95. ① テナントとユーザを作成する 3. 「プロジェクトの作成」を選択します。 4. プロジェクトの情報 - 名前 ◦ テナントの名前を入力します。 - 説明 ◦ テナントの説明文を入力します。 - 「プロジェクトの作成」を選択します。 95
  • 97. ① テナントとユーザを作成する 6. ユーザを作成します。[ユーザ管理] - [ユーザー]を選択 します。 7. 「ユーザの作成」を選択します。 97
  • 98. ① テナントとユーザを作成する 8. ユーザーの作成 - ユーザー名とパスワード - 主プロジェクト ◦ 所属するテナントを選択します。 - ロール ◦ ユーザ権限である_member_を選択します。(デフォルト) - 「ユーザーの作成」を選択します。 9. ユーザが作成されました。 98
  • 99. ① テナントとユーザを作成する 10. ログインできるか確認する - 画面右上からadminユーザをログアウトし、Dashboardに対し て新たに作成したユーザでログインし直します。 11. ユーザ権限でログインすると[管理]の項目が ありません。 99
  • 100. ② 外部ネットワークを作成する 1. 外部ネットワークを作成する - 管理者としてDashboardにログインし、[管理] – [ネットワーク]を選択します。 2. 「ネットワークの作成」を選択します。 100
  • 101. ② 外部ネットワークを作成する 3. ネットワークの作成 - 名前 - プロジェクト ◦ adminテナントを選択します。 - プロバイダーネットワーク種別 ◦ Port Groupを選択します。 - 物理ネットワーク ◦ External Networkに相当するポートグループのIDを dvportgroup-xxxの形式で入力します。 確認方法は次項を参照してください。 - 管理状態 ◦ 有効にします。(デフォルト) - 共有 ◦ 無効にします。 - 外部ネットワーク ◦ 有効にします。 101
  • 102. ② 外部ネットワークを作成する 4. ポートグループのIDの確認方法 - vSphere Web Clientの[ホーム] - [ネットワー ク] から External Networkに相当するポートグ ループを選択してください。 - ブラウザのURLの中に「dvportgroup-xxx」とい うIDが見つかるはずです。 102
  • 103. ② 外部ネットワークを作成する 5. 外部ネットワークが作成されました。 6. 次にサブネットを作成します。 作成した外部ネットワークを選択します。 103
  • 105. ② 外部ネットワークを作成する 8. サブネットの作成 - サブネット名 - ネットワークアドレス ◦ 「VIO with NSX-Vの全体構成」の External Networkのネットワークアドレ スを入力します。 - ゲートウェイIP ◦ External Networkのゲートウェイのアドレスを入力します。 - 「次へ」を選択します。 105
  • 106. ② 外部ネットワークを作成する 9. サブネットの作成 - DHCP有効 ◦ 無効にします。 (外部ネットワークで有効にするとエラーになります。 忘れやすいので注意) - IPアドレス割り当てプール ◦ 外部ネットワークに接続するルータなどに割り当てるIPアドレスのプールを設 定します。 - DNSサーバ - 最後に「作成」を選択します。 106
  • 108. ③ ルータを作成する 1. テナントユーザでDashboardにログインします。 [プロジェクト] - [ネットワーク] - [ネットワーク トポロジー]を選択します。 先ほど作成した外部ネットワークが共有されています。 2. まずはルータを作成します。 「ルータの作成」を選択します。 108
  • 109. ③ ルータを作成する 3. ルータの作成 - ルータ名 ◦ 適当な名前を付けます。 - 管理状態 ◦ 有効にします。(デフォルト) - 外部ネットワーク ◦ 先ほど作成した外部ネットワークを選択します。 - Router Mode ◦ ここでは「集中ルータ」を選択します。 - ルーター種別 ◦ ここでは「Exclusive」を選択します。 - ルータの作成を選択します。 109
  • 110. ③ ルータを作成する • 備考 - 分散ルータを作成する場合には、「ルータ種別」を 「デフォルト設定を使用」を選択してください。 (それ以外を選択するとエラーになります。) 110
  • 113. ④ 内部ネットワークを作成する 1. 次に内部ネットワークを作成します。 ネットワークトポロジーからネットワークの作成を選択 します。 2. ネットワークの作成 - ネットワーク名 - 管理状態 ◦ 有効にします。(デフォルト) - 「次へ」を選択します。 113
  • 114. ④ 内部ネットワークを作成する 3. サブネットの作成 - サブネット名 - ネットワークアドレス ◦ 内部ネットワークのネットワークアドレスを入力します。 - ゲートウェイIP ◦ インスタンスのデフォルトゲートウェイのアドレスを入力します。 ◦ このアドレスでルータの内部ネットワークのインターフェースが設定されます。 - 「次へ」を選択します。 114
  • 115. ④ 内部ネットワークを作成する 4. サブネットの詳細 - IPアドレス割り当てプール ◦ DHCPのプール - DNSサーバ ◦ インスタンスに設定するDNS - 「作成」を選択します。 115
  • 119. ④ 内部ネットワークを作成する 10. 「インターフェース」を選択します。 11. 「インターフェースの追加」を選択します。 119
  • 120. ④ 内部ネットワークを作成する 12. インターフェースの追加 - サブネット ◦ 先ほど作成した内部ネットワークを選択します。 - IPアドレス ◦ 空欄にします。内部ネットワークのサブネットを作成したときに 定義したゲートウェイIPが設定されます。 - 「インターフェースの追加」を選択します。 13. インターフェースが追加されました。 120
  • 123. ⑤ インスタンスを作成する 3. インスタンスの起動 - インスタンス名 ◦ OpenStackにおけるインスタンスの名前です。 - フレーバー ◦ ここではm1.smallを選択します。フレーバーの詳細が右側に表示されます。 ◦ 一番小さいフレーバーであるm1.tinyを使用したいのですが、ディスクサイズが1GBのこの m1.tinyは、このあと選択するUbuntu 14.04のイメージを起動するのには使うことができ ません。 ◦ なぜなら、VIOがデフォルトでアップロードするUbuntu 14.04のイメージは最小ディスク サイズが4GBで定義されており、つまり4GB以上で起動しなければならないためです。(こ の定義は変更できます。) - インスタンス数 ◦ このあとで必要になるので2つ作成します。 - インスタンスのブートソース ◦ イメージからの起動を選択します。 - イメージ名 ◦ デフォルトで用意されているUbuntu 14.04を選択します。 4. 上のメニューから「ネットワーク」を選択します。 123
  • 124. ⑤ インスタンスを作成する 5. インスタンスが接続するネットワークを選択します。 - 「利用可能なネットワーク」から、先ほど作成した内部ネット ワークをドラッグアンドドロップするか、 を選択して「選択 済みネットワーク」に移動させます。 6. 最後に右下の「起動」を選択します。 124 +
  • 125. ⑤ インスタンスを作成する 7. インスタンスの一覧画面に戻ります。「ステータス」が 稼働中になれば作成は完了です。 - 一番最初のインスタンスの作成は時間がかかります。 - これはイメージが保管されているGlance datastoreから、 Nova datastoreにキャッシュ用としてイメージのコピーが行 われるからです。 125
  • 126. ⑥ インスタンスを確認する 1. インスタンスの一覧には主な情報が表示されます。 - インスタンス名 - イメージ名 - IPアドレス - サイズ - ステータス - 稼動状態 …など 2. インスタンスの名前を選択して、詳細情報に移動します。 126
  • 127. ⑥ インスタンスを確認する 3. インスタンスの詳細 - インスタンスの名前 - インスタンスのID - スペック (次項に続く) 127
  • 128. ⑥ インスタンスを確認する 4. インスタンスの詳細 (続き) - 接続しているネットワークとIPアドレス - セキュリティグループの内容 - 接続されているボリューム ・・・など 128
  • 129. ⑥ インスタンスを確認する 5. コンソールに接続する - 「コンソール」を選択してコンソールに接続します。 - ここでコンソールにアクセスできない場合には、ホストのESXi ファイアウォール設定がされていない可能性があります。 - リンクを選択して、コンソールのみを表示します。 6. 別ウインドウでコンソールに接続した状態です。 129
  • 130. ⑥ インスタンスを確認する 7. インスタンスからネットワーク接続を確認する - とりあえず外部への疎通を確認します。 - Loginを選択してEnterを押します。 - デフォルトのイメージはID : root / PW : vmware で ログインします。 130
  • 131. ⑥ インスタンスを確認する 8. インスタンス情報にあるIPアドレスがDHCP で実際に取得できていることを確認します。 9. 外部のどこかにpingとwgetを実行します。 - とりあえず外部へのルーティングと疎通、名前解 決ができていることが確認できました。 131
  • 132. ⑥ インスタンスを確認する 10. 「ネットワークトポロジー」を選択します。 - トポロジーにインスタンスが表示されていることを確認します。 132
  • 133. ⑦ インスタンスを設定する • ここからは、作成したインスタンスに対していくつか設定をしていきます。 - セキュリティを設定する ◦ HTTPとSSHの受信を許可するセキュリティグループを作成し、インスタンスに割り当ててみようと思います。 - Floating IPを設定する ◦ Floating IPを設定して、外部からインスタンスに接続してみます。 - ロードバランサーを構成する ◦ LBaaS(Load-Balancing-as-a-Service) を使用して、NSX Edge に対してロードバランサーの設定を行います。 133
  • 135. ⑦ インスタンスを設定する セキュリティを設定する 3. セキュリティグループの作成 - 名前 - 説明 - セキュリティグループの作成を選択します。 4. 作成できたら「ルールの管理」を選択します。 135
  • 138. ⑦ インスタンスを設定する セキュリティを設定する 8. 同じ要領でSSHも作成します。 9. SSHに対する受信を許可するルールが定義されま した。 138
  • 139. ⑦ インスタンスを設定する セキュリティを設定する 10. もう1つルールを作成します。これは同じセキュ リティグループに所属するインスタンス同士の通 信を許可する設定です。 - ルール ◦ 「その他のプロトコル」を選択します。 - 接続相手 ◦ 「セキュリティグループ」を選択します。 - セキュリティグループ ◦ 「このグループ」を選択します。 11. ルールが定義されました。 これでセキュリティグループの設定は終わりです。 139
  • 141. ⑦ インスタンスを設定する セキュリティを設定する 14. 作成したセキュリティグループの を選択して、 右側の「インスタンスのセキュリティグループ」 に移動させます。 最後に「保存」を選択して終了します。 141 +
  • 142. ⑦ インスタンスを設定する Floating IPを設定する 1. 「アクセスとセキュリティ」に移動して 「Floating IP」の確保を選択します。 2. 外部ネットワークを選択して、「IPの確保」を選 択します。これによって外部ネットワークのサブ ネットを作成したときに定義したIPアドレス割り 当てプールから割り当てられます。 142
  • 143. ⑦ インスタンスを設定する Floating IPを設定する 3. IPアドレスを確保することができました。 同じ要領でもう1つ確保します。 次に「割り当て」を選択します。 4. Floating IP の割り当ての管理 - IPアドレス ◦ 確保したIPアドレスを選択します。 - IPを割り当てるポート ◦ インスタンスを選択します。 - 「割り当て」を選択します。 143
  • 144. ⑦ インスタンスを設定する Floating IPを設定する 5. IPアドレスがインスタンスに割り当てられました。 144
  • 145. ⑦ インスタンスを設定する Floating IPを設定する 6. 外部からFloating IPに対してアクセスしてみます。 - デフォルトで用意されているUbuntu 14.04には apache2がインストールされていませんので、apt-get でインストールしてください。 145
  • 147. ⑦ インスタンスを設定する ロードバランサーを構成する 2. ロードバランサーのプールを作成します。 - 名前 ◦ 適当な名前を付けます。 - サブネット ◦ 内部ネットワークを選択します。 - プロトコル ◦ インスタンスで起動しているサービスに関係した プロトコルを選択します。 ◦ HTTP 以外に HTTPS や TCP を選択することができます。 - 負荷分散方式 ◦ 適当なものを選択します。 ◦ ROUND_ROBIN 以外に LEAST_CONNECTIONS、SOURCE_IP を選 択することができます。 - 最後「追加」を選択します。 147
  • 148. ⑦ インスタンスを設定する ロードバランサーを構成する 3. プールが作成されました。 4. 次にロードバランサーのメンバーを作成します。 - メンバーから「メンバーの追加」を選択します。 148
  • 149. ⑦ インスタンスを設定する ロードバランサーを構成する 5. メンバーを追加します。 - プール ◦ 先ほど作成したプールを選択します。 - メンバーの指定方法 ◦ 「稼働中のインスタンスから選択」、または IP アドレスを 直接入力することも可能です。 - メンバー ◦ 作成済みのインスタンスを両方選択します。 - 重み ◦ インスタンスを一度に登録すると、この設定は同じ値がインスタンス に対して設定されます。 ◦ 個別に異なる値を設定することも可能です。 - ポート番号 ◦ 同上 - 最後に追加を選択します。 149
  • 150. ⑦ インスタンスを設定する ロードバランサーを構成する 6. メンバーが追加されました。 7. 次にロードバランサーのヘルスチェック設定を 作成します。 - モニターから「モニターの追加」を選択します。 150
  • 151. ⑦ インスタンスを設定する ロードバランサーを構成する 5. モニターを設定します。 - 種別 ◦ PING、TCP、HTTP、HTTPS から選択できます。 - 遅延、タイムアウト、最大試行回数 ◦ 適当に設定します。 - 追加を選択します。 151
  • 152. ⑦ インスタンスを設定する ロードバランサーを構成する 8. モニターが追加されました。 9. 次にモニターをプールに対して割り当てます。 - プールの Actions から「モニターの割り当て」を 選択します。 152
  • 153. ⑦ インスタンスを設定する ロードバランサーを構成する 10. 先ほど作成したモニターを選択して割り当てます。 11. 次に仮想 IP を追加します。 - プールの Actions から「仮想 IP の追加」を 選択します。 153
  • 154. ⑦ インスタンスを設定する ロードバランサーを構成する 12. 仮想 IP を設定します。 - 名前 - 仮想 IP のサブネット ◦ 内部のサブネットを選択します。 ◦ この中から未使用のIP アドレスが割り当てられるか、または任意の IP アドレスを設定することができます。 - ポート番号、プロトコル - セッション永続性 ◦ SOURCE_IP、HTTP_COOKIE、APP_COOKIE から 選択することができます。 - 最大接続数 - 最後に追加を選択します。 154
  • 155. ⑦ インスタンスを設定する ロードバランサーを構成する 13. 仮想 IP が割り当てられました。 14. 最後に、外部 IP アドレスとして Floating IP を 設定します。 - [コンピュート]-[アクセスとセキュリティ]-[Floating IP] から 「割り当て」を選択します。 155
  • 156. ⑦ インスタンスを設定する ロードバランサーを構成する 15. 先ほど作成した仮想 IP に対して Floating IP を 割り当てます。 16. 仮想 IP に対して Floating IP が割り当てられま した。 156
  • 157. ⑦ インスタンスを設定する ロードバランサーを構成する 17. ロードバランサーが動作していることを確認しま す - Floating IP アドレスに対してアクセスして、通信が バランスされることを確認します。 157
  • 159. OpenStackをCLIから操作する • ここからは、これまでDashbordから設定した設定を、代わりに外部の端末から OpenStack CLIを使ってやってみます。 • あまり詳しいことは書きませんので、 例えばCLIの構文についてはReferenceなどを見 てください。 - 「OpenStack Command-Line Interface Reference」 http://docs.openstack.org/cli-reference/content/ 159 ① 準備 ② テナントを作成する ③ ユーザを作成する ④ 外部ネットワークを作成する ⑤ 外部サブネットを作成する ⑥ ルータを作成する ⑦ 内部ネットワークを作成する ⑧ 内部サブネットを作成する ⑨ SSHキーを作成する ⑩ インスタンスを作成する ⑪ Floating IPを設定する ⑫ インスタンスにSSHでアクセスする ⑬ ロードバランサーを構成する
  • 160. ① 準備 1. 端末にOpenStack コマンドラインクライアントをインストールします。 - 参考:「OpenStack コマンドラインクライアントのインストール」 http://docs.openstack.org/ja/user-guide-admin/common/cli_install_openstack_command_line_clients.html 2. loadbalancerから証明書を取得します。 - loadbalanacer01 と 02 どちらでもいいです。 - 証明書は/etc/ssl/certs/vio.pemです。 - scpでダウンロードでもいいですが、ターミナル からコピーして同じ名前で端末に保存したほうが いいと思います。 160 viouser@oms020:~$ ssh loadbalancer01 Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-71-generic x86_64) * Documentation: https://help.ubuntu.com/ Last login: Sat Apr 2 08:53:32 2016 from oms030 viouser@loadbalancer01:~$ cat /etc/ssl/certs/vio.pem -----BEGIN CERTIFICATE----- (省略) -----END CERTIFICATE----- viouser@loadbalancer01:~$
  • 161. ① 準備 3. vSphere Web Client から API のエンドポイントとなる仮想 IP (パブリック仮想 IP とプライベート仮想 IP)を確認します。 161
  • 162. ① 準備 4. 環境変数を設定するOpenStack RC ファイルを作成します。ファイル名は任意です。 - 管理者用 (Management Networkからアクセスする必要があります。) - テナントユーザ用 (API Access Networkからアクセスする必要があります。) 162 ファイル名:cloudadmin.rc unset OS_SERVICE_TOKEN unset OS_SERVICE_ENDPOINT export OS_AUTH_URL=http://XXX.XXX.XXX.XXX:35357/v2.0 export OS_REGION_NAME=nova export OS_TENANT_NAME=admin export OS_USERNAME=admin export OS_PASSWORD=***** export NOVA_ENDPOINT_TYPE=internalURL export OS_ENDPOINT_TYPE=internalURL export CINDER_ENDPOINT_TYPE=internalURL プライベート仮想 IP を指定します 管理者のテナント 管理者の名前 管理者のパスワード ファイル名:tb-user1.rc unset OS_ENDPOINT_TYPE unset NOVA_ENDPOINT_TYPE unset CINDER_ENDPOINT_TYPE unset OS_REGION_NAME export OS_AUTH_URL=https://vio.lab.local:5000/v2.0 export OS_TENANT_NAME=tenant-b export OS_USERNAME=tb-user1 export OS_PASSWORD=***** export OS_CACERT=/home/*****/vio.pem Ddashboardのホスト名、またはパブリック仮想 IP テナント名 テナントユーザ テナントユーザのパスワード loadbalancerから取得した証明書の場所 ファイル名:tb-user1.bat(Windows用) unset OS_ENDPOINT_TYPE unset NOVA_ENDPOINT_TYPE unset CINDER_ENDPOINT_TYPE unset OS_REGION_NAME export OS_AUTH_URL=https://vio.lab.local:5000/v2.0 export OS_TENANT_NAME=tenant-b export OS_USERNAME=tb-user1 export OS_PASSWORD=***** set OS_CACERT=C:¥Python27¥Scripts¥vio.pem
  • 163. ② テナントを作成する • 管理者用の環境変数をロードします。 • 作成します。 • 確認します。 • 詳細を確認します。 163 # openstack project create --description 'Tenant A' tenant-a +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | Tenant A | | enabled | True | | id | 73a133ae82294410a15c6bc9baf69959 | | name | tenant-a | +-------------+----------------------------------+ # source cloudadmin.rc # openstack project list +----------------------------------+----------+ | ID | Name | +----------------------------------+----------+ | 60218e89ca9e4ddea04b18a79ea121c8 | service | | 73a133ae82294410a15c6bc9baf69959 | tenant-a | | a3d1a516532e44ef86696bdfb092afeb | admin | +----------------------------------+----------+ # openstack project show tenant-a +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | Tenant A | | enabled | True | | id | 73a133ae82294410a15c6bc9baf69959 | | name | tenant-a | | properties | | +-------------+----------------------------------+
  • 164. ③ ユーザを作成する • 作成します。 • 確認します。 • 詳細を確認します。 164 # openstack user create --project tenant-a --password VMware1! ta-user1 +------------+----------------------------------+ | Field | Value | +------------+----------------------------------+ | email | None | | enabled | True | | id | 9486d83d9b5c4b0a8212ddf57eda09d9 | | name | ta-user1 | | project_id | 73a133ae82294410a15c6bc9baf69959 | | username | ta-user1 | +------------+----------------------------------+ # openstack user list +----------------------------------+----------+ | ID | Name | +----------------------------------+----------+ | 36caafddc593487b804116413ddc83c7 | glance | | 59df8877e55c4507a71a9e2f8becc78f | cinder | | 9486d83d9b5c4b0a8212ddf57eda09d9 | ta-user1 | | a8143dcdab0d49088a1bf181b1e93dc6 | nova | | c11392d9ca654055a68ba2d82fe04927 | heat | | c5b6ff20261848bf964541fe7bdc74cf | admin | | c7f1470c052d4565864105b86c130d75 | neutron | +----------------------------------+----------+ # openstack user show ta-user1 +------------+----------------------------------+ | Field | Value | +------------+----------------------------------+ | email | None | | enabled | True | | id | 9486d83d9b5c4b0a8212ddf57eda09d9 | | name | ta-user1 | | project_id | 73a133ae82294410a15c6bc9baf69959 | | username | ta-user1 | +------------+----------------------------------+
  • 165. ④ 外部ネットワークを作成する • 管理者用の環境変数をロードします。 • 作成します。 165 # neutron net-create Ext-Network-1 --provider:network_type=portgroup --provider:physical_network=dvportgroup-39 --router:external=true Created a new network: +---------------------------+--------------------------------------+ | Field | Value | +---------------------------+--------------------------------------+ | admin_state_up | True | | id | e9322562-5a70-4b31-afc6-74f4a9526324 | | name | Ext-Network-1 | | port_security_enabled | True | | provider:network_type | portgroup | | provider:physical_network | dvportgroup-39 | | provider:segmentation_id | 0 | | router:external | True | | shared | False | | status | ACTIVE | | subnets | | | tenant_id | a3d1a516532e44ef86696bdfb092afeb | +---------------------------+--------------------------------------+ # source cloudadmin.rc
  • 166. ④ 外部ネットワークを作成する • 確認します。 • 詳細を確認します。 166 # neutron net-list +--------------------------------------+----------------+-------------------------------------------------------+ | id | name | subnets | +--------------------------------------+----------------+-------------------------------------------------------+ | 6effd6c4-241d-4b6b-9485-fe22ac97ac21 | inter-edge-net | 5650fee1-9df0-4fa2-8f1f-d07777f3f40b 169.254.128.0/17 | | e9322562-5a70-4b31-afc6-74f4a9526324 | Ext-Network-1 | | +--------------------------------------+----------------+-------------------------------------------------------+ # neutron net-show Ext-Network-1 +---------------------------+--------------------------------------+ | Field | Value | +---------------------------+--------------------------------------+ | admin_state_up | True | | id | e9322562-5a70-4b31-afc6-74f4a9526324 | | name | Ext-Network-1 | | port_security_enabled | True | | provider:network_type | portgroup | | provider:physical_network | dvportgroup-39 | | provider:segmentation_id | 0 | | router:external | True | | shared | False | | status | ACTIVE | | subnets | | | tenant_id | a3d1a516532e44ef86696bdfb092afeb | +---------------------------+--------------------------------------+
  • 167. ⑤ 外部サブネットを作成する • 作成します。 167 # neutron subnet-create --allocation-pool start=192.168.205.100,end=192.168.205.199 --name Ext-Subnet-1 --dns-nameserver 192.168.201.2 --enable_dhcp=False Ext-Network-1 192.168.205.0/24 Created a new subnet: +-------------------+--------------------------------------------------------+ | Field | Value | +-------------------+--------------------------------------------------------+ | allocation_pools | {"start": "192.168.205.100", "end": "192.168.205.199"} | | cidr | 192.168.205.0/24 | | dns_nameservers | 192.168.201.2 | | enable_dhcp | False | | gateway_ip | 192.168.205.1 | | host_routes | | | id | ddcc0025-3919-4b8f-97f8-a426118588c2 | | ip_version | 4 | | ipv6_address_mode | | | ipv6_ra_mode | | | name | Ext-Subnet-1 | | network_id | e9322562-5a70-4b31-afc6-74f4a9526324 | | subnetpool_id | | | tenant_id | a3d1a516532e44ef86696bdfb092afeb | +-------------------+--------------------------------------------------------+
  • 168. ⑤ 外部サブネットを作成する • 確認します。 • 詳細を確認します。 168 # neutron subnet-list +--------------------------------------+-------------------+------------------+--------------------------------------------------------+ | id | name | cidr | allocation_pools | +--------------------------------------+-------------------+------------------+--------------------------------------------------------+ | 5650fee1-9df0-4fa2-8f1f-d07777f3f40b | inter-edge-subnet | 169.254.128.0/17 | {"start": "169.254.128.2", "end": "169.254.255.254"} | | ddcc0025-3919-4b8f-97f8-a426118588c2 | Ext-Subnet-1 | 192.168.205.0/24 | {"start": "192.168.205.100", "end": "192.168.205.199"} | +--------------------------------------+-------------------+------------------+--------------------------------------------------------+ # neutron subnet-show Ext-Subnet-1 +----------------------------+--------------------------------------------------------+ | Field | Value | +----------------------------+--------------------------------------------------------+ | advanced_service_providers | | | allocation_pools | {"start": "192.168.205.100", "end": "192.168.205.199"} | | cidr | 192.168.205.0/24 | | dns_nameservers | 192.168.201.2 | | enable_dhcp | False | | gateway_ip | 192.168.205.1 | | host_routes | | | id | ddcc0025-3919-4b8f-97f8-a426118588c2 | | ip_version | 4 | | ipv6_address_mode | | | ipv6_ra_mode | | | name | Ext-Subnet-1 | | network_id | e9322562-5a70-4b31-afc6-74f4a9526324 | | subnetpool_id | | | tenant_id | a3d1a516532e44ef86696bdfb092afeb | +----------------------------+--------------------------------------------------------+
  • 169. ⑥ ルータを作成する • テナントユーザの環境変数をロードします。 • 作成します。 • 外部ネットワークに接続します。 169 # neutron router-create --router_type=exclusive ta-router-1 Created a new router: +-----------------------+--------------------------------------+ | Field | Value | +-----------------------+--------------------------------------+ | admin_state_up | True | | distributed | False | | external_gateway_info | | | id | 00196a2e-15ea-479b-8a26-40084a72fa58 | | name | ta-router-1 | | router_size | compact | | router_type | exclusive | | routes | | | status | ACTIVE | | tenant_id | 73a133ae82294410a15c6bc9baf69959 | +-----------------------+--------------------------------------+ # neutron router-gateway-set ta-router-1 Ext-Network-1 Set gateway for router ta-router-1 # source ta-user1.rc
  • 170. ⑥ ルータを作成する • 確認します。 • 詳細を確認します。 170 # neutron router-list +--------------------------------------+-------------+-----------------------------------------------------------------------------------------------------------------------+-------------+ | id | name | external_gateway_info | distributed | +--------------------------------------+-------------+-----------------------------------------------------------------------------------------------------------------------+-------------+ | 00196a2e-15ea-479b-8a26-40084a72fa58 | ta-router-1 | {"network_id": "e9322562-5a70-4b31-afc6-74f4a9526324", "enable_snat": true, "external_fixed_ips": [{"subnet_id": | False | | | | "ddcc0025-3919-4b8f-97f8-a426118588c2", "ip_address": "192.168.205.100"}]} | | +--------------------------------------+-------------+-----------------------------------------------------------------------------------------------------------------------+-------------+ # neutron router-show ta-router-1 +-----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Field | Value | +-----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | admin_state_up | True | | distributed | False | | external_gateway_info | {"network_id": "e9322562-5a70-4b31-afc6-74f4a9526324", "enable_snat": true, "external_fixed_ips": [{"subnet_id": "ddcc0025-3919-4b8f-97f8-a426118588c2", | | | "ip_address": "192.168.205.100"}]} | | id | 00196a2e-15ea-479b-8a26-40084a72fa58 | | name | ta-router-1 | | router_size | compact | | router_type | exclusive | | routes | | | status | ACTIVE | | tenant_id | 73a133ae82294410a15c6bc9baf69959 | +-----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  • 171. ⑥ ルータを作成する • 備考 - Distributed Routerを作成するには オプションを付けます。 - 参考 「OpenStack Command-Line Interface Reference」 http://docs.openstack.org/cli- reference/content/neutronclient_commands.html#neutronclient_subcommand_router-create 171 $ neutron router-create --distributed True ta-router-3 Created a new router: +-----------------------+--------------------------------------+ | Field | Value | +-----------------------+--------------------------------------+ | admin_state_up | True | | distributed | True | | external_gateway_info | | | id | aee21c77-532c-42a6-a79c-29b63baed204 | | name | ta-router-3 | | routes | | | status | ACTIVE | | tenant_id | 73a133ae82294410a15c6bc9baf69959 | +-----------------------+--------------------------------------+
  • 172. ⑦ 内部ネットワークを作成する • 作成します。 • 確認します。 • 詳細を確認します。 172 # neutron net-create Int-Network-1 Created a new network: +-----------------------+--------------------------------------+ | Field | Value | +-----------------------+--------------------------------------+ | admin_state_up | True | | id | e5b9a82c-dc2d-47a6-9c7a-f41bd6149092 | | name | Int-Network-1 | | port_security_enabled | True | | router:external | False | | shared | False | | status | ACTIVE | | subnets | | | tenant_id | 73a133ae82294410a15c6bc9baf69959 | +-----------------------+--------------------------------------+ # neutron net-list +--------------------------------------+---------------+---------------------------------------+ | id | name | subnets | +--------------------------------------+---------------+---------------------------------------+ | e791fe85-66ab-4e13-8e52-80971b6d769f | Ext-Network-1 | 9e266bcc-031d-45bf-b52a-0a99b65b2d94 | | 2e0322f8-1227-4420-aaa5-0f380c7bab1d | Int-Network-1 | | +--------------------------------------+---------------+---------------------------------------+ # neutron net-show Int-Network-1 +-----------------------+--------------------------------------+ | Field | Value | +-----------------------+--------------------------------------+ | admin_state_up | True | | id | 2e0322f8-1227-4420-aaa5-0f380c7bab1d | | name | Int-Network-1 | | port_security_enabled | True | | router:external | False | | shared | False | | status | ACTIVE | | subnets | | | tenant_id | 73a133ae82294410a15c6bc9baf69959 | +-----------------------+--------------------------------------+
  • 173. ⑧ 内部サブネットを作成する • 作成します。 • 確認します。 173 # neutron subnet-create --name Int-Subnet-1 --dns-nameserver 192.168.201.2 Int-Network-1 10.1.0.0/24 Created a new subnet: +-------------------+--------------------------------------------+ | Field | Value | +-------------------+--------------------------------------------+ | allocation_pools | {"start": "10.1.0.2", "end": "10.1.0.254"} | | cidr | 10.1.0.0/24 | | dns_nameservers | 192.168.201.2 | | enable_dhcp | True | | gateway_ip | 10.1.0.1 | | host_routes | | | id | e2d2f792-1efb-4465-842d-576140952371 | | ip_version | 4 | | ipv6_address_mode | | | ipv6_ra_mode | | | name | Int-Subnet-1 | | network_id | 2e0322f8-1227-4420-aaa5-0f380c7bab1d | | subnetpool_id | | | tenant_id | 73a133ae82294410a15c6bc9baf69959 | +-------------------+--------------------------------------------+ # neutron subnet-list +--------------------------------------+--------------+-------------+--------------------------------------------+ | id | name | cidr | allocation_pools | +--------------------------------------+--------------+-------------+--------------------------------------------+ | e2d2f792-1efb-4465-842d-576140952371 | Int-Subnet-1 | 10.1.0.0/24 | {"start": "10.1.0.2", "end": "10.1.0.254"} | +--------------------------------------+--------------+-------------+--------------------------------------------+
  • 174. ⑧ 内部サブネットを作成する • ルータと接続します。 174 # neutron router-interface-add ta-router-1 Int-Subnet-1 Added interface 0fea0454-5b86-494b-8625-2d5c3304abe1 to router ta-router-1.
  • 175. ⑨ SSHキーを作成する • SSH キーを作成します。 175 $ nova keypair-add key > key.pem $ chmod 700 key.pem $ nova keypair-list +------+-------------------------------------------------+ | Name | Fingerprint | +------+-------------------------------------------------+ | key | de:41:df:be:85:17:a7:d9:51:37:98:d6:8c:f8:9f:d7 | +------+-------------------------------------------------+ $ cat key.pem -----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEAwHL8idH1B5niCviNMhf8QB8YCLniAz2DYPgRQmkOAehCow8U 省略 80hLmUdz+w4I1gHVUyn9+sZNNJOfRlZ9Gz3xs5AdGkeIxdk5p0RLZWdG -----END RSA PRIVATE KEY----- $ nova keypair-show key +-------------+-------------------------------------------------+ | Property | Value | +-------------+-------------------------------------------------+ | created_at | 2016-04-03T06:07:54.000000 | | deleted | False | | deleted_at | - | | fingerprint | de:41:df:be:85:17:a7:d9:51:37:98:d6:8c:f8:9f:d7 | | id | 2 | | name | key | | updated_at | - | | user_id | 9486d83d9b5c4b0a8212ddf57eda09d9 | +-------------+-------------------------------------------------+ Public key: ssh-rsa AAAAB3NzaC1yc2EAAAw(省略)6ooFrQDkCYPq8IafSW8PG+Cntp9 Generated-by-Nova
  • 176. ⑩ インスタンスを作成する • インスタンスが接続する 内部ネットワークの ID を 確認します。 • インスタンス用のフレーバー を確認します。 • イメージの名前を確認します。 • セキュリティグループの 名前を確認します。 176 $ neutron net-list +--------------------------------------+---------------+--------------------------------------------------+ | id | name | subnets | +--------------------------------------+---------------+--------------------------------------------------+ | 5fc65a0c-dba9-47bf-b38f-f89bc66550c4 | Int-Network-1 | 3aeafb5e-5385-406f-aadd-8a04359b5e28 10.1.0.0/24 | | e9322562-5a70-4b31-afc6-74f4a9526324 | Ext-Network-1 | ddcc0025-3919-4b8f-97f8-a426118588c2 | +--------------------------------------+---------------+--------------------------------------------------+ $ nova flavor-list +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+ | ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+ | 1 | m1.tiny | 512 | 1 | 0 | | 1 | 1.0 | True | | 2 | m1.small | 2048 | 20 | 0 | | 1 | 1.0 | True | | 3 | m1.medium | 4096 | 40 | 0 | | 2 | 1.0 | True | | 4 | m1.large | 8192 | 80 | 0 | | 4 | 1.0 | True | | 5 | m1.xlarge | 16384 | 160 | 0 | | 8 | 1.0 | True | +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+ $ nova image-list +--------------------------------------+---------------------------+--------+--------+ | ID | Name | Status | Server | +--------------------------------------+---------------------------+--------+--------+ | 460cc0fd-f610-4a32-9042-f3e019bb75e3 | ubuntu-14.04-server-amd64 | ACTIVE | | +--------------------------------------+---------------------------+--------+--------+ $ nova secgroup-list +--------------------------------------+-------------+------------------------+ | Id | Name | Description | +--------------------------------------+-------------+------------------------+ | 436afb07-eb8a-4baa-acc4-57857159b1b8 | default | Default security group | | 083b1e87-ad04-440f-8ea0-136528e685da | web-and-ssh | Allow web and ssh | +--------------------------------------+-------------+------------------------+
  • 177. ⑩ インスタンスを作成する • インスタンスを起動します。 177 $ nova boot --flavor m1.small --image ubuntu-14.04-server-amd64 ¥ --nic net-id=5fc65a0c-dba9-47bf-b38f-f89bc66550c4 --key-name key ¥ --security-group web-and-ssh --min-count 2 test-vm +--------------------------------------+------------------------------------------------------------------+ | Property | Value | +--------------------------------------+------------------------------------------------------------------+ | OS-DCF:diskConfig | MANUAL | | OS-EXT-AZ:availability_zone | nova | | OS-EXT-STS:power_state | 0 | | OS-EXT-STS:task_state | scheduling | | OS-EXT-STS:vm_state | building | | OS-SRV-USG:launched_at | - | | OS-SRV-USG:terminated_at | - | | accessIPv4 | | | accessIPv6 | | | adminPass | oeWAeJ6c6US8 | | config_drive | | | created | 2016-04-09T11:48:07Z | | flavor | m1.small (2) | | hostId | | | id | 493fb366-d3f5-4dd5-8cfc-9ae5e2de35c6 | | image | ubuntu-14.04-server-amd64 (460cc0fd-f610-4a32-9042-f3e019bb75e3) | | key_name | key | | metadata | {} | | name | test-vm-1 | | os-extended-volumes:volumes_attached | [] | | progress | 0 | | security_groups | web-and-ssh | | status | BUILD | | tenant_id | 73a133ae82294410a15c6bc9baf69959 | | updated | 2016-04-09T11:48:07Z | | user_id | 9486d83d9b5c4b0a8212ddf57eda09d9 | +--------------------------------------+------------------------------------------------------------------+
  • 178. ⑩ インスタンスを作成する • 確認します。 • 詳細を確認します。 178 $ nova list +--------------------------------------+-----------+--------+------------+-------------+--------------------------+ | ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+-----------+--------+------------+-------------+--------------------------+ | 493fb366-d3f5-4dd5-8cfc-9ae5e2de35c6 | test-vm-1 | ACTIVE | - | Running | Int-Network-1=10.1.0.108 | | ef8c3c6c-dc73-46e9-9afe-81ff30dc9a4d | test-vm-2 | ACTIVE | - | Running | Int-Network-1=10.1.0.109 | +--------------------------------------+-----------+--------+------------+-------------+--------------------------+ $ nova show test-vm-1 +--------------------------------------+------------------------------------------------------------------+ | Property | Value | +--------------------------------------+------------------------------------------------------------------+ | Int-Network-1 network | 10.1.0.108 | | OS-DCF:diskConfig | MANUAL | | OS-EXT-AZ:availability_zone | nova | | OS-EXT-STS:power_state | 1 | | OS-EXT-STS:task_state | - | | OS-EXT-STS:vm_state | active | | OS-SRV-USG:launched_at | 2016-04-09T11:48:18.000000 | | OS-SRV-USG:terminated_at | - | | accessIPv4 | | | accessIPv6 | | | config_drive | | | created | 2016-04-09T11:48:07Z | | flavor | m1.small (2) | | hostId | 231ef3139e1ea4eed113e21fdab788815d0e6c4f9d89faaf2a2117fb | | id | 493fb366-d3f5-4dd5-8cfc-9ae5e2de35c6 | | image | ubuntu-14.04-server-amd64 (460cc0fd-f610-4a32-9042-f3e019bb75e3) | | key_name | key | | metadata | {} | | name | test-vm-1 | | os-extended-volumes:volumes_attached | [] | | progress | 0 | | security_groups | web-and-ssh | | status | ACTIVE | | tenant_id | 73a133ae82294410a15c6bc9baf69959 | | updated | 2016-04-09T11:48:18Z | | user_id | 9486d83d9b5c4b0a8212ddf57eda09d9 | +--------------------------------------+------------------------------------------------------------------+
  • 179. ⑪ Floating IPを設定する • Floating IP を作成します。 • 確認します。 179 $ nova floating-ip-create Ext-Network-1 +--------------------------------------+-----------------+-----------+----------+---------------+ | Id | IP | Server Id | Fixed IP | Pool | +--------------------------------------+-----------------+-----------+----------+---------------+ | 3d2b1964-fa61-4818-aa78-1009759b7582 | 192.168.205.101 | - | - | Ext-Network-1 | +--------------------------------------+-----------------+-----------+----------+---------------+ $ nova floating-ip-list +--------------------------------------+-----------------+-----------+----------+---------------+ | Id | IP | Server Id | Fixed IP | Pool | +--------------------------------------+-----------------+-----------+----------+---------------+ | 3d2b1964-fa61-4818-aa78-1009759b7582 | 192.168.205.101 | - | - | Ext-Network-1 | +--------------------------------------+-----------------+-----------+----------+---------------+
  • 180. ⑪ Floating IPを設定する • Floating IP を割り当てます。 • 確認します。 180 $ nova floating-ip-associate test-vm-1 192.168.205.101 $ nova list +--------------------------------------+---------+--------+------------+-------------+-----------------------------------------+ | ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+---------+--------+------------+-------------+-----------------------------------------+ | 0c19dd3c-018d-42ea-af27-d5b001a06487 | test-vm | ACTIVE | - | Running | Int-Network-1=10.1.0.3, 192.168.205.101 | +--------------------------------------+---------+--------+------------+-------------+-----------------------------------------+
  • 181. ⑫ インスタンスにSSHでアクセスする 181 $ ssh -i key.pem ubuntu@192.168.205.101 Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-71-generic x86_64) * Documentation: https://help.ubuntu.com/ The programs included with the Ubuntu system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. ubuntu@test-vm-1:~$
  • 182. ⑬ ロードバランサーを構成する • 内部サブネットの IDを確認 します。 • プールを作成します。 182 $ neutron subnet-list +--------------------------------------+--------------+-------------+----------------------------------------------+ | id | name | cidr | allocation_pools | +--------------------------------------+--------------+-------------+----------------------------------------------+ | 3aeafb5e-5385-406f-aadd-8a04359b5e28 | Int-Subnet-1 | 10.1.0.0/24 | {"start": "10.1.0.100", "end": "10.1.0.199"} | +--------------------------------------+--------------+-------------+----------------------------------------------+ $ neutron lb-pool-create --lb-method ROUND_ROBIN --name WebPool-1 ¥ --protocol HTTP --subnet-id 3aeafb5e-5385-406f-aadd-8a04359b5e28 Created a new pool: +------------------------+--------------------------------------+ | Field | Value | +------------------------+--------------------------------------+ | admin_state_up | True | | description | | | health_monitors | | | health_monitors_status | | | id | 665b0afc-76df-4931-93c6-2daea37c8122 | | lb_method | ROUND_ROBIN | | members | | | name | WebPool-1 | | protocol | HTTP | | provider | vmwareedge | | status | PENDING_CREATE | | status_description | | | subnet_id | 3aeafb5e-5385-406f-aadd-8a04359b5e28 | | tenant_id | 73a133ae82294410a15c6bc9baf69959 | | vip_id | | +------------------------+--------------------------------------+
  • 183. ⑬ ロードバランサーを構成する • 確認します。 • 詳細を確認します。 183 $ neutron lb-pool-list +--------------------------------------+-----------+------------+-------------+----------+----------------+--------+ | id | name | provider | lb_method | protocol | admin_state_up | status | +--------------------------------------+-----------+------------+-------------+----------+----------------+--------+ | 665b0afc-76df-4931-93c6-2daea37c8122 | WebPool-1 | vmwareedge | ROUND_ROBIN | HTTP | True | ACTIVE | +--------------------------------------+-----------+------------+-------------+----------+----------------+--------+ $ neutron lb-pool-show WebPool-1 +------------------------+--------------------------------------+ | Field | Value | +------------------------+--------------------------------------+ | admin_state_up | True | | description | | | health_monitors | | | health_monitors_status | | | id | 665b0afc-76df-4931-93c6-2daea37c8122 | | lb_method | ROUND_ROBIN | | members | | | name | WebPool-1 | | protocol | HTTP | | provider | vmwareedge | | status | ACTIVE | | status_description | | | subnet_id | 3aeafb5e-5385-406f-aadd-8a04359b5e28 | | tenant_id | 73a133ae82294410a15c6bc9baf69959 | | vip_id | | +------------------------+--------------------------------------+
  • 184. ⑬ ロードバランサーを構成する • 仮想マシンの IP を確認します。 • メンバーを作成します。 184 $ neutron lb-member-create --address 10.1.0.108 --protocol-port 80 --weight 1 WebPool-1 Created a new member: +--------------------+--------------------------------------+ | Field | Value | +--------------------+--------------------------------------+ | address | 10.1.0.108 | | admin_state_up | True | | id | fb90eb3b-2725-4601-9c8d-13378ee428af | | pool_id | 665b0afc-76df-4931-93c6-2daea37c8122 | | protocol_port | 80 | | status | PENDING_CREATE | | status_description | | | tenant_id | 73a133ae82294410a15c6bc9baf69959 | | weight | 1 | +--------------------+--------------------------------------+ $ neutron lb-member-create --address 10.1.0.109 --protocol-port 80 --weight 1 WebPool-1 Created a new member: +--------------------+--------------------------------------+ | Field | Value | +--------------------+--------------------------------------+ | address | 10.1.0.109 | | admin_state_up | True | | id | 164ae626-92f5-4674-916c-d6ba77c5aaf3 | | pool_id | 665b0afc-76df-4931-93c6-2daea37c8122 | | protocol_port | 80 | | status | PENDING_CREATE | | status_description | | | tenant_id | 73a133ae82294410a15c6bc9baf69959 | | weight | 1 | +--------------------+--------------------------------------+ $ nova list +--------------------------------------+-----------+--------+------------+-------------+-------------------------------------------+ | ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+-----------+--------+------------+-------------+-------------------------------------------+ | 493fb366-d3f5-4dd5-8cfc-9ae5e2de35c6 | test-vm-1 | ACTIVE | - | Running | Int-Network-1=10.1.0.108, 192.168.205.101 | | ef8c3c6c-dc73-46e9-9afe-81ff30dc9a4d | test-vm-2 | ACTIVE | - | Running | Int-Network-1=10.1.0.109 | +--------------------------------------+-----------+--------+------------+-------------+-------------------------------------------+
  • 185. ⑬ ロードバランサーを構成する • 確認します。 • 詳細を確認します。 185 $ neutron lb-member-list +--------------------------------------+------------+---------------+--------+----------------+--------+ | id | address | protocol_port | weight | admin_state_up | status | +--------------------------------------+------------+---------------+--------+----------------+--------+ | 164ae626-92f5-4674-916c-d6ba77c5aaf3 | 10.1.0.109 | 80 | 1 | True | ACTIVE | | fb90eb3b-2725-4601-9c8d-13378ee428af | 10.1.0.108 | 80 | 1 | True | ACTIVE | +--------------------------------------+------------+---------------+--------+----------------+--------+ $ neutron lb-member-show fb90eb3b-2725-4601-9c8d-13378ee428af +--------------------+--------------------------------------+ | Field | Value | +--------------------+--------------------------------------+ | address | 10.1.0.108 | | admin_state_up | True | | id | fb90eb3b-2725-4601-9c8d-13378ee428af | | pool_id | 665b0afc-76df-4931-93c6-2daea37c8122 | | protocol_port | 80 | | status | ACTIVE | | status_description | | | tenant_id | 73a133ae82294410a15c6bc9baf69959 | | weight | 1 | +--------------------+--------------------------------------+
  • 186. ⑬ ロードバランサーを構成する • モニターを作成します。 • 確認します。 • 詳細を確認します。 186 $ neutron lb-healthmonitor-create --type PING --delay 3 --max-retries 3 --timeout 3 Created a new health_monitor: +----------------+--------------------------------------+ | Field | Value | +----------------+--------------------------------------+ | admin_state_up | True | | delay | 3 | | id | 3afc612d-b604-4414-acf0-864377e057b8 | | max_retries | 3 | | pools | | | tenant_id | 73a133ae82294410a15c6bc9baf69959 | | timeout | 3 | | type | PING | +----------------+--------------------------------------+ $ neutron lb-healthmonitor-list +--------------------------------------+------+----------------+ | id | type | admin_state_up | +--------------------------------------+------+----------------+ | 3afc612d-b604-4414-acf0-864377e057b8 | PING | True | +--------------------------------------+------+----------------+ $ neutron lb-healthmonitor-show 3afc612d-b604-4414-acf0-864377e057b8 +----------------+--------------------------------------+ | Field | Value | +----------------+--------------------------------------+ | admin_state_up | True | | delay | 3 | | id | 3afc612d-b604-4414-acf0-864377e057b8 | | max_retries | 3 | | pools | | | tenant_id | 73a133ae82294410a15c6bc9baf69959 | | timeout | 3 | | type | PING | +----------------+--------------------------------------+
  • 187. ⑬ ロードバランサーを構成する • モニターをプールに対して割り当てます。 • 仮想 IP を作成します。 187 $ neutron lb-healthmonitor-associate 3afc612d-b604-4414-acf0-864377e057b8 WebPool-1 Associated health monitor 3afc612d-b604-4414-acf0-864377e057b8 $ neutron lb-vip-create --name VIP-Web-1 --protocol-port 80 --protocol HTTP ¥ --subnet-id 3aeafb5e-5385-406f-aadd-8a04359b5e28 WebPool-1 Created a new vip: +---------------------+--------------------------------------+ | Field | Value | +---------------------+--------------------------------------+ | address | 10.1.0.110 | | admin_state_up | True | | connection_limit | -1 | | description | | | id | a545f16a-2281-44fe-b959-5a37ed8f235a | | name | VIP-Web-1 | | pool_id | 665b0afc-76df-4931-93c6-2daea37c8122 | | port_id | b0c2bbe4-0410-422e-a20f-0bedc538c90f | | protocol | HTTP | | protocol_port | 80 | | session_persistence | | | status | PENDING_CREATE | | status_description | | | subnet_id | 3aeafb5e-5385-406f-aadd-8a04359b5e28 | | tenant_id | 73a133ae82294410a15c6bc9baf69959 | +---------------------+--------------------------------------+
  • 188. ⑬ ロードバランサーを構成する • 確認します。 • 詳細を確認します。 188 $ neutron lb-vip-list +--------------------------------------+-----------+------------+----------+----------------+--------+ | id | name | address | protocol | admin_state_up | status | +--------------------------------------+-----------+------------+----------+----------------+--------+ | a545f16a-2281-44fe-b959-5a37ed8f235a | VIP-Web-1 | 10.1.0.110 | HTTP | True | ACTIVE | +--------------------------------------+-----------+------------+----------+----------------+--------+ $ neutron lb-vip-show VIP-Web-1 +---------------------+--------------------------------------+ | Field | Value | +---------------------+--------------------------------------+ | address | 10.1.0.110 | | admin_state_up | True | | connection_limit | -1 | | description | | | id | a545f16a-2281-44fe-b959-5a37ed8f235a | | name | VIP-Web-1 | | pool_id | 665b0afc-76df-4931-93c6-2daea37c8122 | | port_id | b0c2bbe4-0410-422e-a20f-0bedc538c90f | | protocol | HTTP | | protocol_port | 80 | | session_persistence | | | status | ACTIVE | | status_description | | | subnet_id | 3aeafb5e-5385-406f-aadd-8a04359b5e28 | | tenant_id | 73a133ae82294410a15c6bc9baf69959 | +---------------------+--------------------------------------+
  • 189. ⑬ ロードバランサーを構成する • Floating IP を作成します。 • 作成した Floating IP の ID を確認します。 • 仮想 IP のポートIDを確認します。 189 $ nova floating-ip-create Ext-Network-1 +--------------------------------------+-----------------+-----------+----------+---------------+ | Id | IP | Server Id | Fixed IP | Pool | +--------------------------------------+-----------------+-----------+----------+---------------+ | 535ac9c2-aef9-40f1-8645-05bc32a6f29a | 192.168.205.102 | - | - | Ext-Network-1 | +--------------------------------------+-----------------+-----------+----------+---------------+ $ neutron floatingip-list +--------------------------------------+------------------+---------------------+--------------------------------------+ | id | fixed_ip_address | floating_ip_address | port_id | +--------------------------------------+------------------+---------------------+--------------------------------------+ | 3d2b1964-fa61-4818-aa78-1009759b7582 | 10.1.0.108 | 192.168.205.101 | 39b98ffc-d0f5-49fc-8ab1-f0f64aa3380f | | 535ac9c2-aef9-40f1-8645-05bc32a6f29a | | 192.168.205.102 | | +--------------------------------------+------------------+---------------------+--------------------------------------+ $ neutron port-list +--------------------------------------+------------------------------------------+-------------------+-----------------------------------------------------------------------------------+ | id | name | mac_address | fixed_ips | +--------------------------------------+------------------------------------------+-------------------+-----------------------------------------------------------------------------------+ | 39b98ffc-d0f5-49fc-8ab1-f0f64aa3380f | | fa:16:3e:a4:f1:d5 | {"subnet_id": "3aeafb5e-5385-406f-aadd-8a04359b5e28", "ip_address": "10.1.0.108"} | | b0c2bbe4-0410-422e-a20f-0bedc538c90f | vip-a545f16a-2281-44fe-b959-5a37ed8f235a | fa:16:3e:fb:b3:f5 | {"subnet_id": "3aeafb5e-5385-406f-aadd-8a04359b5e28", "ip_address": "10.1.0.110"} | | cd9a844c-17a7-4e24-9251-57a2dc0a8421 | | fa:16:3e:cc:1f:7f | {"subnet_id": "3aeafb5e-5385-406f-aadd-8a04359b5e28", "ip_address": "10.1.0.1"} | | f22c32bb-eef7-44f8-a3ab-a9ceee0c9fba | | fa:16:3e:e0:62:69 | {"subnet_id": "3aeafb5e-5385-406f-aadd-8a04359b5e28", "ip_address": "10.1.0.109"} | | f239ecfb-746d-4ea8-97b2-4c8749c6d5e6 | | fa:16:3e:c8:82:f2 | {"subnet_id": "3aeafb5e-5385-406f-aadd-8a04359b5e28", "ip_address": "10.1.0.100"} | +--------------------------------------+------------------------------------------+-------------------+-----------------------------------------------------------------------------------+
  • 190. ⑬ ロードバランサーを構成する • 仮想 IP に Floating IP を 割り当てます。 190 $ neutron floatingip-associate 535ac9c2-aef9-40f1-8645-05bc32a6f29a b0c2bbe4-0410-422e-a20f-0bedc538c90f Associated floating IP 535ac9c2-aef9-40f1-8645-05bc32a6f29a
  • 192. vSphereから見てみる • ここではVMware管理者として、vSphere Web Clientにログインして作成されたイン スタンスを確認してみます。 • 比較対象としてOpenStackから見た、あるインスタンスの情報を載せておきます。 192
  • 193. インスタンスを確認する • インスタンスは Nova clusterとして選択した クラスターに配置されます。 • 仮想マシンの名前には、インスタンスの名前 にIDが付きます。 193
  • 196. インスタンスを確認する - タグ ◦ 検索のキーとして使用することができます。 ◦ 例えばあるOpenStackユーザが作成したインスタンスを検索 することができます。 - メモ ◦ もうちょっと細かい情報 196
  • 199. NSX-Vとの連携の概要 • VMware Integrated OpenStack は Neutron と連携する NSX for vSphere によって以下のようなネットワークサービスを提 供します。 - レイヤー2 ◦ テナントネットワークのための VXLAN による仮想ネットワーク (ネットワークアドレスのオーバーラップ含む) ◦ 専用EdgeによるDHCPサービス - レイヤー3 ◦ 集中ルーティング(Edge Service Gateway)、および分散ルーティング(Distributed Logical Router) ◦ スタティックルーティング - レイヤー4 ◦ Floating IP (SNAT/DNAT) ◦ ロードバランシング - セキュリティ ◦ 分散ファイアウォールによるマイクロセグメンテーション ◦ SpoofGuardによる成りすましの防止 - その他 ◦ Metadata Service のプロキシ ◦ VXLAN/VLAN ブリッジ • もっと詳しい情報は VMware から提供されているドキュメントを見てください。 - VIO 2.0 & NSX-v Network Topologies Configuration Guide https://communities.vmware.com/docs/DOC-30985 • 次項では一部の機能について載せています。 199
  • 200. OpenStack テナント ネットワークトポロジー • ここでは NSXv で分散ルータで構成しています。 • OpenStack で分散ルータでルータを構成すると、NSXv では右の図のようなトポロ ジーが構成されますが、OpenStack では左の図のように非分散ルータと同じトポロ ジーとして認識されます。 200 vm3 vm2 vm1 10.1.0.0/24 10.2.0.0/24 10.1.0.0/24 OpenStack で認識しているトポロジー NSX で構成されるトポロジー NSX Edge Service Gateway NSX 分散論理ルータ テナント内ネットワーク 169.254.2.0/28
  • 201. 論理スイッチ • 1つ1つのテナントネットワークは論理スイッチによって構成されます。 • ネットワークのIDで識別します。 201 # neutron net-list --all-tenants +--------------------------------------+----------------+-------------------------------------------------------+ | id | name | subnets | +--------------------------------------+----------------+-------------------------------------------------------+ | b1cf7f51-f6c5-4321-87df-cae22ffce420 | Int-Network-3 | 4d5661d2-f3a0-4b7a-91ad-5583bdf51cda 10.3.0.0/24 | | 4649bfca-3645-43fb-95d7-86ff276720c0 | Int-Network-2 | 48929a55-53e9-47a5-8246-b92434d3ef47 10.2.0.0/24 | | b8fe250a-cd25-47e5-a564-505675960fa3 | Int-Network-1 | 7e8b2117-f578-449f-a16b-73c3bb91a698 10.1.0.0/24 | | 6effd6c4-241d-4b6b-9485-fe22ac97ac21 | inter-edge-net | 5650fee1-9df0-4fa2-8f1f-d07777f3f40b 169.254.128.0/17 | | e791fe85-66ab-4e13-8e52-80971b6d769f | Ext-Network-1 | 9e266bcc-031d-45bf-b52a-0a99b65b2d94 192.168.205.0/24 | +--------------------------------------+----------------+-------------------------------------------------------+ Int-Network-3 Int-Network-1 Int-Network-2 テナント内NW
  • 202. DHCPサービス • DHCPサービスを提供する専用のEdge Gatewayがデプロイされます。 • このDHCP EdgeはOpenStackのネットワークトポロジーには表示されません。 202
  • 203. DHCPサービス • DHCP Edgeのインターフェースを見ると、テナントネットワークにトランク接続して いることがわかります。 • DHCP Edgeのインターフェースにはアドレスプールの一番最初のIPアドレスが割り当 てられます。 203 Int-Network-3 Int-Network-1 Int-Network-2 # neutron net-list --all-tenants +--------------------------------------+----------------+-------------------------------------------------------+ | id | name | subnets | +--------------------------------------+----------------+-------------------------------------------------------+ | b1cf7f51-f6c5-4321-87df-cae22ffce420 | Int-Network-3 | 4d5661d2-f3a0-4b7a-91ad-5583bdf51cda 10.3.0.0/24 | | 4649bfca-3645-43fb-95d7-86ff276720c0 | Int-Network-2 | 48929a55-53e9-47a5-8246-b92434d3ef47 10.2.0.0/24 | | b8fe250a-cd25-47e5-a564-505675960fa3 | Int-Network-1 | 7e8b2117-f578-449f-a16b-73c3bb91a698 10.1.0.0/24 | | 6effd6c4-241d-4b6b-9485-fe22ac97ac21 | inter-edge-net | 5650fee1-9df0-4fa2-8f1f-d07777f3f40b 169.254.128.0/17 | | e791fe85-66ab-4e13-8e52-80971b6d769f | Ext-Network-1 | 9e266bcc-031d-45bf-b52a-0a99b65b2d94 192.168.205.0/24 | +--------------------------------------+----------------+-------------------------------------------------------+
  • 205. SpoofGuard • SpoofGuardは、承認済みのIPアドレス以外からの通信を止めることで、成りすましな どを防ぐ機能です。(参考:Using SpoofGuard) • テナントネットワークごとにポリシーが作成され、インスタンス作成時に割り当てた IPアドレスでもってインスタンスの通信を承認します。 205 Int-Network-1
  • 206. Security Group • OpenStackで作成したセキュリティグループは、NSX Security Groupとして作成され ます。 • 同じOpenStackセキュリティグループに属するインスタンスは、同じNSX Security Groupに含められます。 206
  • 207. 分散ファイアウォール • OpenStack セキュリティグループで定義したルールは、NSX 分散ファイアウォール のポリシーから参照することができます。 • OpenStack セキュリティグループごとに、セクションが作成されます。 207
  • 208. 分散論理ルータ • 分散ルータとして構成したテナントのルータはOpenStack で構成した名前で表示されます。 • テナントのルータとしてテナント内と外部へのルーティングを提供します。 208 Int-Network-3 Int-Network-1 Int-Network-2 テナント内NW
  • 209. Edge Service Gateway (ESG) • ESG にはアップリンクとして外部ネットワークが、内部リンクとしてテナント内 ネットワークが接続されます。 • 外部への接続やゲートウェイファイアウォール、SNAT/DNAT 209 Ext-Network-1 テナント内NW
  • 211. SNAT/DNAT • ESG に定義される NAT の設定です。 - Floating IPを設定したインスタンスのためのSNAT/DNAT - 各テナントネットワークから外部にアクセスするためのSNAT 211 Floating IP 各テナント用のSNAT
  • 213. ロードバランサー • ロードバランサーは「集中ルータ」(NSX Edge Security Gateway)、かつ 「Exclusive」で作成したルータでのみ構成することができます。 • そのため Dashboard を使って作成した環境を NSX から見てみます。 213
  • 219. VIOをアンインストールする • ここではVIOのアンインストール方法について書きます。 • すべて削除して初期状態に戻すには以下の流れになります。 - OpenStack管理コンポーネントを削除する - OMSを削除する - vCenterからの登録を解除する - インスタンスを削除する 219
  • 220. VIOをアンインストールする • OpenStack管理コンポーネントを削除する - OMSの「すべてのアクション」から「OpenStack デプロイの削除」 を選択して、すべてのOpenStack管理コンポーネントを削除します。 • OMSを削除する - 手動でvAppを削除します。 220
  • 221. VIOをアンインストールする - vCenterからの登録を解除する ◦ vCenter からOMSの拡張プラグイン削除します。 KB 1025360 に記載されている方法を使用します。 1. vSphere Web Clientからログアウトします。 2. vSphere Managed Object Browserへアクセスします。 https://<vceter/mob 3. 管理者権限でログインします。 4. 「content」を選択します。 221
  • 222. VIOをアンインストールする • vCenterからの登録を解除する 1. 「ExtensionManager」を選択します。 2. 以下のExtensionを探す ◦ com.vmware.openstack.vcext.instance-xxx ◦ com.vmware.openstack.ui ◦ org.openstack.compute ◦ org.os.vmw.plugin 3. ページ下にある「UnregisterExtension」を選択します。 222
  • 223. VIOをアンインストールする • vCenterからの登録を解除する 4. 別ウインドウが開くので、VALUEにさっきの4つのExtentionを1つずつ入 力してInvoke Methodを選択します。 5. 成功するとこんなメッセージが表示されます。 「Method Invocation Result : void」 223
  • 224. VIOをアンインストールする • vCenterからの登録を解除する 6. vCenter Web Clientにログインしなおし ホーム画面からOpenStackのアイコンが消えていれば完了です。 • インスタンスを削除する - OpenStackインスタンスは手動で削除する必要があります。 224