Overview
This lecture introduces OpenNebula, an open-source platform for building and managing enterprise clouds, describing its architecture, deployment models, and main components.
OpenNebula Overview & Architecture
- OpenNebula is an open source Cloud & Edge Computing platform for enterprise cloud and virtualized data center management.
- It unifies IT infrastructure and application management to reduce complexity, resource use, and costs.
- The platform supports deployment on-premises, in the public cloud, at the edge, and in hybrid/multi-cloud setups.
- Virtualization is primarily based on KVM, with support for LXC containers.
- One or more "Front-end" servers manage orchestration, deployment, and monitoring via associated daemons and services.
- State persistence is handled by a user-selected SQL database backend.
Application Support
- Manages both single VMs and multi-tier services made of several VMs with elasticity and adaptability.
- Infrastructure elements (VMs, networks, appliances) are based on templates or images, which users can modify or share.
- An OpenNebula Marketplace provides ready-to-deploy templates and appliances.
Kubernetes & Container Support
- OpenNebula automates Kubernetes cluster deployment via OneKE, a CNCF-certified Kubernetes engine.
- OneKE clusters can be multi-master for high availability and easily scaled.
- Features include MetalLB, Multus/Cilium CNIs, and Longhorn storage; available as a multi-VM appliance.
Management Interfaces & Roles
- Sunstone Web UI offers an easy visual interface for managing users, resources, and templates.
- The system supports multi-tenancy with role-based access and permissions.
- Three default user roles: cloud users, operators, and administrators; custom roles are also possible.
Cloud Access Models
- Virtual Data Centers (VDCs) are used to dynamically allocate and isolate resources among projects, departments, or customers.
- Cloud providers can offer users full control over their own virtual private clouds within the OpenNebula environment.
Cloud Infrastructure Deployment Models
- A typical architecture includes a management Front-end and one or more workload clusters with hypervisor nodes and storage.
- Two main cluster models:
- Edge Clusters: On-demand, highly automated, for seamless hybrid cloud use.
- Customized Clusters: Built for specific requirements, with flexible component selection.
Key OpenNebula Components
- OpenNebula Daemon (oned): Core service managing clusters, VMs, storage, users, and providing an XML-RPC API.
- Database: Stores cloud state; SQL database choice depends on user.
- Scheduler: Allocates resources using various scheduling algorithms.
- Monitoring Subsystem: Tracks host and VM status and performance.
- OneFlow: Manages multi-VM services, dependencies, and autoscaling.
- OneGate: Allows VMs to communicate with OpenNebula for metrics and automation.
- Sunstone: Web GUI for user and admin management.
- CLI: Command line tools for advanced management.
- APIs: XML-RPC and language-specific cloud APIs for automation and integration.
Integration Drivers
- Drivers enable storage, virtualization, monitoring, authentication, networking, and event messaging integrations.
- The system is modular for extensibility and adaptation to multiple environments.
Key Terms & Definitions
- Virtual Machine (VM) — An emulated computer system running workloads inside a hypervisor.
- Front-end — The server(s) responsible for orchestrating and managing the cloud infrastructure.
- Edge Cluster — A simplified, automated cluster model designed for hybrid and edge deployments.
- OneKE — OpenNebula Kubernetes Engine, a managed and CNCF-certified Kubernetes platform.
- Sunstone — OpenNebula's graphical user interface (GUI) for managing resources.
- OneFlow — The OpenNebula service for orchestrating multi-VM applications and autoscaling.
Action Items / Next Steps
- Go through the OpenNebula Quick Start Guide to build and evaluate an OpenNebula environment.
- For production, review the Cloud Architecture Design documentation.
- Explore the Automatic Deployment section for DevOps-style setup.
- Consider which cluster model (Edge or Customized) fits your organization's needs.