Skip to content

kyma-project/lifecycle-manager

REUSE status

Lifecycle Manager

Kyma is an opinionated set of Kubernetes-based modular building blocks that includes the necessary capabilities to develop and run enterprise-grade cloud-native applications. Kyma's Lifecycle Manager is a tool that manages the lifecycle of these modules in your cluster.

Modularization

Lifecycle Manager was introduced along with the concept of Kyma modularization. With Kyma's modular approach, you can install just the modules you need, giving you more flexibility and reducing the footprint of your Kyma cluster. Lifecycle Manager manages clusters using the Kyma custom resource (CR). The CR defines the desired state of modules in a cluster. With the CR you can enable and disable modules. Lifecycle Manager installs or uninstalls modules and updates their statuses. For more details, read about the modularization concept in Kyma.

Basic Concepts

See the list of basic concepts relating to Lifecycle Manager to understand its workflow better.

  • Kyma custom resource (CR) - represents Kyma installation in a cluster. It contains the list of modules and their state.
  • ModuleTemplate CR - contains modules' metadata with links to their images and manifests. ModuleTemplate CR represents a module in a particular version. Based on this resource Lifecycle Manager enables or disables modules in your cluster.
  • Manifest CR - represents resources that make up a module and are to be installed by Lifecycle Manager. The Manifest CR is a rendered module enabled on a particular cluster.
  • Module CR, such as Keda CR - allows you to configure the behavior of a module. This is a per-module CR.

For the worklow details, read the Architecture document.

Quick Start

Follow this quick start guide to set up the environment and use Lifecycle Manager to add modules.

Prerequisites

To use Lifecycle Manager in a local setup, install the following:

Steps

  1. To set up the environment, provision a local k3d cluster and install Kyma. Run:
k3d registry create kyma-registry --port 5001
k3d cluster create kyma --kubeconfig-switch-context -p 80:80@loadbalancer -p 443:443@loadbalancer --registry-use kyma-registry
kubectl create ns kyma-system
kyma alpha deploy
  1. Apply a ModuleTemplate CR. Run the following kubectl command:
kubectl apply -f {MODULE_TEMPLATE.yaml}

TIP: You can use any deployment-ready ModuleTemplates, such as cluster-ip or keda.

  1. Enable a module. Run:
kyma alpha add module {MODULE_NAME}

TIP: Check the modular Kyma interactive tutorial to play with enabling and disabling Kyma modules in both terminal and Busola.

Read More

Go to the Table of Contents in the /docs directory to find the complete list of documents on Lifecycle Manager. Read those to learn more about Lifecycle Manager and its functionalities.