Couch to OpenStack: Nova - July, 30, 2013

Post on 08-May-2015

3.831 views 1 download

description

Tuesday, July 30th session of the vBrownBag OpenStack Sack Lunch Series: Couch to OpenStack. We cover Nova, the Compute Service that deploys and runs VMs.

Transcript of Couch to OpenStack: Nova - July, 30, 2013

Compute - Nova

Couch To OpenStack

- git clone https://github.com/bunchc/Couch_to_OpenStack.git

- cd Couch_to_OpenStack- vagrant up

Build Time!

- Subscribe & Recordings: http://bit.ly/BrownbagPodcast

- Sign up for the rest of the series: http://openstack.prov12n.com/about-couch-to-openstack/

Some Logistics

On Twitter: #vBrownBag

Also: @VMTrooper

Join the conversation

- New Edition: http://www.packtpub.com/openstack-cloud-computing-cookbook-second-edition/book

- Old Edition: http://amzn.to/12eI6rX

Buy the Book

7/2/2013 – Intro to OpenStack7/9/2013 – Vagrant Primer7/16/2013 – Identity services (Keystone)7/23/2013 – Image services (Glance)7/30/2013 – Compute Services (Nova) << We Are Here8/6/2013 – Block Storage / Volume Services (Cinder)8/13/2013 – Networking Services (Quantum)8/20/2013 – Monitoring & Troubleshooting8/27/2013 – HA OpenStack9/3/2013 – DevOps Deployments

Note: Dates are subject to change depending on how far we get in each lesson.

The Rest of the Series

Use the automated Glance Install and manually install Nova

Remember we have a G+ Support group here:https://plus.google.com/communities/101663052588382171429

Homework Review

- Creates the Controller & Nova (Compute) Nodes- Sets variables required for Nova deployment- Creates an Nova Service and Endpoint in

Keystone- Updates MySQL

- Creates a Nova DB- Assigns the Nova User to the DB

- Installs Nova- Configures Nova settings

Build – What’s it doing?

- Deploy and run cloud computing workloads- Depending on the hypervisor, the VMs run

natively on the Nova Host (KVM, Xen) or are remotely controlled via API (vSphere)

- Nova gets its images from Glance- … Let’s take a look:

Nova Intro

- Deploy an additional node- Increase resource allocations beyond the default- … Let’s take a look:

Vagrantfile Review

Keystone Intro

- http://docs.openstack.org/trunk/openstack-compute/admin/content/installing-openstack-compute-on-debian.html

- http://docs.openstack.org/trunk/openstack-compute/install/apt/content/example-installation-architecture.html

Concepts – Reference

- vagrant ssh controller- sudo su -- cat .stackrc

- export OS_TENANT_NAME=cookbook- export OS_USERNAME=admin- export OS_PASSWORD=openstack- export

OS_AUTH_URL=http://${MY_IP}:5000/v2.0/

- source .stackrc

Using Nova!

- keystone service-list+----------------------------------+----------+----------+----------------------------+| id | name | type | description |+----------------------------------+----------+----------+----------------------------+| 3e5e37bd90394e01b981daef86c10dab | ec2 | ec2 | EC2 Service || 07409443890b4d7da1ae35686332b2c3 | glance | image | OpenStack Image Service || e8fcf639a36147de8b9894db072268b6 | keystone | identity | OpenStack Identity Service || c9c4ffc41c184c82bfa9e501a35977f7 | nova | compute | OpenStack Compute Service |+----------------------------------+----------+----------+----------------------------+

- keystone service-get <UUID>+-------------+----------------------------------+| Property | Value |+-------------+----------------------------------+| description | OpenStack Compute Service || id | c9c4ffc41c184c82bfa9e501a35977f7 || name | nova || type | compute |+-------------+----------------------------------+

Verify Nova Service

- nova-manage service list

Binary Host Zone Status Statenova-conductor controller.book internal enabled :-)nova-scheduler controller.book internal enabled :-)nova-compute compute.book nova enabled :-)nova-network compute.book internal enabled :-)

