Intro to OpenStack - WAJUG

1,444 views
1,246 views

Published on

Published in: Software, Technology, Business
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,444
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
138
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Intro to OpenStack - WAJUG

  1. 1. Rackspace Technical Services Introduction to OpenStack May 8, 2014 WAJUG Meetup
  2. 2. About.me/kevjackson RACKSPACE | www.rackspace.com 2 Kevin Jackson, Principal Architect @itarchitectkev
  3. 3. RACKSPACE® HOSTING | WWW.RACKSPACE.COM OpenStack
  4. 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. 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. 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. 7. What really is OpenStack? RACKSPACE | www.rackspace.com 7 OpenStack is like the Linux Kernel
  8. 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. 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. 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. 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. 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. 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. 14. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Rackspace Private Cloud Architecture
  15. 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. 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. 17. Rackspace Private Cloud Architecture RACKSPACE | www.rackspace.com 17
  18. 18. OpenStack Architecture RACKSPACE | www.rackspace.com 18
  19. 19. OpenStack Architecture RACKSPACE | www.rackspace.com 19
  20. 20. Rackspace Private Cloud Architecture RACKSPACE | www.rackspace.com 20
  21. 21. Hybrid Cloud: Dedicated to Cloud RACKSPACE | www.rackspace.com 21
  22. 22. Hybrid Cloud: Enterprise to Cloud RACKSPACE | www.rackspace.com 22
  23. 23. Hybrid Cloud: Multi-Cloud RACKSPACE | www.rackspace.com 23
  24. 24. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Intro to Networking & SDN
  25. 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. 26. Rackspace Private Cloud: Networking RACKSPACE | www.rackspace.com 26
  27. 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. 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. 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. 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. 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. 32. Physical Networking RACKSPACE | www.rackspace.com 32
  33. 33. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Storage
  34. 34. RACKSPACE® HOSTING | WWW.RACKSPACE.COM OpenStack Block Storage
  35. 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. 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. 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. 38. What really is OpenStack?OpenStack Block Storage RACKSPACE | www.rackspace.com 38
  39. 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. 40. Block Storage RACKSPACE | www.rackspace.com 40
  41. 41. RACKSPACE® HOSTING | WWW.RACKSPACE.COM OpenStack Object Storage
  42. 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. 43. Object Storage: Swift RACKSPACE | www.rackspace.com 43
  44. 44. Object Storage: Swift RACKSPACE | www.rackspace.com 44
  45. 45. Object Storage: Swift RACKSPACE | www.rackspace.com 45
  46. 46. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Highly Available Rackspace Private Cloud
  47. 47. HA and Non-HA in Private Cloud RACKSPACE | www.rackspace.com 47
  48. 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. 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. 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. 51. Highly Available RPC: Controllers RACKSPACE | www.rackspace.com 51
  52. 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. 53. Highly Available RPC: MySQL + Keepalived RACKSPACE | www.rackspace.com 53
  54. 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. 55. Highly Available RPC: RabbitMQ + Keepalived RACKSPACE | www.rackspace.com 55
  56. 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. 57. Highly Available RPC: API HA Proxy Keepalived RACKSPACE | www.rackspace.com 57
  58. 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. 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. 60. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Rackspace Private Cloud Sandbox
  61. 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. 62. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Rackspace Private Cloud Installation
  63. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 74. RACKSPACE® HOSTING | WWW.RACKSPACE.COM QUESTIONS?
  75. 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

×