Edge on Kubernetes

This document describes the conceptual aspects of Cumulocity IoT Edge on Kubernetes, the single-server variant of the Cumulocity IoT platform. For more information about Edge, see Cumulocity IoT Edge.

Overview

Edge on Kubernetes represents a cloud-native solution for the delivery, deployment, and management of Edge. It retains the functionalities of the Edge appliance VM, encompassing similar benefit like autonomy, data reduction, and reactivity.

Kubernetes offers an efficient platform for deploying, scaling, and managing containerized applications using a centralized control plane. Given this, containers orchestrated by Kubernetes have become standard in contemporary IT, fitting a broad spectrum of deployment contexts. Edge on Kubernetes capitalizes on these orchestration and management benefits, streamlining the operations of the Edge servers with other containerized applications in your deployment landscape.

Edge on Kubernetes captures all the highlighted advantages of a cloud-native deployment strategy by using a Kubernetes Operator, known as the Edge operator. This Edge operator serves as the central controller and facilitates the deployment and management of the Edge on a single-node Kubernetes cluster. This equips you with:

  • Unified Management: Manage Edge through an Edge Custom Resource (CR) in accordance with standard Kubernetes resources. This approach provides a unified and familiar interface for administrators and operators.
  • Desired State Management: Specify the desired state of Edge through Edge CR. The Edge operator then ensures that the actual state matches the desired state, simplifying operations and reducing the need for manual intervention.
  • GitOps Friendly: The declarative nature of CR aligns seamlessly with GitOps workflows. The entire Edge deployment state, including configurations, can be stored and versioned in Git, promoting transparency and traceability.
  • Automation: Edge CR empowers you to automate various operational aspects of Edge like scaling, upgrades, and configuration.
  • Distribution: Distribute and replicate the Edge deployments using Edge CR. Simplify the deployment and accelerate the adoption of Cumulocity IoT platform across diverse environments.

Although the features remain on par with the Edge appliance VM, the deployment strategy undergoes a change, as illustrated in the diagram below:

Kubernetes Operator

Kubernetes Operators are a powerful concept and pattern for managing complex applications and services within Kubernetes clusters. The operators are software extensions to Kubernetes that make use of custom resources to manage applications and their components. The operators follow Kubernetes principles, notably the control loop.

The integral part of the operator pattern is Custom Resource Definitions (CRDs), which allow you to define application-specific resources and its behavior. An operator uses these CRDs to understand how to manage and interact with the application.

The operators are particularly valuable for managing stateful applications, like Cumulocity IoT. The operators automate best practices, routine tasks, and provide a consistent way to manage complex applications across different environments.

Edge operator

The Edge operator automates the deployment and management of Edge on Kubernetes. The Edge operator manages a Custom Resource Definition (CRD) to extend the Kubernetes API for Edge. You can deploy and manage Edge on a Kubernetes cluster through Edge Custom Resource (CR). Modify the Edge CR file and use kubectl apply -f to apply the changes. The Edge operator receives these changes and installs or updates Edge accordingly.

The Edge operator enables you to install, configure, upgrade or downgrade, scale up or down Edge on Kubenetes. The Edge operator supports:

  • Deploy Edge
  • Version upgrade and downgrade
  • Scale up and down resources
  • Configure persistent storage
  • Validate configurations