Skip to main content
Version: v0.6 🚧

Installation

Install with helm​

If you have a kubernetes cluster, helm is the recommended installation method.

The following tutorial will guide you to install Karpor using Helm, which will install the chart with the release name karpor-release in namespace karpor.

Prerequisites​

  • Helm v3+
  • A Kubernetes Cluster (The simplest way is to deploy a kubernetes cluster locally using kind or minikube)

Remote Installation​

First, add the karpor chart repo to your local repository.

helm repo add kusionstack https://kusionstack.github.io/charts
helm repo update

Then you can use the following command to install the latest version of Karpor.

helm install karpor-release kusionstack/karpor

Install

Note that installing this chart directly means it will use the default template values for Karpor.

You may have to set your specific configurations if it is deployed into a production cluster, or you want to customize the chart configuration, such as resources, replicas, port etc.

All configurable parameters of the Karpor chart are detailed here.

helm install karpor-release kusionstack/karpor --set server.replicas=3 --set syncer.port=7654

Search all available versions​

You can use the following command to view all installable chart versions.

helm repo update
helm search repo kusionstack/karpor --versions

Upgrade specified version​

You can specify the version to be upgraded through the --version.

# Upgrade to the latest version.
helm upgrade karpor-release kusionstack/karpor

# Upgrade to the specified version.
helm upgrade karpor-release kusionstack/karpor --version 1.2.3

Local Installation​

If you have problem connecting to https://kusionstack.github.io/charts/ in production, you may need to manually download the chart from here and use it to install or upgrade locally.

git clone https://github.com/KusionStack/charts.git
helm install karpor-release charts/karpor
helm upgrade karpor-release charts/karpor

Uninstall​

To uninstall/delete the karpor-release helm release in namespace karpor:

helm uninstall karpor-release

Image Registry Proxy for China​

If you are in China and have problem to pull image from official DockerHub, you can use the registry proxy:

helm install karpor-release kusionstack/karpor --set registryProxy=docker.m.daocloud.io

NOTE: The above is just an example, you can replace the value of registryProxy as needed.

Chart Parameters​

The following table lists the configurable parameters of the chart and their default values.

General Parameters​

KeyTypeDefaultDescription
namespacestring"karpor"Which namespace to be deployed.
namespaceEnabledbooltrueWhether to generate namespace.
registryProxystring""Image registry proxy will be the prefix as all component image.

Global Parameters​

KeyTypeDefaultDescription
global.image.imagePullPolicystring"IfNotPresent"Image pull policy to be applied to all Karpor components.

Karpor Server​

The Karpor Server Component is main backend server. It itself is an apiserver, which also provides /rest-api to serve Dashboard.

KeyTypeDefaultDescription
server.image.repostring"kusionstack/karpor"Repository for Karpor server image.
server.image.tagstring""Tag for Karpor server image. Defaults to the chart's appVersion if not specified.
server.namestring"karpor-server"Component name for karpor server.
server.portint7443Port for karpor server.
server.replicasint1The number of karpor server pods to run.
server.resourcesobject{"limits":{"cpu":"500m","ephemeral-storage":"10Gi","memory":"1Gi"},"requests":{"cpu":"250m","ephemeral-storage":"2Gi","memory":"256Mi"}}Resource limits and requests for the karpor server pods.
server.serviceTypestring"ClusterIP"Service type for the karpor server. The available type values list as ["ClusterIP"、"NodePort"、"LoadBalancer"].

Karpor Syncer​

The Karpor Syncer Component is independent server to synchronize cluster resources in real-time.

KeyTypeDefaultDescription
syncer.image.repostring"kusionstack/karpor"Repository for Karpor syncer image.
syncer.image.tagstring""Tag for Karpor syncer image. Defaults to the chart's appVersion if not specified.
syncer.namestring"karpor-syncer"Component name for Karpor syncer.
syncer.portint7443Port for Karpor syncer.
syncer.replicasint1The number of karpor syncer pods to run.
syncer.resourcesobject{"limits":{"cpu":"500m","ephemeral-storage":"10Gi","memory":"1Gi"},"requests":{"cpu":"250m","ephemeral-storage":"2Gi","memory":"256Mi"}}Resource limits and requests for the karpor syncer pods.

ElasticSearch​

The ElasticSearch Component to store the synchronized resources and user data.

KeyTypeDefaultDescription
elasticsearch.image.repostring"docker.elastic.co/elasticsearch/elasticsearch"Repository for ElasticSearch image.
elasticsearch.image.tagstring"8.6.2"Specific tag for ElasticSearch image.
elasticsearch.namestring"elasticsearch"Component name for ElasticSearch.
elasticsearch.portint9200Port for ElasticSearch.
elasticsearch.replicasint1The number of ElasticSearch pods to run.
elasticsearch.resourcesobject{"limits":{"cpu":"2","ephemeral-storage":"10Gi","memory":"4Gi"},"requests":{"cpu":"2","ephemeral-storage":"10Gi","memory":"4Gi"}}Resource limits and requests for the karpor elasticsearch pods.

ETCD​

The ETCD Component is the storage of Karpor Server as apiserver.

KeyTypeDefaultDescription
etcd.image.repostring"quay.io/coreos/etcd"Repository for ETCD image.
etcd.image.tagstring"v3.5.11"Specific tag for ETCD image.
etcd.namestring"etcd"Component name for ETCD.
etcd.persistence.accessModes[0]string"ReadWriteOnce"
etcd.persistence.sizestring"10Gi"
etcd.portint2379Port for ETCD.
etcd.replicasint1The number of etcd pods to run.
etcd.resourcesobject{"limits":{"cpu":"500m","ephemeral-storage":"10Gi","memory":"1Gi"},"requests":{"cpu":"250m","ephemeral-storage":"2Gi","memory":"256Mi"}}Resource limits and requests for the karpor etcd pods.

Job​

This one-time job is used to generate root certificates and some preliminary work.

KeyTypeDefaultDescription
job.image.repostring"kusionstack/karpor"Repository for the Job image.
job.image.tagstring""Tag for Karpor image. Defaults to the chart's appVersion if not specified.