Skip to content

Commit 62d1225

Browse files
authored
Merge pull request #38 from KusionStack/support-custom-replicas-and-resources-in-karpor-chart
feat: support custom replicas and resources in karpor chart
2 parents 4f52af1 + 00bb542 commit 62d1225

File tree

7 files changed

+81
-25
lines changed

7 files changed

+81
-25
lines changed

charts/karpor/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
apiVersion: v2
44
name: karpor
55
# The Chart Version
6-
version: 0.5.1
6+
version: 0.5.2
77
type: application
88
# The Application Version in the Chart
99
appVersion: 0.4.2

charts/karpor/README.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Karpor Chart
22

3-
![Version: 0.5.1](https://img.shields.io/badge/Version-0.5.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.4.2](https://img.shields.io/badge/AppVersion-0.4.2-informational?style=flat-square)
3+
![Version: 0.5.2](https://img.shields.io/badge/Version-0.5.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.4.2](https://img.shields.io/badge/AppVersion-0.4.2-informational?style=flat-square)
44

55
A Helm chart for Karpor, a modern kubernetes visualization tool.
66

@@ -65,8 +65,10 @@ The Karpor Server Component is main backend server. It itself is an `apiserver`,
6565
|-----|------|---------|-------------|
6666
| server.image.repo | string | `"kusionstack/karpor"` | Repository for Karpor server image. |
6767
| server.image.tag | string | `""` | Tag for Karpor server image. Defaults to the chart's appVersion if not specified. |
68-
| server.name | string | `"karpor-server"` | Component name for Karpor server. |
69-
| server.port | int | `7443` | Port for Karpor server. |
68+
| server.name | string | `"karpor-server"` | Component name for karpor server. |
69+
| server.port | int | `7443` | Port for karpor server. |
70+
| server.replicas | int | `1` | The number of karpor server pods to run. |
71+
| server.resources | object | `{"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. |
7072

7173
### Karpor Syncer
7274

@@ -78,6 +80,8 @@ The Karpor Syncer Component is independent server to synchronize cluster resourc
7880
| syncer.image.tag | string | `""` | Tag for Karpor syncer image. Defaults to the chart's appVersion if not specified. |
7981
| syncer.name | string | `"karpor-syncer"` | Component name for Karpor syncer. |
8082
| syncer.port | int | `7443` | Port for Karpor syncer. |
83+
| syncer.replicas | int | `1` | The number of karpor syncer pods to run. |
84+
| syncer.resources | object | `{"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. |
8185

8286
### ElasticSearch
8387

@@ -89,6 +93,8 @@ The ElasticSearch Component to store the synchronized resources and user data.
8993
| elasticsearch.image.tag | string | `"8.6.2"` | Specific tag for ElasticSearch image. |
9094
| elasticsearch.name | string | `"elasticsearch"` | Component name for ElasticSearch. |
9195
| elasticsearch.port | int | `9200` | Port for ElasticSearch. |
96+
| elasticsearch.replicas | int | `1` | The number of ElasticSearch pods to run. |
97+
| elasticsearch.resources | object | `{"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. |
9298

9399
### ETCD
94100

@@ -100,6 +106,8 @@ The ETCD Component is the storage of Karpor Server as `apiserver`.
100106
| etcd.image.tag | string | `"v3.5.11"` | Specific tag for ETCD image. |
101107
| etcd.name | string | `"etcd"` | Component name for ETCD. |
102108
| etcd.port | int | `2379` | Port for ETCD. |
109+
| etcd.replicas | int | `1` | The number of etcd pods to run. |
110+
| etcd.resources | object | `{"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. |
103111

104112
### Job
105113

charts/karpor/templates/elasticsearch.yml

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ metadata:
1717
name: elasticsearch
1818
namespace: {{ .Values.namespace }}
1919
spec:
20-
replicas: 1
20+
replicas: {{ .Values.elasticsearch.replicas }}
2121
selector:
2222
matchLabels:
2323
{{- include "karpor.selectorLabels" (dict "context" . "component" .Values.elasticsearch.name) | nindent 6 }}
@@ -49,14 +49,7 @@ spec:
4949
- containerPort: {{ .Values.elasticsearch.port }}
5050
protocol: TCP
5151
resources:
52-
limits:
53-
cpu: "2"
54-
memory: 4Gi
55-
ephemeral-storage: 10Gi
56-
requests:
57-
cpu: "2"
58-
memory: 4Gi
59-
ephemeral-storage: 10Gi
52+
{{- toYaml .Values.elasticsearch.resources | nindent 12 }}
6053
volumeMounts:
6154
- mountPath: /usr/share/elasticsearch/data
6255
name: data

charts/karpor/templates/etcd.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ metadata:
1818
{{- include "karpor.labels" (dict "context" . "component" .Values.etcd.name) | nindent 4 }}
1919
spec:
2020
serviceName: etcd
21-
replicas: 1
21+
replicas: {{ .Values.etcd.replicas }}
2222
selector:
2323
matchLabels:
2424
{{- include "karpor.selectorLabels" (dict "context" . "component" .Values.etcd.name) | nindent 6 }}
@@ -43,6 +43,8 @@ spec:
4343
volumeMounts:
4444
- name: data
4545
mountPath: /etcd-data
46+
resources:
47+
{{- toYaml .Values.etcd.resources | nindent 12 }}
4648
volumeClaimTemplates:
4749
- metadata:
4850
name: data

charts/karpor/templates/karpor-server.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ metadata:
1717
name: karpor-server
1818
namespace: {{ .Values.namespace }}
1919
spec:
20-
replicas: 1
20+
replicas: {{ .Values.server.replicas }}
2121
selector:
2222
matchLabels:
2323
{{- include "karpor.selectorLabels" (dict "context" . "component" .Values.server.name) | nindent 6 }}
@@ -43,6 +43,8 @@ spec:
4343
volumeMounts:
4444
- mountPath: /etc/karpor/
4545
name: karpor-secret
46+
resources:
47+
{{- toYaml .Values.server.resources | nindent 12 }}
4648
volumes:
4749
- name: karpor-secret
4850
secret:

charts/karpor/templates/karpor-syncer.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ metadata:
66
name: karpor-syncer
77
namespace: {{ .Values.namespace }}
88
spec:
9-
replicas: 1
9+
replicas: {{ .Values.syncer.replicas }}
1010
selector:
1111
matchLabels:
1212
{{- include "karpor.selectorLabels" (dict "context" . "component" .Values.syncer.name) | nindent 6 }}
@@ -32,6 +32,8 @@ spec:
3232
volumeMounts:
3333
- mountPath: /etc/karpor/
3434
name: karpor-kubeconfig
35+
resources:
36+
{{- toYaml .Values.syncer.resources | nindent 12 }}
3537
volumes:
3638
- name: karpor-kubeconfig
3739
configMap:

charts/karpor/values.yaml

Lines changed: 58 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,51 +17,100 @@ global:
1717

1818
# Configuration for Karpor server
1919
server:
20-
# -- Component name for Karpor server.
20+
# -- Component name for karpor server.
2121
name: karpor-server
22+
# -- The number of karpor server pods to run.
23+
replicas: 1
24+
# -- Port for karpor server.
25+
port: 7443
2226
image:
2327
# -- Repository for Karpor server image.
2428
repo: kusionstack/karpor
2529
# -- Tag for Karpor server image. Defaults to the chart's appVersion if not specified.
2630
tag: ""
27-
# -- Port for Karpor server.
28-
port: 7443
31+
# -- Resource limits and requests for the karpor server pods.
32+
resources:
33+
requests:
34+
cpu: 250m
35+
memory: 256Mi
36+
ephemeral-storage: 2Gi
37+
limits:
38+
cpu: 500m
39+
memory: 1Gi
40+
ephemeral-storage: 10Gi
41+
2942

3043
# Configuration for Karpor syncer
3144
syncer:
3245
# -- Component name for Karpor syncer.
3346
name: karpor-syncer
47+
# -- The number of karpor syncer pods to run.
48+
replicas: 1
49+
# -- Port for Karpor syncer.
50+
port: 7443
3451
image:
3552
# -- Repository for Karpor syncer image.
3653
repo: kusionstack/karpor
3754
# -- Tag for Karpor syncer image. Defaults to the chart's appVersion if not specified.
3855
tag: ""
39-
# -- Port for Karpor syncer.
40-
port: 7443
56+
# -- Resource limits and requests for the karpor syncer pods.
57+
resources:
58+
requests:
59+
cpu: 250m
60+
memory: 256Mi
61+
ephemeral-storage: 2Gi
62+
limits:
63+
cpu: 500m
64+
memory: 1Gi
65+
ephemeral-storage: 10Gi
4166

4267
# Configuration for ElasticSearch
4368
elasticsearch:
4469
# -- Component name for ElasticSearch.
4570
name: elasticsearch
71+
# -- The number of ElasticSearch pods to run.
72+
replicas: 1
73+
# -- Port for ElasticSearch.
74+
port: 9200
4675
image:
4776
# -- Repository for ElasticSearch image.
4877
repo: docker.elastic.co/elasticsearch/elasticsearch
4978
# -- Specific tag for ElasticSearch image.
5079
tag: "8.6.2"
51-
# -- Port for ElasticSearch.
52-
port: 9200
80+
# -- Resource limits and requests for the karpor elasticsearch pods.
81+
resources:
82+
requests:
83+
cpu: "2"
84+
memory: 4Gi
85+
ephemeral-storage: 10Gi
86+
limits:
87+
cpu: "2"
88+
memory: 4Gi
89+
ephemeral-storage: 10Gi
5390

5491
# Configuration for ETCD
5592
etcd:
5693
# -- Component name for ETCD.
5794
name: etcd
95+
# -- The number of etcd pods to run.
96+
replicas: 1
97+
# -- Port for ETCD.
98+
port: 2379
5899
image:
59100
# -- Repository for ETCD image.
60101
repo: quay.io/coreos/etcd
61102
# -- Specific tag for ETCD image.
62103
tag: "v3.5.11"
63-
# -- Port for ETCD.
64-
port: 2379
104+
# -- Resource limits and requests for the karpor etcd pods.
105+
resources:
106+
requests:
107+
cpu: 250m
108+
memory: 256Mi
109+
ephemeral-storage: 2Gi
110+
limits:
111+
cpu: 500m
112+
memory: 1Gi
113+
ephemeral-storage: 10Gi
65114

66115
# Configuration for Jobs
67116
job:

0 commit comments

Comments
 (0)