Optimizing Cloud Workload Placement with Ceilometer, Nova, and Neutron
"Learn how to achieve optimal workload placement in your cloud environment by leveraging the capabilities of Ceilometer, Nova, and Neutron. Explore network health, compute connectivity, and REST APIs for enhanced resource monitoring and performance. Discover key KPIs for monitoring network health and improving cloud efficiency."
Uploaded on Oct 06, 2024 | 0 Views
Download Presentation
Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
E N D
Presentation Transcript
Ceilometer, Nova and Neutron - A healthy network for your cloud Sriram Subramanian | Chandan Dutta Chowdhury | Sarath Chandra Mekala
Background Compute: Insufficient CPU or RAM Host ignored for workload placement Storage: Insufficient storage Host ignored for workload placement Networking: Host has *no* network connectivity Host still used for workload placement.
Nova Scheduler Overview /usr/lib/python2.7/dist-packages/nova/scheduler/filters
Compute node connectivity Physical network challenges impact cloud workloads Congestion Network bandwidth utilization Multiple levels of devices impact network health Just as Nova leverages physical characteristics of a compute node, it is important to leverage the physical network health for optimal workload placement. Pic Courtesy: https://specs.openstack.org/openstack/neutron-specs/specs/kilo/ml2-hierarchical-port-binding.html
REST API for Compute Node Connectivity GET: http://myopenstack.example.com:9696/v2.0/physical_to pologies/compute1.example.com:eth1.json Response: { "physical_topology": { "interface": "ge-0/0/36", "nic": "eth1", "host": "compute1.example.com", "switch": "switch1.example.com", "id": "compute1.example.com:eth1 } } POST: http://myopenstack.example.com:9696/ v2.0/physical_topologies Request Body: { "physical_topology": { "interface": "ge-0/0/36", "nic": "eth1", "host": compute1.example.com", "switch": switch1.example.com" } } GET: http://myopenstack.example.com:9696/v2.0/physical_topologies
Ceilometer - Overview The OpenStack Telemetry service Provides virtual and physical resource monitoring REST APIs for storing and retrieving metered data
Network Health KPIs what can we monitor 1. Access Port Port Status (up/down) Port Bandwidth Utilization 2. Uplink Port Port Status (up/down) Port Bandwidth Utilization 3. Network Congestion 4. Potentially Others... 2 2 1 1
Ceilometer Network Health Score Ceilometer supports aggregation of individual meters Individual meters can be used to filter compute nodes Network Health Score (NHS): aggregate across different health meters. Generated for Compute Nodes based on the raw network health meters NHS can be used to associate weights to Compute Nodes switch.port.status switch.port.bandwidt h switch.uplink.status switch.uplink.bandwid th Network Health Monitor Agent Compute Node: Network Health Score
Solution recap Neutron Extension API for Physical Network information Ceilometer Pollster to collect raw meters for network health Network Health agent computes Network Health Score(NHS) from raw meters
Bringing it all together: Network aware scheduler Network aware scheduler is part of the Nova filter scheduler Network_filter: Filters out compute nodes based on raw health meters Network_weight: Uses Network Health Score to rank the compute Nodes
Putting it all together 1 Step 1 User adds physical network details to Neutron Neutron Periodic action Uses Neutron extension API to fetch switch port information Periodic action Ceilometer queries physical network to collect Network Health information Network Health Monitor Ceilometer Nova Step 2 Periodic action Instance creation triggers Network Health Filter which queries Network health monitor for Health Score Network health monitor agent polls Ceilometer meter collection for physical network ports Step 3 Network health monitor compute the Health Score using raw meters collected by Ceilometer and returns Health Score to Nova
Nova Scheduler Compute Node Create VM Filter Check Network Health Ceilometer Create Samples Port Down Push raw data or Ceilometer Agent Switch Pull raw data
Further ideas Network Flavors Extend instance flavors to support Networking constructs Give end user the ability to influence Host selection based on Network health Live Migration Nova Live migration will trigger scheduler filter Health score based selection of Host will be applicable for Live Migration
Give us Feedback in OpenStack App Q & A Author: OpenStack Networking Cookbook Blog: www.innervoice.in/blogs, Twitter: @reachsrirams E-Mail: srirams@juniper.net Author: OpenStack Networking Cookbook Blog: chandanduttachowdhury.wordpress.com E-Mail: chandanc@juniper.net