Skip to main content

About Embedded Kubernetes

This topic describes Replicated's embedded Kubernetes solutions, which allow software vendors to deliver Kubernetes alongside their application for the purpose of supporting installations on virtual machines (VMs) or bare metal servers.

Overview

Embedded Kubernetes refers to delivering a Kubernetes distribution alongside an application, so that both Kubernetes and the application are deployed in the customer environment. Embedding Kubernetes allows software vendors to install their Kubernetes application in non-Kubernetes customer-controlled environments, such as virtual machines (VMs) or bare metal servers. Additionally, software vendors that embed Kubernetes with their application have greater control over the charactersitics of the cluster where their application is installed. This allows vendors to deliver a cluster that meets their application's requirements, which can help reduce errors during installation.

Providing an embedded Kubernetes option for installation is also beneficial to enterprise users because it allows users to install the application without needing to also manage and interact directly with Kubernetes. This is especially important for users that lack experience with Kubernetes, or for users that can more easily provision virtual or physical harware in their environment compared to managing Kubernetes.

Embedded Kubernetes with Replicated

This section describes Replicated's embedded Kubernetes solutions: Replicated Embedded Cluster and Replicated kURL.

Embedded Cluster

Replicated Embedded Cluster allows you to distribute a Kubernetes cluster and your application together as a single appliance, making it easy for enterprise users to install, update, and manage the application and the cluster in tandem. Embedded Cluster is based on the open source Kubernetes distribution k0s. For more information, see the k0s documentation.

For software vendors, Embedded Cluster provides a Config for defining characteristics of the cluster that will be created in the customer environment. Additionally, each version of Embedded Cluster includes a specific version of Replicated KOTS, ensuring compatibility between KOTS and the cluster. For enterprise users, cluster updates are done automatically at the same time as application updates, allowing users to more easily keep the cluster up-to-date without needing to use kubectl.

Embedded Cluster is a successor to Replicated kURL. Compared to kURL, Embedded Cluster offers several improvements such as:

  • Significantly faster installation, updates, and node joins
  • A redesigned Admin Console UI for managing the cluster
  • Improved support for multi-node clusters
  • One-click updates of both the application and the cluster at the same time

For more information about configuring and installing with Embedded Cluster, see Using Embedded Cluster.

kURL

kURL is an open source project maintained by Replicated that software vendors can use to create custom Kubernetes distributions that are embedded with their application. Enterprise customers can then run a kURL installation script on their virtual machine (VM) or bare metal server to provision a cluster and install the application. This allows software vendors to distribute Kubernetes applications to customers that do not have access to a cluster in their environment.

For more information about the kURL open source project, see the kURL website.

For more information about how to get started with kURL, see Introduction to kURL.