This topic describes how to use the CLI to enable an application to deploy to managed and attached clusters in a workspace.

Related Topics

Prerequisites

Before you begin, you must have:

  • A running cluster with Kommander installed.

  • An existing Kubernetes cluster attached to Kommander.

  • Determine the name of the workspace where you wish to perform the deployments. You can use the dkp get workspaces command to see the list of workspace names and their corresponding namespaces.

  • Set the WORKSPACE_NAMESPACE environment variable to the name of the workspace’s namespace where the cluster is attached:

    export WORKSPACE_NAMESPACE=<workspace_namespace>
    BASH
  • Set the WORKSPACE_NAME environment variable to the name of the workspace where the cluster is attached:

    export WORKSPACE_NAME=<workspace_name>
    BASH

From the CLI, you can enable applications to deploy in the workspace. Verify that an application has successfully deployed via the CLI.

Create the AppDeployment to Enable the Application

Enable a supported application to deploy to your existing attached or managed cluster with an AppDeployment resource.

  1. Obtain the APP ID and Version of the application from the applications table in the latest Release Notes. You will need them it in the <APP-ID>-<Version> format, for example, istio-1.15.3.

  2. Run the following command and define the --app flag to specify which platform application and version will be enabled:

    dkp create appdeployment istio --app istio-1.15.3 --workspace ${WORKSPACE_NAME}
    CODE
  • The --app flag must match the APP NAME from the list of available platform applications.

  • Observe that the dkp create command must be run with the WORKSPACE_NAME instead of the WORKSPACE_NAMESPACE flag.

This instructs Kommander to create and deploy the AppDeployment to the KommanderClusters in the specified WORKSPACE_NAME.

Verify Applications

The applications are now enabled. Connect to the attached cluster and watch the HelmReleases to verify the deployment. In this example, we are checking if istio got deployed correctly:

kubectl get helmreleases istio -n ${WORKSPACE_NAMESPACE} -w
CODE

You should eventually see the HelmRelease marked as Ready:

NAMESPACE               NAME        READY   STATUS                             AGE
workspace-test-vjsfq    istio       True    Release reconciliation succeeded   7m3s
CODE

Some supported applications have dependencies on other applications. See Workspace Platform Application Dependencies for that table.