If any binaries have an XXX State, check the /var/log/nova logs on the appropriate host

Verify Nova Component Status

Nova Component Locations

Controller Compute Node

nova-api nova-compute

nova-scheduler nova-network

nova-objectstore nova-api-metadata

nova-conductor

Nova Component Functions

Component Purpose

nova-api Interact with users and other OpenStack services

nova-scheduler Determine which Nova node to deploy a VM on

nova-objectstore Simple Image storage that we replace with Glance

nova-conductor Update database on behalf of nova-compute

nova-compute Deploy and run instances

nova-api-metadata Provide information about instances

nova-network Original OpenStack networking service

- Private Network to be used by our OpenStack Compute instances internally:nova-manage network create privateNet \ --fixed_range_v4=10.10.<your third octet>.2/24 \ --network_size=20 \ --bridge_interface=eth2

- Public Network to access our OpenStack Compute instances:nova-manage floating create --ip_range=172.16.<your third octet>.2/28

- Access rules that will be implemented in the instance iptables:nova secgroup-add-rule default tcp 22 22 0.0.0.0/0nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0

- Restart Nova-Network:service nova-network restart

Configure Networking

- Create a certificate file for communication with your VMnova keypair-add demo > demo.pemchmod 0600 *.pem

- Verify your imagesnova image-list OR glance image-list+--------------------------------------+----------------------------+-------------+-----------+| ID | Name | Disk Format | Size |+--------------------------------------+----------------------------+-------------+-----------+| bc670eb3-67dc-42f3-82b2-91e96f5eca52 | Cirros 0.3 | qcow2 | 9761280 || 90c17ca9-6447-4d45-b862-86366881c13a | Ubuntu 12.04 x86_64 Server | qcow2 | 252641280 |+--------------------------------------+----------------------------+-------------+-----------+

- Boot a new instance of an imagenova boot myInstance --image <Image ID> --flavor 2 --key_name demo

Deploy an Instance

# nova-manage instance_type listm1.tiny: Memory: 512MB, VCPUS: 1, Root: 0GB, Ephemeral: 0Gb, FlavorID: 1, Swap: 0MB…m1.small: Memory: 2048MB, VCPUS: 1, Root: 20GB, Ephemeral: 0Gb, FlavorID: 2, Swap: 0MB…m1.medium: Memory: 4096MB, VCPUS: 2, Root: 40GB, Ephemeral: 0Gb, FlavorID: 3, Swap: 0MB… m1.large: Memory: 8192MB, VCPUS: 4, Root: 80GB, Ephemeral: 0Gb, FlavorID: 4, Swap: 0MB…m1.xlarge: Memory: 16384MB, VCPUS: 8, Root: 160GB, Ephemeral: 0Gb, FlavorID: 5, Swap: 0MB…

Nova Instance Flavors

On the Compute Node, review /var/log/nova/nova-compute.log

Instance Deployment Progress

For next week’s session, we will add another node to the deployment: Cinder for Block Storage.

We will need perform a few extra actions than we have done for the previous sessions:1. Edit the Vagrantfile to generate an additional server give it the name “cinder”

2. The additional server that we create should have its own shell script file with its hostname as the filename (ex: cinder.sh).

3. The controller.sh will need to be extended to create a cinder database, an endpoint, service, etc. Also, the nova.conf file will need to be extended to use Cinder for Block Storage

4. Post ideas, questions, comments on the Google Plus Community

Homework!

Now that you know a little about Nova, attempt an integration with vSphere. There are two options:1. A single Nova node can control a single ESXi node2. A single Nova node can control a single vCenter Cluster (Cluster should only have one

shared datastore)

How do I spin up a test vSphere environment as easily as I can with the OpenStack labs? The AutoLab, of course!

Reference Sites:3. Nova-vSphere Integration: https://wiki.openstack.org/wiki/NovaVMware/DeveloperGuide4. Nova-vSphere Integration:

http://docs.openstack.org/trunk/openstack-compute/admin/content/vmware.html5. AutoLab: http://www.labguides.com/autolab/

Extra Credit