openstack hands-on - uniuni.net.th/wunca_regis/wunca31_doc/24/011_wunca_openstack_han… ·...
TRANSCRIPT
21/07/58
1
www.eng.chula.ac.thwww.eng.chula.ac.th
OpenStack Hands-on
Wireless Network & Future Internet (STAR) Research GroupDepartment of Electrical Engineering
Faculty of EngineeringChulalongkorn University
By
Asst. Prof. Dr. Chaodit Aswakul
Mr. Apichart WantamaneeMr. Chayanon Sangumpai
www.eng.chula.ac.th
Outline
• Devstack installation
• OpenStack web user interface
• Create Instance
• Connect network
• Q&A
21/07/58
2
www.eng.chula.ac.th
Devstack installation
www.eng.chula.ac.th
Add machine to Oracle Virtualbox Manager
21/07/58
3
www.eng.chula.ac.th
Set up network [FOR WUNCA]
1. Oracle Virtualbox>> เลอืก ubuntuserver-wunca
>>Setting>>Netwok2. ตรวจสอบที่
Adapter 1>>Attached to : NATAdapter 2>>Attached to : Host-only adapterPromiscuous mode : Allow all
3. กด OK4. กด Start เพื่อเร่ิมใช้งาน Ubuntu
www.eng.chula.ac.th
ตรวจสอบ IP ของ Host
• Login โดยlogin : wuncaPassword: wunca31
• จากนัน้ใช้ค าสัง่ เพื่อตรวจสอบ IP ของHost ที่ใช้งาน$ifconfig eth0$ifconfig eth1
21/07/58
4
www.eng.chula.ac.th
Add route for Windows
ไปที่ windows1. กดปุ่ ม windows >> search>>cmd
>>click ขวา>>Run as administrator2. ใช้ค าสัง่ route add
route add 10.0.2.0 mask 255.255.255.0 192.168.56.101 -p
www.eng.chula.ac.th
การใชง้าน Putty
การใช้งานโปรแกรม Putty• ใส ่username@ip ที่ช่อง Host name เช่น
[email protected]• จากนัน้ป้อน password เพื่อ login เข้าสู ่Host
password:wunca31
21/07/58
5
www.eng.chula.ac.th
DevStack installation: OS preparation
• RequirementOS : Ubuntu 14.04 (Trusty), Fedora 21 (or Fedora 22) and CentOS/RHEL 7
• Preparation for Ubuntu$sudo apt-get purge network-manager //for desktop version$sudo apt-get autoremove$sudo vi /etc/network/interfaces //Set static IP
auto eth0iface eth0 inet staticaddress 192.168.1.xx //Set host IPnetmask 255.255.255.0gateway 192.168.1.1dns-nameservers 8.8.8.8
$sudo ifdown eth0$sudo ifup eth0$sudo apt-get update$sudo apt-get upgrade$sudo apt-get dist-upgrade$sudo reboot
www.eng.chula.ac.th
DevStack installation
• Install git program$sudo apt-get install git
• Download DevStack$ git clone https://git.openstack.org/openstack-dev/devstack
• Configure the configuration file (local.conf)$cd devstack [Full path:/home/wunca/devstack]$nano local.conf
21/07/58
6
www.eng.chula.ac.th
local.conf (DevStack configuration file)[[local|localrc]]MULTI_HOST=1LOGFILE=/opt/stack/logs/stack.sh.logVERBOSE=TrueLOG_COLOR=TrueSCREEN_LOGDIR=/opt/stack/logsHOST_IP=192.168.1.40 SERVICE_HOST=192.168.1.40DATABASE_HOST=$SERVICE_HOSTRABBIT_HOST=$SERVICE_HOSTGLANCE_HOSTPORT=$SERVICE_HOST:9292KEYSTONE_AUTH_HOST=192.168.1.40KEYSTONE_SERVICE_HOST=192.168.1.40FIXED_RANGE=10.0.0.0/16NETWORK_GATEWAY=10.0.0.1IP_VERSION=4FLOATING_RANGE=172.24.4.0/24PUBLIC_NETWORK_GATEWAY=172.24.4.1FLAT_INTERFACE=eth0disable_service n-netenable_service q-svcenable_service q-agtenable_service q-dhcpenable_service q-l3enable_service q-metaenable_service q-metering# Optional, to enable tempest configuration as part of DevStack
enable_service tempest
#Enable Swift
enable_service s-proxy s-object s-container s-account
#NEUTRON OPTION
Q_USE_SECGROUP=True
Q_L3_ENABLED=True
PUBLIC_INTERFACE=eth0
Q_USE_PROVIDERNET_FOR_PUBLIC=True
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=1000:1999
OVS_PHYSICAL_BRIDGE=br-ex
PUBLIC_BRIDGE=br-ex
OVS_BRIDGE_MAPPINGS=public:br-ex
VNCSERVER_PROXYCLIENT_ADDRESS=192.168.1.40
VNCSERVER_LISTEN=0.0.0.0
NOVNCPROXY_URL=${NOVNCPROXY_URL:-
"http://192.168.1.40:6080/vnc_auto.html"}
XVPVNCPROXY_URL=${XVPVNCPROXY_URL:-"http://192.168.1.40:6081/console"}
# Password setup
ADMIN_PASSWORD=1234
DATABASE_PASSWORD=1234
RABBIT_PASSWORD=1234
SERVICE_PASSWORD=1234
SERVICE_TOKEN=1234
www.eng.chula.ac.th
local.conf for WUNCA
[[local|localrc]]LOGFILE=/opt/stack/logs/stack.sh.logVERBOSE=TrueLOG_COLOR=TrueSCREEN_LOGDIR=/opt/stack/logsHOST_IP=10.0.2.15FIXED_RANGE=10.0.0.0/16NETWORK_GATEWAY=10.0.0.1IP_VERSION=4FLOATING_RANGE=172.24.4.0/24PUBLIC_NETWORK_GATEWAY=172.24.4.1FLAT_INTERFACE=eth0
disable_service n-netenable_service q-svcenable_service q-agtenable_service q-dhcpenable_service q-l3enable_service q-metaenable_service q-metering# Optional, to enable tempest configuration as part of DevStackenable_service tempest
#NEUTRON OPTIONQ_USE_SECGROUP=TrueENABLE_TENANT_VLANS=TrueTENANT_VLAN_RANGE=1000:1999OVS_PHYSICAL_BRIDGE=br-exPUBLIC_BRIDGE=br-exOVS_BRIDGE_MAPPING=public:br-ex
# Password setupADMIN_PASSWORD=1234DATABASE_PASSWORD=1234RABBIT_PASSWORD=1234SERVICE_PASSWORD=1234SERVICE_TOKEN=1234
21/07/58
7
www.eng.chula.ac.th
Installation result• Install DevStack
$./stack.sh
www.eng.chula.ac.th
ก่อนใชง้าน Openstack
• เพิ่ม interface br-ex$sudo nano /etc/network/interfaces
auto br-exiface br-ex inet staticaddress 172.24.4.1netmask 255.255.255.0dns-nameservers 8.8.8.8
• ท า NAT $sudo apt-get install iptables-persistent$sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE$ sudo bash -c 'iptables-save > /etc/iptables/rules.v4'
• ท า enable packet forwarding$ sudo nano /etc/sysctl.conf
net.ipv4.ip_forward=1
21/07/58
8
www.eng.chula.ac.th
OpenStack directory • OpenStack directory : /opt/stack
www.eng.chula.ac.th
Rejoin openstack
• Export OS environment and rejoin openstack$cd devstack
$source openrc admin admin
$sudo losetup -f /opt/stack/data/stack-volumes-default-backing-file
$sudo losetup -f /opt/stack/data/stack-volumes-lvmdriver-1-backing-file
$./rejoin-stack.sh
21/07/58
9
www.eng.chula.ac.th
Rejoin stack
• Use Ctrl+a+d to detach screen• See log
$ screen –x stack
www.eng.chula.ac.th
ตรวจสอบ IP ของ Host
ใช้ค าสัง่เพื่อตรวจสอบ IP$ ifconfig eth0
21/07/58
10
www.eng.chula.ac.th
OpenStack web user interface
www.eng.chula.ac.th
Log in to OpenStack
URL: http://10.0.2.15Username: adminPassword: 1234
21/07/58
11
www.eng.chula.ac.th
Overview: Usage Summary
Menu : System>>Overview
www.eng.chula.ac.th
Hypervisor Summary
Menu : System>>Hypervisors
21/07/58
12
www.eng.chula.ac.th
All instances
Menu : System>>Instances
www.eng.chula.ac.th
Flavors
Menu : System>>Flavors
21/07/58
13
www.eng.chula.ac.th
Flavors: Create Favor
Menu : System>>Flavors>>Create Flavor [Flavor Information]
www.eng.chula.ac.th
Flavors: Create Favor[2]
Menu : System>>Flavors>>Create Flavor [Flavor Access]
21/07/58
14
www.eng.chula.ac.th
Flavors: Create Favor[3]
www.eng.chula.ac.th
IMAGES
Menu : System>>Images
21/07/58
15
www.eng.chula.ac.th
How to download image file
URL:http://cloud-images.ubuntu.com/releases/14.04/release/
www.eng.chula.ac.th
Image : Create image
Menu : System>>Images>> Create Image
File:trusty-server-cloudimg-amd64-disk1.img
21/07/58
16
www.eng.chula.ac.th
Image : Create image[2]
www.eng.chula.ac.th
Network
Menu : System>>Networks
21/07/58
17
www.eng.chula.ac.th
Network subnet
Menu : System>>Networks
www.eng.chula.ac.th
Network Topology [Project: Admin]
Menu : Project>>Network>>Network Topology
21/07/58
18
www.eng.chula.ac.th
Network Topology [Project: demo]
Menu : Project>>Network>>Network Topology
www.eng.chula.ac.th
Network Topology for testing[WUNCA]
21/07/58
19
www.eng.chula.ac.th
Network : Create network[Project: admin]
Menu : Project>>Network>>Network [Create Network]
• สร้าง Private network และ Router ให้กบั Project: admin• เลอืก Project : admin
www.eng.chula.ac.th
Network : Create subnet
Menu : Project>>Network>>Network [Subnet]
21/07/58
20
www.eng.chula.ac.th
Network : Create subnet(2)
Menu : Project>>Network>>Network [Subnet details]
www.eng.chula.ac.th
Networks [Project: admin]
Menu : Project>>Network>>Network
21/07/58
21
www.eng.chula.ac.th
Networks Topology [Project: admin]
Menu : Project>>Network>>Network Topology
www.eng.chula.ac.th
Router : Create router
Menu : Project>>Network>>Router [Create router]
21/07/58
22
www.eng.chula.ac.th
Router
Menu : Project>>Network>>Router
www.eng.chula.ac.th
Router : Add interface
Menu : Project>>Network>>Router>>select router >>interfaces
21/07/58
23
www.eng.chula.ac.th
Router details
Menu : Project>>Network>>Router>>Interfaces
www.eng.chula.ac.th
Network Topology [Project: admin]
21/07/58
24
www.eng.chula.ac.th
Project
Menu : Identity >> Projects
www.eng.chula.ac.th
Users
Menu : Identity >> Users
21/07/58
25
www.eng.chula.ac.th
Pre-setting
www.eng.chula.ac.th
Access& Security : Create security group
Menu : Project>>Compute>>Access& Security >> Security Groups tab
21/07/58
26
www.eng.chula.ac.th
Access& Security : Manage rule
www.eng.chula.ac.th
Access& Security : Manage rule : Add Rule:ICMP
Menu : Project>>Compute>>Access& Security >> Security Groups>>Manage rules>>Add rule
21/07/58
27
www.eng.chula.ac.th
Access& Security : Manage rule : Add Rule: SSH
www.eng.chula.ac.th
Access& Security : Manage rule [Project: admin]
21/07/58
28
www.eng.chula.ac.th
Access& Security : Manage rule [Project: demo]
www.eng.chula.ac.th
Key pair : Create key pair
Menu : Project>>Compute>>Access& Security >>Key pairs
21/07/58
29
www.eng.chula.ac.th
Download key pair
www.eng.chula.ac.th
Floating IP : Allocate floating IP
Menu : Project>>Compute>>Access& Security >> Floating IPs
21/07/58
30
www.eng.chula.ac.th
Allocate floating IP[project: admin]
• Allocate floating IP ให้ project ละ 2 IP
www.eng.chula.ac.th
Allocate floating IP[project: demo]
21/07/58
31
www.eng.chula.ac.th
Launch Instance
www.eng.chula.ac.th
Launch instance for WUNCA
• สร้าง Instance จ านวน 2 Instance ตอ่ Project
Project: adminInstance1 : Ubuntu imageInstance2 : Cirros imageProject: demoInstance3 : Cirros imageInstance4 : Cirros image
21/07/58
32
www.eng.chula.ac.th
Launch Instance1:Ubutu image
Menu : Project>>Compute>>Instances>>Launch Instance
Availability Zone : novaInstance Name : instance1Flavor : server.smallInstance count : 1Instance Boot Source : Boot from imageImage Name : Ubuntu-cloud
Project: Admin
www.eng.chula.ac.th
Launch Instance1: Access&security,Networking
21/07/58
33
www.eng.chula.ac.th
Instance1:Associate Floating IP
Menu : Project>>Compute>>Instances>>action >> Associate Floating IP
www.eng.chula.ac.th
Instance1:Associate Floating IP
21/07/58
34
www.eng.chula.ac.th
Launch Instance2:Cirros image
Menu : Project>>Compute>>Instances>>Launch Instance
Availability Zone : novaInstance Name : instance2Flavor : m1.nanoInstance count : 1Instance Boot Source : Boot from imageImage Name : cirros-0.3.4
Project: Admin
www.eng.chula.ac.th
Launch Instance2: Access&security,Networking
21/07/58
35
www.eng.chula.ac.th
Launch 2 instances in [project : admin]
www.eng.chula.ac.th
Network topology [Project: admin]
21/07/58
36
www.eng.chula.ac.th
Launch Instance3:Cirros image
Menu : Project>>Compute>>Instances>>Launch Instance
Availability Zone : novaInstance Name : instance3Flavor : m1.nanoInstance count : 1Instance Boot Source : Boot from imageImage Name : cirros-0.3.4
Project: demo
www.eng.chula.ac.th
Launch Instance3: Access&security,Networking
21/07/58
37
www.eng.chula.ac.th
Launch Instance4:Cirros image
Menu : Project>>Compute>>Instances>>Launch Instance
Availability Zone : novaInstance Name : instance4Flavor : m1.nanoInstance count : 1Instance Boot Source : Boot from imageImage Name : cirros-0.3.4
Project: demo
www.eng.chula.ac.th
Launch Instance4: Access&security,Networking
21/07/58
38
www.eng.chula.ac.th
Launch 2 instances in [project : demo]
www.eng.chula.ac.th
Network topology [Project: demo]
21/07/58
39
www.eng.chula.ac.th
การน าKey pair มาใชง้าน[วิธีท่ี 1]
วิธีท่ี 1: น า key ท่ีได้ไปเก็บไว้ใน Host โดย
• เปิดไฟล์ .pem ท่ี download จาก web OpenStackจากนัน้ copy ข้อความทัง้หมด
www.eng.chula.ac.th
การน าKey pair มาใชง้าน[วิธีท่ี 1]• ไปที่ Ubuntu host ใน vmware ใช้ค าสัง่เพื่อเปิด
โปรแกรม text editor พร้อมทัง้ตัง้ชื่อไฟล์$nano wunca31.pem
• จดัการวางข้อความที่ได้ลงใน text editorกด ctrl+x เพื่อออกกด y เพื่อ save
• ท าการเปลีย่น mode ของไฟล์นีโ้ดยใช้ค าสัง่$sudo chmod 600 wunca31.pem
21/07/58
40
www.eng.chula.ac.th
การน าKey pair มาใชง้าน[วิธีท่ี 1]
• จากนัน้ access ไปยงัเคร่ือง instance ที่ใช้ keypair ตวันี ้โดยใช้ค าสัง่$ssh –i wunca31.pem user@ip เช่น$ssh –i wunca31.pem [email protected] หรือ$ssh –i wunca31.pem [email protected]
www.eng.chula.ac.th
การน าKey pair มาใชง้าน[วิธีท่ี 2]
1. เปิดโปรแกรม puttygen.exe2. ที่ Type of key to generate เลอืก SSH-2 RSA.3. กด load4. กดเลอืก File type เป็น All Files(*.*)
5. เลอืกไฟล์ wunca31.pem ที่ดาวน์โหลดมา6. กด Save private key จากนัน้ตอบ yes
และตัง้ชื่อให้กบัไฟล์เป็น wunca317. จะได้ไฟล์ชื่อ wunca31.ppk
21/07/58
41
www.eng.chula.ac.th
Add route for Windows
ไปที่ windows1. กดปุ่ ม windows >> search>>cmd
>>click ขวา>>Run as administrator2. ใช้ค าสัง่ route add
route add 172.24.4.0 mask 255.255.255.0 192.168.56.101 -p
www.eng.chula.ac.th
การน าKey pair มาใชง้าน[วิธีท่ี 2]
การน าไฟล์ .ppk มาใช้1. เปิดโปรแกรม putty2. ไปที่ category>Connection>SSH>Auth3. กด Browse ที่ช่อง Private key file และเลอืก
ไฟล์ wunca31.ppk มาใส่4. เลอืกเมน ูSession จากนัน้ใส ่host@ip ที่ช่อง
Host name เช่น[email protected]
21/07/58
42
www.eng.chula.ac.th
Instance overview
www.eng.chula.ac.th
Instance Console
21/07/58
43
www.eng.chula.ac.th
Connect to network
www.eng.chula.ac.th
Network Topology for testing
21/07/58
44
www.eng.chula.ac.th
Instance [Project :Admin]
Project : AdminInstance name: instance1Image : UbuntuPrivate ip : 192.168.10. __Floating ip : 172.24.4. ___
Project : AdminInstance name: instance2Image : cirrosPrivate ip : 192.168.10. __Floating ip : 172.24.4. ___
www.eng.chula.ac.th
Instance [Project : demo]
Project : demoInstance name: instance3Image : cirrosPrivate ip : 10.0.0.__Floating ip : 172.24.4. ___
Project : demoInstance name: instance4Image : cirrosPrivate ip : 10.0.0. __Floating ip : 172.24.4. ___
21/07/58
45
www.eng.chula.ac.th
How to log in instance
Image : Ubuntu• login from host$ssh –i wunca31.pem [email protected].__
Image : Cirros มี 2 วิธี• Open ConsoleLogin: cirrospassword : cubswin:)• Login from host$ssh [email protected].__
www.eng.chula.ac.th
Connection testing between instance in same project
21/07/58
46
www.eng.chula.ac.th
Connection testing between instance in same project
Name: instance1private IP: 192.168.10.3floating IP:172.24.4.4
Name: instance2private IP:192.168.10.4floating IP:172.24.4.5
www.eng.chula.ac.th
Connection testing between difference project
21/07/58
47
www.eng.chula.ac.th
Connection testing between difference project
Name: instance1[Admin]private IP: 192.168.10.3floating IP:172.24.4.4
Name: instance3[demo]private IP: 10.0.0.3floating IP:172.24.4.6
www.eng.chula.ac.th
• ถ้าพบวา่ไมส่ามารถเชื่อมจาก project demo ไปหา project adminได้
• ไปที่project: demo >>project>>Network>>Routers>>Static Routes>>Add Static route
Connection testing between difference project
Destination CIDR : ใส ่private network ของproject adminNext hop: ใส ่public ip ที่เชื่อมกบั router ของ project admin[ Network topology]
21/07/58
48
www.eng.chula.ac.th
• ถ้าพบวา่ไมส่ามารถเช่ือมจาก project admin ไปหา project demo ได้
• ไปที่project: admin>>project>>Network>>Routers>>Static Routes>>Add Static route
Connection testing between difference project
Destination CIDR : ใส ่private network ของproject adminNext hop: ใส ่public ip ที่เชื่อมกบั router ของ project admin[ Network topology]
www.eng.chula.ac.th
Connect to HOST and INTERNET
21/07/58
49
www.eng.chula.ac.th
Connect to HOST and INTERNET
Name: instance1[Admin]private IP: 192.168.10.3floating IP:172.24.4.4
$ping <host ip>$ping 8.8.8.8$ping www.google.com$wget http://www.uni.net.th/wunca_regis/wunca31_workshop/7.pdf
$ssh [email protected]
www.eng.chula.ac.th
Connect to FTP serverName: instance1[Admin]private IP: 192.168.10.3floating IP:172.24.4.4
$ftp wunca@<host ip>Password: wunca31ftp> passftp> lsftp> mget wunca31.txtตอบ yftp> exit$cat wunca31.txt
21/07/58
50
www.eng.chula.ac.th
Connect from local network
www.eng.chula.ac.th
Connect from local network
ไปท่ี windows1. กดปุ่ ม windows >> search>>cmd
>>click ขวา>>Run as administrator2. ใช้ค าสัง่ route add
route add 172.24.4.0 mask 255.255.255.0 <host ip>3. เปิดโปรแกรม Putty และใสh่ost name ของ instanceเช่น
21/07/58
51
www.eng.chula.ac.th
Exercise
1. Create 2 instances in 2 projects (=4 instance)
2. Test connection follow the table
Project demo: Instance1,2
Project admin: Instance3,4
www.eng.chula.ac.th
Result
Test connection
MachinePing test Machine
Ping test
HOST:IP:
Instance1: Result
INSTANCE1:Private IP:Floating IP:
host: Result
Private IP:10. Private IP:
Floating IP:172. Connect to internet(8.8.8.8)
Instance2: Result Instance2: Result
Private IP:10. Private IP:10.
Floating IP:172. Floating IP:172.
Instance3: Result Instance3: Result
Private IP:192. Private IP:192.
Floating IP:172. Floating IP:172.
Instance4: Result Instance4: Result
Private IP:192. Private IP:192.
Floating IP:172. Floating IP:172.
21/07/58
52
www.eng.chula.ac.th
Result[2]
MachinePing test Machine
Ping test
INSTANCE2:Private IP:Floating IP:
host: Result
INSTANCE3:Private IP:Floating IP:
host: Result
Private IP: Private IP:
Connect to internet(8.8.8.8) Connect to internet(8.8.8.8)
Instance1: Result Instance1: Result
Private IP: Private IP:
Floating IP: Floating IP:
Instance3: Result Instance2: Result
Private IP: Private IP:
Floating IP: Floating IP:
Instance4: Result Instance4: Result
Private IP: Private IP:
Floating IP: Floating IP:
www.eng.chula.ac.th
Result[3]
Machine Ping test
INSTANCE4:Private IP:Floating IP:
host: Result
Private IP:
Connect to internet(8.8.8.8)
Instance1: Result
Private IP:
Floating IP:
Instance2: Result
Private IP:
Floating IP:
Instance3: Result
Private IP:
Floating IP:
21/07/58
53
www.eng.chula.ac.th
Q&A