Intro to OpenStack - WAJUG

  • 802 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
802
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
121
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Rackspace Technical Services Introduction to OpenStack May 8, 2014 WAJUG Meetup
  • 2. About.me/kevjackson RACKSPACE | www.rackspace.com 2 Kevin Jackson, Principal Architect @itarchitectkev
  • 3. RACKSPACE® HOSTING | WWW.RACKSPACE.COM OpenStack
  • 4. OpenStack is open-source software used to build public, private and hybrid clouds 16,200 138 COMMUNITYSOFTWARE Join our global community of technologists, developers, researchers, corporations and cloud computing experts. OpenStack Software delivers a massively scalable cloud operating system. COMPUTE NETWORKIN G STORAGE PEOPLE COUNTRIES RACKSPACE | www.rackspace.com 4 What is OpenStack?
  • 5. The Mission RACKSPACE | www.rackspace.com 5 “To produce the ubiquitous Open Source Cloud Computing platform that will meet the needs of public and private clouds regardless of size, by being simple to implement and massively scalable.”
  • 6. KEYSTONE IDENTITY GLANCE IMAGE MANAGEMENT NOVA COMPUTE LAYER SWIFT OBJECT STORE CINDER BLOCK STORAGE NEUTRON NETWORKING HORIZON DASHBOARD CEILOMETER TELEMETRY HEAT Orchestration NEUTRON LBaaS, VPNaaS, FWaaS What is OpenStack?
  • 7. What really is OpenStack? RACKSPACE | www.rackspace.com 7 OpenStack is like the Linux Kernel
  • 8. What is Rackspace Private Cloud? RACKSPACE | www.rackspace.com 8 • Rackspace Private Cloud Software is powered by OpenStack, the same cloud platform we used to build the Rackspace public cloud. Because our Private Cloud Software is based on open-source technology, you don't have the risk of being locked into a proprietary platform. RPC is the Distribution
  • 9. Inaugural Design Summit in Austin Jul OpenStack Launch! CloudFiles Launches May 2008 NASA writes Nova Controller First release 25+ partners Oct Austin Swift prod Nova dev preview 35+ partners Nov First public Design Summit in San Antonio 2009 Mar 2006 Rackspace Cloud Launches Source: Randy Bias & Others History Lesson RACKSPACE | www.rackspace.com 9
  • 10. 2nd Summit Jan Feb Jul 2nd release Apr 3rd Summit in Santa Clara plus conference Governance moves forward with project technical leads and policy board elections. Decision to move to 6-month release cycle over 3-month Cactus Nova for larger- scale prod Sept Oct Diablo Major stability release First of 6-month releases Rackspace announces plans to launch OpenStack Foundation Bexar Nova for mid-sized prod Glance added as core Happy Birthday! RACKSPACE | www.rackspace.com 10 History Lesson
  • 11. AT&T joins OpenStack Jan Feb May Created framework for Foundation Apr 19 companies announce public support for Foundation Drafting committee formed - creating legal documents Essex Keystone in core Horizon in core Aug Sep Board Elections HP Cloud launch Oct Framework & documents ratified by community Inaugural OpenStack Foundation Board meeting VMware, Intel & NEC accepted as Gold members Foundation Launched! Folsom Cinder in core Networking in core RACKSPACE | www.rackspace.com 11 History Lesson
  • 12. Apr Oct Grizzly Ceilometer in incubation HEAT in incubation Apr IcehouseHavana Ceilometer in integration HEAT in integration LBaaS Nov Summit in Hong Kong First Summit 100% run and funded by Foundation Juno Oct Summit in Paris Summit in Atlanta May Nov Trove in Integration Compute rolling upgrades Block Storage migration Federated Keystone RACKSPACE | www.rackspace.com 12 History Lesson
  • 13. The OpenStack Programs RACKSPACE | www.rackspace.com 13 • OpenStack Compute (Nova) - integrated program since Austin release • OpenStack Networking (Neutron) - integrated program since Folsom release • OpenStack Object Storage (Swift) - integrated program since Austin release • OpenStack Block Storage (Cinder) - integrated program since Folsom release • OpenStack Identity (Keystone) - integrated program since Essex release • OpenStack Image Service (Glance) - integrated program since Bexar release • OpenStack Dashboard (Horizon) - integrated program since Essex release • OpenStack Telemetry (Ceilometer) - integrated program since the Havana release • OpenStack Orchestration (Heat) - integrated program since the Havana release • OpenStack Database (Trove) - integrated program for Icehouse • OpenStack Bare Metal (Ironic) • OpenStack Queue Service (Marconi) • OpenStack Data Processing (Hadoop) (Sahara)
  • 14. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Rackspace Private Cloud Architecture
  • 15. Rackspace Private Cloud Architecture RACKSPACE | www.rackspace.com • Rackspace Private Cloud (RPC) is OpenStack • Easy to install • Tested configurations • Supported • Community (Free) • Fanatical Support (per node) 15
  • 16. Rackspace Private Cloud Architecture RACKSPACE | www.rackspace.com • Rackspace Private Cloud (Compute) is made up of • 2 x Controllers (HA) • N Computes (Hypervisors) • N Cinder nodes (Block Storage) • Rackspace Private Cloud (Object Storage) • 2 x Identity • Hardware Load Balancers • N x Proxy • N x Storage (With DAS/JBOD) 16
  • 17. Rackspace Private Cloud Architecture RACKSPACE | www.rackspace.com 17
  • 18. OpenStack Architecture RACKSPACE | www.rackspace.com 18
  • 19. OpenStack Architecture RACKSPACE | www.rackspace.com 19
  • 20. Rackspace Private Cloud Architecture RACKSPACE | www.rackspace.com 20
  • 21. Hybrid Cloud: Dedicated to Cloud RACKSPACE | www.rackspace.com 21
  • 22. Hybrid Cloud: Enterprise to Cloud RACKSPACE | www.rackspace.com 22
  • 23. Hybrid Cloud: Multi-Cloud RACKSPACE | www.rackspace.com 23
  • 24. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Intro to Networking & SDN
  • 25. Intro to Software Defined Networking RACKSPACE | www.rackspace.com 25 • OpenStack Networking: Neutron • Networking Architecture for Rackspace Private Cloud • Servers/Nodes • Controller: Neutron API, Agents, Open vSwitch • Computes: Agents and Open vSwitch • Network Cards in each • NIC for Host/Management • Usually bonded into different switches for HA • NIC for Neutron • Usually bonded into different switches for HA • Can be bonded for LACP • Can have more than one NIC for different networks/speeds
  • 26. Rackspace Private Cloud: Networking RACKSPACE | www.rackspace.com 26
  • 27. Host or Management Network RACKSPACE | www.rackspace.com 27 • The Host Network is nothing more than the subnet the servers live on • I.e. the OpenStack services run on this network • Just like Apache or Bind would • As a user of the private cloud, this is your address for the API / GUI
  • 28. Provider Network RACKSPACE | www.rackspace.com 28 • This is the “Neutron” network • Networks that go through these interfaces have been defined in OpenStack • Neutron Provider Networks can be • GRE Tunnels • VLANs • Flat Networking • Can have multiple provider networks • One for “Standard” traffic at 1G • Another for “Fast” access at 10G • When creating networks in Neutron, we can specify which NIC “bridge” to use for this purpose
  • 29. Provider Network Type: GRE RACKSPACE | www.rackspace.com 29 • GRE Tunnel networks in Neutron form a mesh in OpenStack • Each Compute and Controller will be able to send/receive packets over these networks • Each GRE tunnel is given an ID
  • 30. Provider Network Type: VLAN RACKSPACE | www.rackspace.com 30 • VLAN networks work as they would in a physical world • Switch will have VLAN tags trunked on their ports • An OpenStack user would create a Neutron network with a corresponding VLAN ID • Providing all the switch ports have that VLAN ID, OpenStack Networking will work
  • 31. Provider Network Type: Flat RACKSPACE | www.rackspace.com 31 • Flat Networking is the most basic • It is analogous to Flat DHCP in “Nova Networking” • A single flat structure with no network isolation
  • 32. Physical Networking RACKSPACE | www.rackspace.com 32
  • 33. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Storage
  • 34. RACKSPACE® HOSTING | WWW.RACKSPACE.COM OpenStack Block Storage
  • 35. OpenStack Block Storage RACKSPACE | www.rackspace.com 35 • OpenStack Block Storage • Project Name Cinder • Provides additional, usually resilient storage to instances • Rackspace Private Cloud Supports • Local Disk (LVM) • EMC • NetApp • Solidfire (in your Datacentre)
  • 36. OpenStack Block Storage RACKSPACE | www.rackspace.com 36 • Can only attach a volume to one instance at a time • Like a USB stick • Typical Use Cases • Tables for MySQL stored on Block Storage volumes • Performance sensitive data • Computes run SAS, use SSD-backed Block Storage • Providing instances access to raw block storage
  • 37. OpenStack Block Storage RACKSPACE | www.rackspace.com 37 • Snapshots • Backup and restore volumes of data • Boot from Volume • Ability to run image from block storage • Good for the “Pets” • Potentially less Orchestration • Possibly Windows • Volume is not deleted when an instance is terminated
  • 38. What really is OpenStack?OpenStack Block Storage RACKSPACE | www.rackspace.com 38
  • 39. OpenStack Block Storage RACKSPACE | www.rackspace.com 39 • Rackspace recommends • 1 core per 3TB capacity • At least 6 SATA or SAS drives of at least 1TB capacity each. • At least 2GB RAM, plus an additional 250MB RAM per TB of drive. • RAID Controller with battery backup in RAID5 or RAID10 configuration.
  • 40. Block Storage RACKSPACE | www.rackspace.com 40
  • 41. RACKSPACE® HOSTING | WWW.RACKSPACE.COM OpenStack Object Storage
  • 42. Object Storage: Swift RACKSPACE | www.rackspace.com 42 • API driven Object Storage • Upload/Download via HTTP/HTTPS • Highly Resilient Distributed Object Storage • Data is written multiple times (default 3) • Rings • Account • Container • Object • Location aware: Zones • Disk Partition • Disk • Server • Cabinet • Datacentre
  • 43. Object Storage: Swift RACKSPACE | www.rackspace.com 43
  • 44. Object Storage: Swift RACKSPACE | www.rackspace.com 44
  • 45. Object Storage: Swift RACKSPACE | www.rackspace.com 45
  • 46. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Highly Available Rackspace Private Cloud
  • 47. HA and Non-HA in Private Cloud RACKSPACE | www.rackspace.com 47
  • 48. Designing For Failure RACKSPACE | www.rackspace.com • Your infrastructure must be HA • Your apps running on your cloud should tolerate failure • Automate everything • Automate recovery • Use load balancers • Use message queues • Put workloads suitable into the cloud • Don’t expect “Live Migration” • Live Migration is an Operations Function, not a design choice. 48
  • 49. Designing For Failure RACKSPACE | www.rackspace.com • In Rackspace Private Cloud • Controllers are HA • MySQL HA (Multi-Master) • RabbitMQ Cluster • APIs behind HA Proxy • Keepalived for floating IPs • Computes • Individual scale out units • Local storage • Will fail at some point 49
  • 50. Highly Available RPC: Keepalived RACKSPACE | www.rackspace.com • Keepalived • Uses Layer4 Load Balancing Module (IPVS) • Uses VRRP (Virtual Redundancy Router Protocol) • Uses multicast address 224.0.0.18 by default • Specify VRID • Must be unique on network • Specify the Virtual IP (Floating IP) • Watchdog monitors the keepalived processes • Healthcheckers monitor health of service • VIP Fails over when check of service fail 50
  • 51. Highly Available RPC: Controllers RACKSPACE | www.rackspace.com 51
  • 52. Highly Available RPC: MySQL + Keepalived RACKSPACE | www.rackspace.com • MySQL • Running Multi-Master • Both nodes are able to handle “writes” • In RPC we avoid conflict by using Keepalived • Ensure we only write to a single node • Multi-Master allows for automatic recovery • No manual promotion of Slave to Master • But we treat other “Master” as a “Slave” 52
  • 53. Highly Available RPC: MySQL + Keepalived RACKSPACE | www.rackspace.com 53
  • 54. Highly Available RPC: RabbitMQ + Keepalived RACKSPACE | www.rackspace.com • RabbitMQ • Running Cluster • Rabbit 3.x • Use Keepalived to write to a single RabbitMQ node • Allow failover to other clustered node • RabbitMQ failover is complex! 54
  • 55. Highly Available RPC: RabbitMQ + Keepalived RACKSPACE | www.rackspace.com 55
  • 56. Highly Available RPC: API HA Proxy Keepalived RACKSPACE | www.rackspace.com • APIs • Nova API • Glance API • Keystone API • Neutron API • Cinder API • Horizon • Utilise HA Proxy • HA Proxy configured on each controller • Each HA Proxy config knows about the other controller too • Hit the HA Proxy controlled by Keepalived • But that request is load balanced across both nodes (backend) 56
  • 57. Highly Available RPC: API HA Proxy Keepalived RACKSPACE | www.rackspace.com 57
  • 58. Highly Available RPC: Compute RACKSPACE | www.rackspace.com • Non-HA • Design for failure • Evacuate and Live Migration • DRBD block migration • Shared storage • KVM: Still a pause • Good for Operations, not for reliance on HA 58
  • 59. Highly Available RPC: Block Storage RACKSPACE | www.rackspace.com • Cinder API • HA • Cinder Backends • NetApp, EMC, etc. (Enterprise Storage) • Assumed HA/Resilient • LVM • Utilise local disk/DAS/JBOD • Deploy more than one in Private Cloud • Computes mount volume from Cinder1 • Computes also mount volume from Cinder2 • Software RAID the two volumes 59
  • 60. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Rackspace Private Cloud Sandbox
  • 61. RPC Sandbox RACKSPACE | www.rackspace.com • If you are wanting hands on instance access • http://www.rackspace.com/cloud/private • Download Virtual Box or VMware OVA • Also • Vagrant (http://www.vagrantup.com/ • VirtualBox (http://www.virtualbox.org/) • Git • https://github.com/BigCloudSolutions/VagrantSwift • https://github.com/OpenStackCookbook/OpenStackCookbook 61
  • 62. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Rackspace Private Cloud Installation
  • 63. Install Rabbit MQ Installation of Chef Configuration of Chef Client Fetch and Upload Cookbooks Configuration of Environment Bootstrapping Nodes Chef Client Testing Installation Rackspace Private Cloud Ready  CHEF PREP INSTALL DONE What really is OpenStack?RPC Installation Steps RACKSPACE | www.rackspace.com 63
  • 64. What really is OpenStack? RACKSPACE | www.rackspace.com 64 Easy installation of RPC • Head to http://www.rackspace.com/cloud/private • Follow the instructions • Scripts to install Chef • Scripts to install Rackspace Private Cloud Cookbooks
  • 65. What really is OpenStack? RACKSPACE | www.rackspace.com 65 $ mkdir -p /opt/chef-cookbooks $ COOKBOOK_VERSION=v4.2.2 $ apt-get install git -y $ git clone https://github.com/rcbops/chef-cookbooks.git /opt/chef-cookbooks $ pushd /opt/chef-cookbooks $ git checkout ${COOKBOOK_VERSION} $ git submodule init $ git submodule sync $ git submodule update # Upload all of the RPCS Cookbooks $ knife cookbook upload -o /opt/chef-cookbooks/cookbooks -a $ popd $ knife role from file /opt/chef-cookbooks/roles/*.rb Fetch and upload Cookbooks
  • 66. What really is OpenStack?Configuration of Environment RACKSPACE | www.rackspace.com 66 • Define our RPC OpenStack in a single JSON for Chef to use • Define • Nova Configuration (hypervisor, scheduler, etc) • Networking • Neutron (default type, vlans, etc) • Glance • Cinder • MySQL • Rabbit • HA Details (VIPs to use) • etc.
  • 67. { "name": ”rpcs", "description": "Environment for Rackspace Private Cloud", "cookbook_versions": { }, "json_class": "Chef::Environment", "chef_type": "environment", "default_attributes": { }, "override_attributes": { "monitoring": { "procmon_provider": "monit", "metric_provider": "collectd" }, "enable_monit": true, "osops_networks": { "management": "10.240.0.0/24", "swift": "10.240.0.0/24", "public": "10.240.0.0/24", "nova": "10.240.0.0/24" }, "rabbitmq": { "cluster": true, "erlang_cookie": "CookieContents" }, "nova": { "config": { "use_single_default_gateway": false, "ram_allocation_ratio": 1.0, "disk_allocation_ratio": 1.0, "cpu_allocation_ratio": 2.0, "resume_guests_state_on_host_boot": false }, "network": { "provider": "neutron" }, What really is OpenStack?Configuration of Environment RACKSPACE | www.rackspace.com 67
  • 68. What really is OpenStack? RACKSPACE | www.rackspace.com 68 $ EDITOR=vi knife environment edit rpcs Or $ knife environment from file rpcs.json What really is OpenStack?Configuration of Environment RACKSPACE | www.rackspace.com 68
  • 69. $ CONTROLLER1=10.240.0.1 $ CONTROLLER2=10.240.0.2 $ COMPUTES=“10.240.0.3 10.240.0.4 10.240.0.5” # Controllers (HA) $ knife bootstrap –E rpcs -r role[ha-controller1],role[single-network-node] ${CONTROLLER1} $ knife bootstrap -E rpcs -r role[ha-controller2],role[single-network-node] ${CONTROLLER2} # Computes $ for node in ${COMPUTES};do knife bootstrap -E rpcs-r role[single-compute] ${node} done What really is OpenStack?Bootstrapping Nodes RACKSPACE | www.rackspace.com 69 • Bootstrapping configures and installs chef-client • and conveniently allows us to set roles too
  • 70. $ chef-client $ ssh ${CONTROLLER2} chef-client $ chef-client What really is OpenStack?Make Controllers HA RACKSPACE | www.rackspace.com 70 • To make Controllers HA and utilising the VIPS and synchronise the data between the two: • Run chef-client on Controller1 • Run chef-client on Controller2 • Run chef-client on Controller1
  • 71. $ knife ssh “role:single-compute” “chef-client” What really is OpenStack?Run Chef-Client on Computes RACKSPACE | www.rackspace.com 71 • Finally, run chef-client on remaining nodes (Our Compute Nodes)
  • 72. $ nova-manage service list Or $ . openrc $ nova service-list $ nova hypervisor-list $ . openrc $ neutron agent-list What really is OpenStack?Testing the Installation RACKSPACE | www.rackspace.com 72 • Check Compute • Check Networking
  • 73. $ ovs-vsctl show $ route -n $ ssh ${CONTROLLER2} route -n What really is OpenStack?Testing the Installation RACKSPACE | www.rackspace.com 73 • Check Open vSwitch • Check HA / Keepalived
  • 74. RACKSPACE® HOSTING | WWW.RACKSPACE.COM QUESTIONS?
  • 75. RACKSPACE® HOSTING | © RACKSPACE US, INC. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN TH E UNITED STATES AND OTHER COUNTRIES. RACKSPACE® HOSTING | 5 MILLINGTON ROAD | HAYES, UNITED KINGDOM UB3 4AZ UK SALES: +44 (0)20 8712 6507 | UK SUPPORT: 0800 988 0300 | WWW.RACKSPACE.CO.UK