Upload
shojiro-ohtani
View
940
Download
4
Embed Size (px)
Citation preview
VMware Integrated OpenStack with NSX-VPOC ガイド (第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 Network192.168.205.0/24
DVS: Public-DVSPort Group: Public
Internet
VIO Components 192.168.205.3VIO-Loadbalancer-0
192.168.201.x
192.168.205.4VIO-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 Network192.168.201.0/24
DVS: vSwitch0Port Group: VM Network
Transport Network192.168.204.0/24
DVS: Tenant-DVSPort Group: (per tenant)
External Network192.168.205.0/24
DVS: Public-DVSPort Group: Public
vCenter
192.168.201.121
NSXManager
192.168.201.50
NSXController
192.168.201.51
NSXController
192.168.201.52
NSXController
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 forvSphere周りのインストールと基本的な設定について書きます。
• 簡単に言えば、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のWebUIにアクセスし、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 がパワーオンし、しばらくしてからWebClientにログインし直します。
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 architecturehttp://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.5viouser@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 oms020viouser@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 getlogschanged: [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.propertiesvim.host = 192.168.201.121vim.port = 443vim.evs_url = https://vc121.lab.local/vsm/extensionServicevim.evs_token = 1ceebe11e2ff8e310f2f64f9653e16ab48696be1vim.thumbprint = d1:af:9c:53:a6:b5:0a:e2:8d:c9:af:d3:60:bc:39:06:c9:bd:bd:1cvc.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.localsyslog_server_port = 514syslog_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 AccessNetworkからアクセスしてください。
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.1
68.2
05.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 を設定します。
- [コンピュート]-[アクセスとセキュリティ]-[FloatingIP] から 「割り当て」を選択します。
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 loadbalancer01Welcome 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 oms030viouser@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_TOKENunset OS_SERVICE_ENDPOINTexport OS_AUTH_URL=http://XXX.XXX.XXX.XXX:35357/v2.0export OS_REGION_NAME=novaexport OS_TENANT_NAME=adminexport OS_USERNAME=adminexport OS_PASSWORD=*****export NOVA_ENDPOINT_TYPE=internalURLexport OS_ENDPOINT_TYPE=internalURLexport CINDER_ENDPOINT_TYPE=internalURL
プライベート仮想 IP を指定します
管理者のテナント管理者の名前管理者のパスワード
ファイル名:tb-user1.rc
unset OS_ENDPOINT_TYPEunset NOVA_ENDPOINT_TYPEunset CINDER_ENDPOINT_TYPEunset OS_REGION_NAMEexport OS_AUTH_URL=https://vio.lab.local:5000/v2.0export OS_TENANT_NAME=tenant-bexport OS_USERNAME=tb-user1export OS_PASSWORD=*****export OS_CACERT=/home/*****/vio.pem
Ddashboardのホスト名、またはパブリック仮想 IPテナント名テナントユーザテナントユーザのパスワードloadbalancerから取得した証明書の場所
ファイル名:tb-user1.bat(Windows用)
unset OS_ENDPOINT_TYPEunset NOVA_ENDPOINT_TYPEunset CINDER_ENDPOINT_TYPEunset OS_REGION_NAMEexport OS_AUTH_URL=https://vio.lab.local:5000/v2.0export OS_TENANT_NAME=tenant-bexport OS_USERNAME=tb-user1export 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=trueCreated 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/24Created 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-1Created 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-1Set 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-3Created 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-1Created 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/24Created 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-1Added 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 [email protected] 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 theindividual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted byapplicable 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-1Created 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-1Created 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 3Created 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-1Associated 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-0bedc538c90fAssociated 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-1Int-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 SecurityGroupに含められます。
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
おわり