openstack hands-on - uniuni.net.th/wunca_regis/wunca31_doc/24/011_wunca_openstack_han… ·...

Post on 30-May-2020

6 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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 เช่น

wunca@10.0.2.15• จากนัน้ป้อน 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 ubuntu@172.24.4.4 หรือ$ssh –i wunca31.pem cirros@172.24.4.5

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 เช่นUbuntu@172.24.4.4

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 ubuntu@172.24.4.__

Image : Cirros มี 2 วิธี• Open ConsoleLogin: cirrospassword : cubswin:)• Login from host$ssh cirros@172.24.4.__

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 chart@161.200.90.78

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เช่น

cirros@172.24.4.5

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

top related