Skip to main content
Version: v0.6 🚧

安装

使用 Helm 安装

如果您拥有 Kubernetes 集群,Helm 是推荐的安装方法。

以下教程将指导您使用 Helm 安装 Karpor,这将在命名空间 karpor 中以 karpor-release 为 Release 名称安装 Chart。

先决条件

  • Helm v3+
  • Kubernetes 集群(最简单的方法是使用 kindminikube 在本地部署 Kubernetes 集群)

远程安装

首先,将 karpor chart 仓库添加到您的本地仓库。

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

然后,您可以使用以下命令安装 Karpor 的最新版本。

helm install karpor-release kusionstack/karpor

安装

注意:直接安装此 Chart 意味着它将使用 Karpor 的 默认模板值

如果将其部署到生产集群中,或者您想要自定义 Chart 配置,如 resourcesreplicasport 等,您可以通过 --set 参数覆盖默认值。

Karpor Chart 的所有可配置参数都详细说明在 这里

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

查看所有可用版本

您可以使用以下命令查看所有可安装的 Karpor Chart 版本。

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

升级到指定版本

您可以通过 --version 指定要升级的版本。

# 升级到最新版本
helm upgrade karpor-release kusionstack/karpor

# 升级到指定版本
helm upgrade karpor-release kusionstack/karpor --version 1.2.3

本地安装

如果您在生产中连接 https://kusionstack.github.io/charts/ 有问题,您可能需要从 这里 手动下载 Chart,并在本地使用它来安装或升级 Karpor 版本。

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

卸载

卸载/删除命名空间 karpor 中的 karpor-release Helm Release:

helm uninstall karpor-release

中国镜像代理

如果你在中国、并且从官方 DockerHub 上拉取镜像时遇到困难,那么你可以使用第三方的镜像代理服务:

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

注意: 以上只是一个样例,你可以根据需要替换 registryProxy 的值。

Chart 参数

以下表格列出了 Chart 的所有可配置参数及其默认值。

通用参数

类型默认值描述
namespacestring"karpor"部署的目标命名空间
namespaceEnabledbooltrue是否生成命名空间
registryProxystring""镜像代理地址,配置后将作为所有组件镜像的前缀。 比如,golang:latest 将替换为 <registryProxy>/golang:latest

全局参数

类型默认值描述
global.image.imagePullPolicystring"IfNotPresent"应用于所有 Karpor 组件的镜像拉取策略

Karpor Server

Karpor Server 组件是主要的后端服务。它本身就是一个 apiserver,也提供 /rest-api 来服务 Web UI

类型默认值描述
server.image.repostring"kusionstack/karpor"Karpor Server 镜像的仓库
server.image.tagstring""Karpor Server 镜像的标签。如果未指定,则默认为 Chart 的 appVersion
server.namestring"karpor-server"Karpor Server 的组件名称
server.portint7443Karpor Server 的端口
server.replicasint1要运行的 Karpor Server pod 的数量
server.resourcesobject{"limits":{"cpu":"500m","ephemeral-storage":"10Gi","memory":"1Gi"},"requests":{"cpu":"250m","ephemeral-storage":"2Gi","memory":"256Mi"}}Karpor Server pod 的资源规格
server.serviceTypestring"ClusterIP"Karpor Server 的服务类型,可用的值为 ["ClusterIP"、"NodePort"、"LoadBalancer"]

Karpor Syncer

Karpor Syncer 组件是独立的服务,用于实时同步集群资源。

类型默认值描述
syncer.image.repostring"kusionstack/karpor"Karpor Syncer 镜像的仓库
syncer.image.tagstring""Karpor Syncer 镜像的标签。如果未指定,则默认为 Chart 的 appVersion
syncer.namestring"karpor-syncer"karpor Syncer 的组件名称
syncer.portint7443karpor Syncer 的端口
syncer.replicasint1要运行的 karpor Syncer pod 的数量
syncer.resourcesobject{"limits":{"cpu":"500m","ephemeral-storage":"10Gi","memory":"1Gi"},"requests":{"cpu":"250m","ephemeral-storage":"2Gi","memory":"256Mi"}}karpor Syncer pod 的资源规格

ElasticSearch

ElasticSearch 组件用于存储同步的资源和用户数据。

类型默认值描述
elasticsearch.image.repostring"docker.elastic.co/elasticsearch/elasticsearch"ElasticSearch 镜像的仓库
elasticsearch.image.tagstring"8.6.2"ElasticSearch 镜像的特定标签
elasticsearch.namestring"elasticsearch"ElasticSearch 的组件名称
elasticsearch.portint9200ElasticSearch 的端口
elasticsearch.replicasint1要运行的 ElasticSearch pod 的数量
elasticsearch.resourcesobject{"limits":{"cpu":"2","ephemeral-storage":"10Gi","memory":"4Gi"},"requests":{"cpu":"2","ephemeral-storage":"10Gi","memory":"4Gi"}}karpor elasticsearch pod 的资源规格

ETCD

ETCD 组件是 Karpor Server 作为 apiserver 背后的存储。

类型默认值描述
etcd.image.repostring"quay.io/coreos/etcd"ETCD 镜像的仓库
etcd.image.tagstring"v3.5.11"ETCD 镜像的标签
etcd.namestring"etcd"ETCD 的组件名称
etcd.persistence.accessModes[0]string"ReadWriteOnce"
etcd.persistence.sizestring"10Gi"
etcd.portint2379ETCD 的端口
etcd.replicasint1要运行的 etcd pod 的数量
etcd.resourcesobject{"limits":{"cpu":"500m","ephemeral-storage":"10Gi","memory":"1Gi"},"requests":{"cpu":"250m","ephemeral-storage":"2Gi","memory":"256Mi"}}karpor etcd pod 的资源规格

Job

这是一个一次性 Kubernetes Job,用于生成根证书和一些前置工作。Karpor Server 和 Karpor Syncer 都需要依赖它完成才能正常启动。

类型默认值描述
job.image.repostring"kusionstack/karpor"Job 镜像的仓库
job.image.tagstring""Karpor 镜像的标签。如果未指定,则默认为 Chart 的 appVersion