18
Presentation By: Roozbeh Shafiee Summer 2015 IRAN OpenStack Users Group MASTERING OPENSTACK (Episode 05) Controller Nodes

Mastering OpenStack - Episode 05 - Controller Nodes

Embed Size (px)

Citation preview

Presentation By:

Roozbeh Shafiee

Summer 2015

IRAN OpenStack Users Group

MASTERINGOPENSTACK

(Episode 05)

Controller Nodes

IRAN Community| OpenStack.ir

Agenda:

● What is the Controller

● Hardware Considerations

● Network Considerations

● Iran OpenStack Community

OpenStack Controller Nodes

IRAN Community| OpenStack.ir

What is the Controller?

OpenStack Controller Nodes

IRAN Community| OpenStack.ir

What is the Controller:

The cloud controller provides the central management system for OpenStack

deployments. Typically, the cloud controller manages authentication and sends

messaging to all the systems through a message queue.

OpenStack Controller Nodes

IRAN Community| OpenStack.ir

What Does Controller Do?

● Collection of nova components that represent the global state of the cloud

● Talks to services such as authentication

● Maintains information about the cloud in a database

● Communicates to all compute nodes and storage workers through a queue

● Provides API access

Each service running on a designated cloud controller may be broken out into

separate nodes for scalability or availability.

OpenStack Controller Nodes

IRAN Community| OpenStack.ir

Hardware Considerations

OpenStack Controller Nodes

IRAN Community| OpenStack.ir

Hardware Specifications:

A cloud controller’s hardware can be the same as a compute node, though you

may want to further specify based on the size and type of cloud that you run.

It’s also possible to use virtual machines for all or some of the services that the

cloud controller manages, such as the message queuing. In this guide, we assume

that all services are running directly on the cloud controller.

OpenStack Controller Nodes

IRAN Community| OpenStack.ir

Cloud Controller Hardware Sizing Considerations

● How many instances will run at once?

● How many compute nodes will run at once?

● How many users will access the API?

● How many users will access the dashboard versus the REST API directly?

● How many nova-api services do you run at once for your cloud?

● How long does a single instance run?

● Does your authentication system also verify externally?

OpenStack Controller Nodes

IRAN Community| OpenStack.ir

Separation of Services:

● Run Glance servers on the swift-proxy server.

This deployment felt that the spare I/O on the Object Storage proxy server was

sufficient and that the Image Delivery portion of glance benefited from being

on physical hardware and having good connectivity to the Object Storage

backend it was using.

OpenStack Controller Nodes

IRAN Community| OpenStack.ir

Separation of Services:

● Run a central dedicated database server

This deployment used a central dedicated server to provide the databases for all

services. This approach simplified operations by isolating database server updates

and allowed for the simple creation of slave database servers for failover.

OpenStack Controller Nodes

IRAN Community| OpenStack.ir

Separation of Services:

● Run one VM per service

This deployment ran central services on a set of servers running KVM. A dedicated

VM was created for each service ( nova-scheduler , rabbitmq, database, etc). This

assisted the deployment with scaling because administrators could tune the

resources given to each virtual machine based on the load it received (something

that was not well understood during installation).

OpenStack Controller Nodes

IRAN Community| OpenStack.ir

Separation of Services:

● Use an external load balancer

This deployment had an expensive hardware load balancer in its organization. It

ran multiple nova-api and swift-proxy servers on different physical servers and

used the load balancer to switch between them.

OpenStack Controller Nodes

IRAN Community| OpenStack.ir

Network Considerations

OpenStack Controller Nodes

IRAN Community| OpenStack.ir

Network Considerations:

Because the cloud controller handles so many different services, it must be able

To handle the amount of traffic that hits it. For example, if you choose to host the

OpenStack Imaging Service on the cloud controller, the cloud controller should be

able to support the transferring of the images at an acceptable speed.

As another example, if you choose to use single-host networking where the cloud

controller is the network gateway for all instances, then the cloud controller must

support the total amount of traffic that travels between your cloud and the public

Internet.

OpenStack Controller Nodes

IRAN Community| OpenStack.ir

Network Considerations:

We recommend that you use a fast NIC, such as 10 GB. You can also choose to use

two 10 GB NICs and bond them together. While you might not be able to get a full

bonded 20 GB speed, different transmission streams use different NICs. For

Example, if the cloud controller transfers two images, each image uses a different

NIC and gets a full 10 GB of bandwidth.

OpenStack Controller Nodes

IRAN Community| OpenStack.ir

Iran OpenStack Community

OpenStack Controller Nodes

IRAN Community| OpenStack.ir

Stay in Touch and Join Us:

● Home Page: OpenStack.ir

● Meetup Page: Meetup.com/Iran-OpenStack

● Mailing List: [email protected]

● Twitter: @OpenStackIR , #OpenStackIRAN

● IRC Channel on FreeNode: #OpenStack-ir

OpenStack Controller Nodes

Roozbeh ShafieeIran OpenStack Community Manager

[email protected]

OpenStack.ir

Thank You

We need to work together to build a better community