1
2014/7/30 v1
Tomoaki Nakajima(@irix_jp)
openstackOpen source software to build public and private clouds.
基礎操作編
2
目的
●
OpenStack 上に Horizon を使って踏み台サーバ
を構築します。
3
OpenStack へのログイン
●
今回は演習用の OpenStack 環境として、 HP
Public Cloud を利用します。
●
ブラウザで以下の URL へアクセスし、「 Login 」を
選択します。
●
http://www...
4
OpenStack へのログイン
●
登録したユーザ名、パスワードを入力します。
5
ログイン後の初期画面
今のプロジェクト
(テナント名)
現在のリージョン名 現在のユーザ名
6
リージョンについて
●
物理的、地理的に分割されたリソースの配置単位
7
リージョン毎に機能の有効化
●
各リージョンで利用する機能を有効化します。
*この作業は HP Public Cloud 独自です。
有効化します
8
リソースの状態を確認
●
リージョンでの機能を有効化すると、「 Project 」メ
ニューが選択できるようになります。
●
画面右メニュー
– Project → Compute → Overviwe
– ここでは、選択されているリージョ...
9
初期状態
●
Network → Network Toporogy を選択します。
10
ここからの設定シナリオ
●
作業用の踏み台サーバの作成をします
●
踏み台サーバの要件
– 外部から ssh でのアクセスが可能
– openstack client command, ansible が利用可能
HP Public Cl...
11
参考:サンプルアプリ
●
次の演習で利用するサンプルアプリの構造は以下
のようになっております。
12
踏み台サーバ作成の準備
●
キーペアの作成
●
ssh アクセス用
●
セキュリティグループの作成
●
ssh アクセスを許可
●
仮想ネットワークの作成
●
今回は既に存在するネットワークを利用するので省略
13
キーペアの作成
●
Project → Compute → Access & Security を
表示
●
「 Key pairs 」タブを選択
●
画面右上の「 Create key pair 」を選択します。
14
キーペアの作成
●
キーペアの名前を「 key-for-step-server 」として、
右下の「 Create Key Pair 」を選択し、キーを作成
します。
●
作成すると「秘密鍵」のダウンロードが始まるので、
わかりやすい場所...
15
セキュリティグループの作成
●
Project → Compute → Access & Security を
表示
●
「 Security Groups 」タブを選択
●
画面右上の「 Create Security Group 」を...
16
セキュリティグループの作成
●
セキュリティグループの名前を「 security-for-
step-server 」と入力し、説明を追加し、「 Create
Security Group 」を選択します。
17
ルールの追加
●
次にセキュリティグループにルールを追加します。
●
先ほど作成した「 security-for-step-server 」の
「 Manage Rules 」を選択します。
18
ルールの追加
●
「 Add Rule 」を選択します。
19
ルールの追加
●
SSH を全セグメントから許可するルールを追加しま
す。
同様の手順で、 HTTPS(443) も
ルールとして追加してください。
これはサーバ側で、 SSH を
443 で起動するためです。
20
ルールの追加
●
追加されたルールを確認します。
ここに
Ingress IPv4 TCP 443(HTTPS) 0.0.0.0/0(CIDR)
も追加されている必要があります。
21
仮想マシンの作成
●
Project → Compute → Instance
●
画面右上の「 Launch Instance 」を選択します。
22
仮想マシン作成時のパラメータ
23
仮想マシン作成 1
デフォルトのまま
(リソースの空きが多い
AZ が選ばれます)
「 step-server 」
「 standard.xsmall 」
「 1 」
同時に複数のインスタンを
起動することも可能です。
「 Boot fr...
24
Availability Zone
●
仮想マシンをどのデータセンターで起動するか選択
する。
US West(region-a.geo-1) US East(region-b.geo-1)
AZ1
AZ2
AZ3 AZ1
AZ2
AZ3
25
Flavor
●
仮想マシンのスペックを設定します。
●
仮想 CPU 数
●
メモリ数
●
ディスク容量
●
HP Public Cloud での Flavor
+-----+------------------+-----------...
26
Instance Boot Source
●
仮想マシンの起動方法を選択します。
●
様々なブート方法が可能です。
– 予め用意されたイメージから起動する。
– 自分で作成したスナップショットイメージから起動する。
– 外部 (cinde...
27
仮想マシン作成 2
「 key-for-step-server 」
「 security-for-step-server 」
Selected Networks に
標準で存在しているネ
ットワークを指定します。
28
仮想マシン作成 3
#!/bin/bash
date > /date.txt
yum install -q -y ansible bpython sshpass
setenforce 0
sed -i -e 's/SELINUX=enfo...
29
起動の確認
●
仮想マシン起動のためのリソース割り当てに成功
すると、 Instance 一覧に表示されます。
●
Status が「 Active 」になると仮想 OS の起動が始まり
ます
30
起動の確認
●
ログの表示
31
起動の確認
●
OS 起動時のログを確認することができます。
32
起動の確認
●
ネットワーク状態の確認とコンソールの表示
33
Floating IP の取得
●
仮想マシンに割り当てる、グローバル IP を取得しま
す。
34
Floating IP の取得
●
外部ネットワークから取得した IP アドレスを確認し
ます。
35
Floating IP の割り当て
●
取得した IP を、仮想マシンへ割り当てます。
36
ssh で踏み台サーバへ接続
●
割り当てた Floating IP に対して、ダウンロードした
keypair を利用してアクセスします
[root@client ~]$ ssh -i key-for-step-server.pem -...
37
openstack コマンドの導入
●
今後の作業のために、踏み台サーバへ openstack
クライアントコマンドを導入します。
[root@step-server ~]# yum install -y http://rdo.fedor...
38
コマンドの実行確認
●
インストールしたコマンドを利用して、 openstack
を操作します。
[root@step-server ~]# vim openrc
export OS_AUTH_URL=https://region-a.g...
39
cloud-init について
●
仮想マシン起動時に openstack の user/meta
データを利用して各種 OS の設定を行うスクリプト
集になります。
●
代表的な設定項目
– ホスト名の設定
– root ユーザ用に s...
40
演習のまとめ
●
Horizon を利用した OpenStack の操作
●
キーペア、セキュリティグループ、仮想ネットワーク
●
仮想マシンの作成と、 Floating IP
●
cloud-init を利用した起動時のスクリプト実行
...
41
付録
– 踏み台サーバを 1 回で作るための userdata ファイル
●
userdata.txt
●
実行例
#!/bin/bash
date > /date.txt
yum install -y ansible bpython s...
Upcoming SlideShare
Loading in …5
×

H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編

3,623 views

Published on

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,623
On SlideShare
0
From Embeds
0
Number of Embeds
39
Actions
Shares
0
Downloads
102
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編

  1. 1. 1 2014/7/30 v1 Tomoaki Nakajima(@irix_jp) openstackOpen source software to build public and private clouds. 基礎操作編
  2. 2. 2 目的 ● OpenStack 上に Horizon を使って踏み台サーバ を構築します。
  3. 3. 3 OpenStack へのログイン ● 今回は演習用の OpenStack 環境として、 HP Public Cloud を利用します。 ● ブラウザで以下の URL へアクセスし、「 Login 」を 選択します。 ● http://www.hpcloud.com
  4. 4. 4 OpenStack へのログイン ● 登録したユーザ名、パスワードを入力します。
  5. 5. 5 ログイン後の初期画面 今のプロジェクト (テナント名) 現在のリージョン名 現在のユーザ名
  6. 6. 6 リージョンについて ● 物理的、地理的に分割されたリソースの配置単位
  7. 7. 7 リージョン毎に機能の有効化 ● 各リージョンで利用する機能を有効化します。 *この作業は HP Public Cloud 独自です。 有効化します
  8. 8. 8 リソースの状態を確認 ● リージョンでの機能を有効化すると、「 Project 」メ ニューが選択できるようになります。 ● 画面右メニュー – Project → Compute → Overviwe – ここでは、選択されているリージョンの概要が確認できます。
  9. 9. 9 初期状態 ● Network → Network Toporogy を選択します。
  10. 10. 10 ここからの設定シナリオ ● 作業用の踏み台サーバの作成をします ● 踏み台サーバの要件 – 外部から ssh でのアクセスが可能 – openstack client command, ansible が利用可能 HP Public Cloud horizon api router Ext-Net step-server browser ssh openstack command & ansible ここに環境を 作成していきます Global IP NAT 今回の会場のネットワークは、 SSH が外部へ出られないため、 サーバ側で SSH を 443 ポートでも 待ち受けるように設定します。
  11. 11. 11 参考:サンプルアプリ ● 次の演習で利用するサンプルアプリの構造は以下 のようになっております。
  12. 12. 12 踏み台サーバ作成の準備 ● キーペアの作成 ● ssh アクセス用 ● セキュリティグループの作成 ● ssh アクセスを許可 ● 仮想ネットワークの作成 ● 今回は既に存在するネットワークを利用するので省略
  13. 13. 13 キーペアの作成 ● Project → Compute → Access & Security を 表示 ● 「 Key pairs 」タブを選択 ● 画面右上の「 Create key pair 」を選択します。
  14. 14. 14 キーペアの作成 ● キーペアの名前を「 key-for-step-server 」として、 右下の「 Create Key Pair 」を選択し、キーを作成 します。 ● 作成すると「秘密鍵」のダウンロードが始まるので、 わかりやすい場所に保存しておいてください。 ● このキーは後で利用します。
  15. 15. 15 セキュリティグループの作成 ● Project → Compute → Access & Security を 表示 ● 「 Security Groups 」タブを選択 ● 画面右上の「 Create Security Group 」を選択します。
  16. 16. 16 セキュリティグループの作成 ● セキュリティグループの名前を「 security-for- step-server 」と入力し、説明を追加し、「 Create Security Group 」を選択します。
  17. 17. 17 ルールの追加 ● 次にセキュリティグループにルールを追加します。 ● 先ほど作成した「 security-for-step-server 」の 「 Manage Rules 」を選択します。
  18. 18. 18 ルールの追加 ● 「 Add Rule 」を選択します。
  19. 19. 19 ルールの追加 ● SSH を全セグメントから許可するルールを追加しま す。 同様の手順で、 HTTPS(443) も ルールとして追加してください。 これはサーバ側で、 SSH を 443 で起動するためです。
  20. 20. 20 ルールの追加 ● 追加されたルールを確認します。 ここに Ingress IPv4 TCP 443(HTTPS) 0.0.0.0/0(CIDR) も追加されている必要があります。
  21. 21. 21 仮想マシンの作成 ● Project → Compute → Instance ● 画面右上の「 Launch Instance 」を選択します。
  22. 22. 22 仮想マシン作成時のパラメータ
  23. 23. 23 仮想マシン作成 1 デフォルトのまま (リソースの空きが多い AZ が選ばれます) 「 step-server 」 「 standard.xsmall 」 「 1 」 同時に複数のインスタンを 起動することも可能です。 「 Boot from image 」 「 CentOS6.3 」
  24. 24. 24 Availability Zone ● 仮想マシンをどのデータセンターで起動するか選択 する。 US West(region-a.geo-1) US East(region-b.geo-1) AZ1 AZ2 AZ3 AZ1 AZ2 AZ3
  25. 25. 25 Flavor ● 仮想マシンのスペックを設定します。 ● 仮想 CPU 数 ● メモリ数 ● ディスク容量 ● HP Public Cloud での Flavor +-----+------------------+-----------+------+-----------+------+-------+-------------+-----------+ | ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | +-----+------------------+-----------+------+-----------+------+-------+-------------+-----------+ | 100 | standard.xsmall | 1024 | 10 | 10 | | 1 | 1.0 | N/A | | 101 | standard.small | 2048 | 30 | 10 | | 2 | 1.0 | N/A | | 102 | standard.medium | 4096 | 30 | 50 | | 2 | 1.0 | N/A | | 103 | standard.large | 8192 | 30 | 130 | | 4 | 1.0 | N/A | | 104 | standard.xlarge | 15360 | 30 | 270 | | 4 | 1.0 | N/A | | 105 | standard.2xlarge | 30720 | 30 | 470 | | 8 | 1.0 | N/A | | 110 | standard.4xlarge | 61440 | 30 | 870 | | 12 | 1.0 | N/A | | 114 | standard.8xlarge | 122880 | 30 | 1770 | | 16 | 1.0 | N/A | | 203 | highmem.large | 16384 | 30 | 130 | | 4 | 1.0 | N/A | | 204 | highmem.xlarge | 30720 | 30 | 270 | | 4 | 1.0 | N/A | | 205 | highmem.2xlarge | 61440 | 30 | 540 | | 8 | 1.0 | N/A | +-----+------------------+-----------+------+-----------+------+-------+-------------+-----------+
  26. 26. 26 Instance Boot Source ● 仮想マシンの起動方法を選択します。 ● 様々なブート方法が可能です。 – 予め用意されたイメージから起動する。 – 自分で作成したスナップショットイメージから起動する。 – 外部 (cinder) ボリュームを root ディスクとして起動する。 – 外部 (cinder) ボリュームのスナップショットから起動する。
  27. 27. 27 仮想マシン作成 2 「 key-for-step-server 」 「 security-for-step-server 」 Selected Networks に 標準で存在しているネ ットワークを指定します。
  28. 28. 28 仮想マシン作成 3 #!/bin/bash date > /date.txt yum install -q -y ansible bpython sshpass setenforce 0 sed -i -e 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config echo "Port 22" >> /etc/ssh/sshd_config echo "Port 443" >> /etc/ssh/sshd_config /etc/init.d/sshd restart テキストと一緒に保存している、 02_scripts.txt を参照してください。
  29. 29. 29 起動の確認 ● 仮想マシン起動のためのリソース割り当てに成功 すると、 Instance 一覧に表示されます。 ● Status が「 Active 」になると仮想 OS の起動が始まり ます
  30. 30. 30 起動の確認 ● ログの表示
  31. 31. 31 起動の確認 ● OS 起動時のログを確認することができます。
  32. 32. 32 起動の確認 ● ネットワーク状態の確認とコンソールの表示
  33. 33. 33 Floating IP の取得 ● 仮想マシンに割り当てる、グローバル IP を取得しま す。
  34. 34. 34 Floating IP の取得 ● 外部ネットワークから取得した IP アドレスを確認し ます。
  35. 35. 35 Floating IP の割り当て ● 取得した IP を、仮想マシンへ割り当てます。
  36. 36. 36 ssh で踏み台サーバへ接続 ● 割り当てた Floating IP に対して、ダウンロードした keypair を利用してアクセスします [root@client ~]$ ssh -i key-for-step-server.pem -p 443 root@15.126.YYY.XX The authenticity of host '15.126.222.36 (15.126.222.36)' can't be established. RSA key fingerprint is f2:a9:ed:5b:72:5d:40:d0:30:ca:83:92:9f:0f:2f:fe. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '15.126.222.36' (RSA) to the list of known hosts. [root@step-server ~]# hostname step-server [root@step-server ~]# cat /date.txt Fri Jun 13 16:18:00 UTC 2014 [root@step-server ~]# ansible --version ansible 1.6.3
  37. 37. 37 openstack コマンドの導入 ● 今後の作業のために、踏み台サーバへ openstack クライアントコマンドを導入します。 [root@step-server ~]# yum install -y http://rdo.fedorapeople.org/rdo-release.rpm [root@step-server ~]# yum install -y python-novaclient python-neutronclient python-glanceclient python-cinderclient python-swiftclient python-keystoneclient
  38. 38. 38 コマンドの実行確認 ● インストールしたコマンドを利用して、 openstack を操作します。 [root@step-server ~]# vim openrc export OS_AUTH_URL=https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/ export OS_REGION_NAME=region-b.geo-1 export OS_TENANT_NAME=101xxxxxxxxxxxxxx-Project export OS_USERNAME=username export OS_PASSWORD=password [root@step-server ~]# source openrc [root@step-server ~]# nova list +--------------------------------------+-------------+--------+------------+-------------+----------------------------------------------+ | ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+-------------+--------+------------+-------------+----------------------------------------------+ | c68cfdb2-64bf-4940-a608-9ac3e9254cc9 | step-server | ACTIVE | - | Running | irix_jp_1978-network=10.0.0.7, 15.126.222.36 | +--------------------------------------+-------------+--------+------------+-------------+----------------------------------------------+ [root@step-server ~]# neutron net-list +--------------------------------------+----------------------+--------------------------------------------------+ | id | name | subnets | +--------------------------------------+----------------------+--------------------------------------------------+ | 4ce90d1d-2866-444a-ac43-fa0d004f025d | irix_jp_1978-network | e156ec22-c018-4d7b-87d9-b5fc32dc4df9 10.0.0.0/24 | | 7da74520-9d5e-427b-a508-213c84e69616 | Ext-Net | ef3bde66-8ac4-4356-8ab4-099519ba218a | +--------------------------------------+----------------------+--------------------------------------------------+
  39. 39. 39 cloud-init について ● 仮想マシン起動時に openstack の user/meta データを利用して各種 OS の設定を行うスクリプト 集になります。 ● 代表的な設定項目 – ホスト名の設定 – root ユーザ用に ssh 公開鍵の取り込み – スクリプトの実行 等 ● 設定ファイル /etc/cloud/cloud.cfg ● 実行ログ /var/log/cloud-init.log
  40. 40. 40 演習のまとめ ● Horizon を利用した OpenStack の操作 ● キーペア、セキュリティグループ、仮想ネットワーク ● 仮想マシンの作成と、 Floating IP ● cloud-init を利用した起動時のスクリプト実行 HP Public Cloud horizon api router Ext-Net step-server browser ssh openstack command & ansible 次の講座で ここに環境を 作成していきます Global IP NAT
  41. 41. 41 付録 – 踏み台サーバを 1 回で作るための userdata ファイル ● userdata.txt ● 実行例 #!/bin/bash date > /date.txt yum install -y ansible bpython sshpass yum install -y http://rdo.fedorapeople.org/rdo-release.rpm yum install -y python-novaclient python-neutronclient python-glanceclient python-cinderclient python-swiftclient python-keystoneclient cat << EOF > /root/openrc export OS_AUTH_URL=https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/ export OS_REGION_NAME=region-b.geo-1 export OS_TENANT_NAME=tenant_name export OS_TENANT_ID=tenant_id export OS_USERNAME=username export OS_PASSWORD=password EOF $ nova boot --flavor standard.xsmall --image "CentOS 6.3 Server 64-bit 20130116" --key-name key-for-step-server --security-groups security-for-step-server --user-data userdata.txt --nic net-id=98668610-77c8-448c-8690-ab80fc8ac8ab test1

×