Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/oneks/dark/create_k8s_cluster_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/oneks/dark/k8s_choose_flavours.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/oneks/dark/k8s_kubeconfig.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/oneks/dark/k8s_logs_creating.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/oneks/dark/k8s_node_group_name.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/oneks/dark/k8s_user_inputs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/oneks/light/create_k8s_cluster_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/oneks/light/create_k8s_cluster_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/oneks/light/create_k8s_cluster_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/oneks/light/create_k8s_cluster_4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/oneks/light/create_k8s_cluster_flavours.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/oneks/light/create_k8s_cluster_version.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/oneks/light/create_k8s_logs_running.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/oneks/light/k8s_add_node_group.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/oneks/light/k8s_choose_flavours.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/oneks/light/k8s_kubeconfig.png
Binary file modified assets/images/oneks/light/k8s_logs_adding_node_group.png
Binary file modified assets/images/oneks/light/k8s_logs_creating.png
Binary file modified assets/images/oneks/light/k8s_node_group_name.png
Binary file modified assets/images/oneks/light/k8s_recover_nodegroup_sunstone.png
Binary file modified assets/images/oneks/light/k8s_upgrade_cluster_sunstone.png
Binary file modified assets/images/oneks/light/k8s_user_inputs.png
7 changes: 7 additions & 0 deletions content/platform_services/application_appliances/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: "Marketplace Appliances"
description: "Pre-configured software solutions tailored for specific use cases."
weight: 2
tags:
type: docs
---
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ categories:
pageintoc: "68"
tags:
weight: "2"
toc_hide: true
headless: true
---

<a id="community-marketplace"></a>
Expand Down
17 changes: 17 additions & 0 deletions content/platform_services/application_appliances/overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
title: "Marketplace Appliances Overview"
linkTitle: "Overview"
weight: 1
type: docs
---

OpenNebula Marketplace Appliances offer a streamlined way to launch specialized, pre-configured software solutions on your OpenNebula cloud deployment for specific use cases. This includes everything from basic Virtual Machines with specific operating systems through to advance cloud storage solutions and methods for deploying HPC or AI workloads.

