Skip to content

Installing descant.cloud

Requirements

  • existing Kubernetes cluster, empty cluster is recommended, otherwise make sure that versions of installed components are compatible with descant.cloud requirements
  • helm command installed
  • git command installed
  • POSIX-compatible shell (bash, zsh, etc.) to execute below commands
  • at least 4 GB of memory on your cluster

Prepare your environment

  1. Select the proper context for your Kubernetes cluster:

    sh
    kubectl config use-context <your-cluster-name>
  2. Make sure your current user has enough permissions to install Helm charts and create resources in the target cluster. We recommend invoking the installation as a cluster admin.

  3. Clone the descant.cloud repository:

    sh
    git clone https://github.com/descant-cloud/descant-cloud.git
  4. Navigate to the newly created descant-cloud directory:

    sh
    cd descant-cloud

    It is important that you are in the descant-cloud directory when running the following commands.

  5. Add the required Helm repositories:

    sh
    helm repo list | grep -q "^crossplane" || helm repo add crossplane https://charts.crossplane.io/stable
    helm repo list | grep -q "^argo" || helm repo add argo https://argoproj.github.io/argo-helm
    helm repo list | grep -q "^metrics-server" || helm repo add metrics-server https://kubernetes-sigs.github.io/metrics-server
    helm repo update
  6. Install Crossplane Helm chart:

    sh
    helm upgrade --install crossplane crossplane/crossplane \
        --namespace crossplane-system \
        --create-namespace \
        --wait \
        --set args="{--enable-environment-configs,--enable-ssa-claims,--enable-usages}"
  7. Install Metrics Server Helm chart:

    sh
    helm upgrade --install metrics-server metrics-server/metrics-server \
        --namespace kube-system \
        --wait
  8. Install Argo Workflows Helm chart:

    sh
    helm upgrade --install argo-workflows argo/argo-workflows \
        --namespace argo-workflows \
        --create-namespace \
        --wait \
        --set controller.metricsConfig.enabled=false \
        --set controller.serviceMonitor.enabled=false \
        --set controller.workflowNamespaces[0]=argo-workflows \
        --set controller.workflowDefaults.spec.serviceAccountName=argo-workflow \
        --set workflow.serviceAccount.create=true \
        --set server.managedNamespace=argo-workflows
  9. Install Crossplane packages Helm chart - this is a required step to make sure that all Crossplane components (providers, functions, etc.) are properly installed and configured:

    sh
    helm upgrade --install crossplane-packages ./helm/crossplane-packages \
        --namespace crossplane-system \
        --create-namespace \
        --wait
  10. Install descant.cloud Helm chart:

    sh
    helm upgrade --install service-chart ./helm/service-chart \
        --namespace descant-system \
        --create-namespace

    If you are using enterprise edition, you need to configure container repository credentials in order to pull container images with enterprise features enabled:

    sh
    helm upgrade --install service-chart ./helm/service-chart \
        --namespace descant-system \
        --create-namespace \
        --set enterprise.repository.url=<url-to-your-git-repository> \
        --set enterprise.repository.username=<username> \
        --set enterprise.repository.password=<password> \
        --set enterprise.repository.version=<version>
  11. Install descant.cloud blueprints Helm chart:

    sh
    helm upgrade --install service-blueprints ./helm/service-blueprints \
        --namespace descant-system \
        --create-namespace \
        --wait
  12. (optional) Install descant.cloud fixtures Helm chart:

    sh
    helm upgrade --install service-fixtures ./helm/service-fixtures \
        --namespace descant-default-project \
        --create-namespace \
        --wait

    This step adds suggested Catalog repositories to speed up the process of creating new projects.