Using Embedded Cluster (Beta)
This topic describes how to use the Replicated embedded cluster to configure, install, and manage your application in an embedded Kubernetes cluster.
Embedded cluster is in beta. If you are instead looking for information about creating Kubernetes Installers with Replicated kURL, see the Replicated kURL section.
Overview
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 simplified 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
Requirements
Embedded cluster has the following requirements:
- Linux operating system
- x86-64 architecture
- systemd
- Embedded cluster is based on k0s, so all k0s system requirements apply. See System requirements in the k0s documentation.
Limitations and Known Issues
This section lists the limitations and known issues for embedded cluster.
Limitations
Embedded cluster has the following limitations:
-
Multi-node support is in alpha: You can create multi-node embedded clusters, but this feature is in alpha. Only single-node embedded clusters are in beta.
-
No migration from kURL: There is not yet a way to migrate a kURL instance to embedded cluster. We intend to build a migration or upgrade for kURL instances. There are many ways that this could be built, each with various tradeoffs.
-
Cannot change
spec.api
andspec.storage
after installation: Thespec.api
andspec.storage
keys in the k0s config cannot be changed after installation. Whereas most keys in the k0s config apply to the whole cluster, these two keys are set for each node. Embedded cluster cannot update these keys on each individual node during updates, so they cannot be changed after installation. -
GitOps workflow not supported: Embedded cluster does not support using the GitOps workflow. We do not intend to support the GitOps workflow for embedded cluster in the future. If an end-user is interested in GitOps, consider the Helm install method instead.