You can browse available Marketplace Appliances in the dedicated [OpenNebula Marketplace](https://marketplace.opennebula.io/) site. Below, you will find links to the documentation for several Marketplace Appliances that may be of interest for common use cases:

* [**Harbor Container Registry**](https://github.com/OpenNebula/one-apps/wiki/harbor_intro): Deploy a secure, self managed image repository.
* [**MinIO**](https://github.com/OpenNebula/one-apps/wiki/minio_intro): Object storage solution with an AWS S3-compatible API.
* [**vLLM AI**](https://github.com/OpenNebula/one-apps/wiki/vllm_intro): Deploy high-performance LLM inferencing.
* [**Slurm**](https://github.com/OpenNebula/one-apps/wiki/slurm_intro): Fault-tolerant, highly scalable Cluster management and job scheduling system for HPC.
* [**NVIDIA NIM Service**](https://github.com/OpenNebula/one-apps/wiki/nim_intro): GPU-accelerated inference microservices for pre-trained and customized AI models.
* [**Rancher CAPI**](https://github.com/OpenNebula/one-apps/wiki/capi_intro): Out-of-the-box solution for managing Kubernetes Clusters using Rancher and OpenNebula.
2 changes: 1 addition & 1 deletion content/platform_services/oneks/_index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "OneKS: Elastic Kubernetes as a Service on OpenNebula (EE)"
linkTitle: "OneKS - Elastic Kubernetes (EE)"
linkTitle: "Elastic Kubernetes (EE)"
date: "2026-05-12"
description: "OneKS provides Elastic Kubernetes as a Service on OpenNebula. It offers a structured way to create, access, operate, upgrade, recover, and deprovision Kubernetes Clusters."
categories:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ weight: "2"
type: docs
---

Before creating a Cluster, ensure that the minimum required components are configured and available.
Before creating a K8s Cluster, ensure that the minimum required components are configured and available.

## OneKS Service

Expand All @@ -23,7 +23,7 @@ The service should be in the active (`running`) state.

## OneGate Service

Verify that OneGate is configured and reachable. OneGate is required during Cluster provisioning because the bootstrap process uses it to communicate with OpenNebula services.
Verify that OneGate is configured and reachable. OneGate is required during K8s Cluster provisioning because the bootstrap process uses it to communicate with OpenNebula services.

Check the OneGate service status on the Front-end command line:

Expand All @@ -35,7 +35,7 @@ Validate the OneGate configuration using the OpenNebula OneGate [documentation](

## Transparent Proxy Configuration

Verify that the [transparent proxy]({{% relref "product/virtual_machines_operation/virtual_machines_networking/tproxy/" %}}) is configured to expose OneGate and the OpenNebula XML-RPC API through the public network gateway.
Verify that the [transparent proxy]({{% relref "product/virtual_machines_operation/virtual_machines_networking/tproxy/" %}}) is configured to expose OneGate and the OpenNebula XML-RPC API through the Front-end public network.

The configuration is typically defined in the following location on the OpenNebula Front-end:

Expand All @@ -47,33 +47,105 @@ Example configuration:

```default
:tproxy:
- :remote_addr: 192.168.150.1 # Public network gateway IP
- :remote_addr: 192.168.150.1 # Front-end public network IP
:remote_port: 5030
:service_port: 5030
- :remote_addr: 192.168.150.1 # Public network gateway IP
- :remote_addr: 192.168.150.1 # Front-end public network IP
:remote_port: 2633
:service_port: 2633
```

Replace `192.168.150.1` with the gateway IP address of the public Virtual Network.
Replace `192.168.150.1` with the Front-end IP address of the public Virtual Network and save the file. On Front-end command line, as the oneadmin system user, sync the OpenNebulaNetwork.conf file with the hypervisor Hosts, by running `onehost sync -f`.

## Public and Private Virtual Networks

Identify the OpenNebula Virtual Network IDs that will be used by the Cluster. On the Front-end command line, run the following command to inspect the available networks:
Identify the OpenNebula Virtual Network IDs that will be used by the K8s Cluster. On the Front-end command line, run the following command to inspect the available networks:

```shell
onevnet list
```

You need:

* A **public Virtual Network**, used as the gateway to the Internet and for external Cluster connectivity.
* A **private Virtual Network**, used for internal communication between Cluster nodes.
* A **public Virtual Network**, used as the gateway to the Internet and for external K8s Cluster connectivity.
* A **private Virtual Network**, used for internal communication between K8s Cluster nodes.

## User Permissions

Verify that the user has permission to create and manage OneKS Clusters and the related OpenNebula resources, including virtual machines, Virtual Networks, images, and templates.
Verify that the user has permission to create and manage OneKS K8s Clusters and the related OpenNebula resources, including Virtual Machines, Virtual Networks, images, and templates.

## Kubectl Client
## kubectl Client

To validate or manage the created Clusters from the Host, instead of accessing the Cluster VMs directly, [kubectl](https://kubernetes.io/docs/tasks/tools/) must be installed on the Host where the retrieved kubeconfig will be used.
[kubectl](https://kubernetes.io/docs/reference/kubectl/) is the official command-line interface for Kubernetes. kubectl communicates with K8s Clusters launched by OneKS remotely from the Front-end Host, removing the need to interact directly with the K8s Cluster VMs themselves. kubectl handles the following key functions:

* **K8s Cluster Management**: View nodes, health status, and resource usage.
* **Workload Deployment**: Create, update, and delete pods, services and containerized application deployments.
* **Troubleshooting**: Retrieving logs, describing pod and node statuses or errors.
* **Configuration**: Manage secrets, environment variables and storage.

kubectl must be installed on the Front-end Host machine. On a Linux machine, run the following command to install kubectl:

1. Download the latest release with the following command:

{{< tabpane text=true right=false >}}
{{% tab header="**Architecture**:" disabled=true /%}}

{{% tab header="x86-64"%}}
```shell
curl -fsSL "https://dl.k8s.io/release/$(curl -L -s \
https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
```
{{% /tab %}}

{{% tab header="ARM64"%}}
```shell
curl -LO "https://dl.k8s.io/release/$(curl -L -s \
https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl"
```
{{% /tab %}}
{{< /tabpane >}}

To download a specific version of kubectl, replace `$(curl -L -s https://dl.k8s.io/release/stable.txt)` in the above commands with the version number. E.g. for version 1.36.0:
{{< tabpane text=true right=false >}}
{{% tab header="**Architecture**:" /%}}

{{% tab header="x86-64"%}}
```shell
curl -fsSL "https://dl.k8s.io/release/v1.36.0/bin/linux/amd64/kubectl"
```
{{% /tab %}}

{{% tab header="ARM64"%}}
```shell
curl -LO "https://dl.k8s.io/release/v1.36.0/bin/linux/arm64/kubectl"
```
{{% /tab %}}
{{< /tabpane >}}

2. Install kubectl:

```shell
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
```

{{< alert title="Note" type="primary" >}}
If you do not have root access on the target system, you can still install kubectl to the `~/.local/bin` directory:
```shell
chmod +x kubectl
mkdir -p ~/.local/bin
mv ./kubectl ~/.local/bin/kubectl
# and then append (or prepend) ~/.local/bin to $PATH
```
{{< /alert >}}

3. Ensure the version you have installed is up-to-date or the expected version:

```shell
kubectl version --client
```

If the above command is not suitable for your Front-end Host configuration, consult the [kubectl installation documentation](https://kubernetes.io/docs/tasks/tools/) for [MacOS](https://kubernetes.io/docs/tasks/tools/install-kubectl-macos/) or [Windows](https://kubernetes.io/docs/tasks/tools/install-kubectl-windows/).

## Next Steps

After completing the basic configuration steps described here, you are ready to start provisioning K8s Clusters with OneKS. Move on to the [OneKS Quick-start Guide]({{% relref "platform_services/oneks/getting_started/quick_start/" %}}) to learn how to deploy a basic K8s Cluster.
Loading
Loading