Overview
OneKS provides Elastic Kubernetes as a Service on OpenNebula. It offers a structured way to create, access, operate, upgrade, recover, and deprovision Kubernetes Clusters (K8s Clusters) by combining a user-facing service layer with Cluster API-based infrastructure provisioning through CAPONE, the Cluster API provider for OpenNebula.
OneKS is designed for teams that need a simple and repeatable way to consume Kubernetes inside OpenNebula. Typical use cases include development and test environments, self-service Kubernetes delivery in private cloud environments, and standardized Cluster offerings for different sizes and topologies.
OneKS builds on CAPONE to expose a K8s Cluster-centric lifecycle model for users. Users interact mainly with OneKS K8s Clusters and node groups, while lower-level OpenNebula, Cluster API, and dependency-management details are handled underneath.
How Should I Read this Chapter
If you have not used OneKS before, you should start by reading the Basic Configuration Guide to set up OneKS then follow the Quick-start Guide where you will learn to set up a basic K8s Cluster with OneKS. After completing the Quick-start Guide, move on to Core Concepts to familiarize yourself with key OneKS concepts.
After completing the introductory documentation, you can find more information about managing K8s Clusters with OneKS in the following reference documentation:
- K8s Cluster Lifecycle Management
- Monitoring and Troubleshooting
- Configuration
- Profiles Customization
- Service Architecture
- OneKS REST API
- OneKS CLI
It is important while reading this documentation to differentiate the concepts of OpenNebula Clusters and Kubernetes (K8s) Clusters:
- OpenNebula Clusters: Logical groupings of OpenNebula resources (Hosts, datastores and Virtual Networks) that provide compute capacity for cloud workloads.
- K8s Clusters: Collections of node instances (VMs) managed by a K8s control plane to automate the deployment, scaling and management of containerized applications.
K8s Clusters provisioned by OneKS run as a guest workload on top of OpenNebula resources and should be considered as distinct entities to OpenNebula Clusters. It is possible, for example, to deploy multiple independent K8s Clusters within a single OpenNebula Cluster.
Interfaces
OneKS can be accessed through the following interfaces:
- OneKS CLI: Used for manual K8s Cluster and node-group operations from the command line.
- OneKS REST API: Exposed under
/api/v1for automation and programmatic integration. - Sunstone Web UI: Provides graphical workflows for creating, accessing, and managing OneKS K8s Clusters.
What OneKS Manages
OneKS manages K8s Clusters as top-level resources. A K8s Cluster owns or coordinates:
- Control Plane: One logical control-plane group, containing one or more control-plane nodes depending on the selected control-plane flavour.
- Node Groups: Zero or more worker-capacity groups attached to the K8s Cluster.
- Supporting Infrastructure: Networks, images, VM templates, temporary seed VMs, virtual routers, and related OpenNebula resources.
- Lifecycle State: The current operational state of the K8s Cluster and its groups.
- Historical Events: Lifecycle actions and state transitions.
- Access Information: kubeconfig retrieval for Kubernetes API access.
- Logs: K8s Cluster-level and group-level lifecycle logs.
OneKS users interact primarily with the K8s Cluster and node-group domains. Lower-level OpenNebula, CAPONE, and Cluster API resources are orchestrated beneath those abstractions.
Related Components
OneKS should be understood together with the following adjacent components:
- CAPONE: The Cluster API provider for OpenNebula. It provides the lower-level declarative lifecycle integration between Kubernetes Cluster API and OpenNebula infrastructure.
- OpenNebula Cloud Resources: VM templates, networks, images, virtual routers, and related infrastructure resources used to provision and operate the K8s Cluster.
- RKE2: The Kubernetes distribution used by the current OneKS implementation.
- OneKS API: The programmatic interface for K8s Cluster and node-group lifecycle operations.
- Kubernetes Cloud Provider: The in-cluster integration layer for OpenNebula infrastructure behavior.
- OneGate: The OpenNebula service used by Virtual Machines to communicate with OpenNebula during bootstrap and runtime configuration. In a OneKS deployment, OneGate must be configured and reachable so the K8s Cluster bootstrap process can complete successfully.
- Transparent Proxy
tproxy: The OpenNebula networking configuration used to expose required OpenNebula services, such as OneGate and the XML-RPC API, through the Front-end public network OneKS deployments require tproxy rules for ports 5030 and 2633. - Cluster API References: Useful when understanding the lower-level declarative lifecycle and CAPONE integration details.
Supported Versions
OneKS supports the K8s versions exposed by the configured K8s Cluster profiles. Refer to the Platform Notes to see the Kubernetes versions currently supported bye OneKS.
GIVE FEEDBACK
Was this resource helpful?
Glad to hear it
Sorry to hear that