Skip to content

Commit f18b184

Browse files
ZiMengShengwangjianyu
andauthored
Add CHART v1.6.0 (#91)
Signed-off-by: wangjianyu <[email protected]> Signed-off-by: wangjianyu <[email protected]> Co-authored-by: wangjianyu <[email protected]>
1 parent da29c4e commit f18b184

35 files changed

+6800
-1
lines changed

.github/workflows/lint-and-test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
- name: Set up python
1818
uses: actions/setup-python@v2
1919
with:
20-
python-version: 3.7
20+
python-version: 3.13.2
2121

2222
- name: Setup Chart Linting
2323
id: lint

versions/v1.6.0/.helmignore

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Patterns to ignore when building packages.
2+
# This supports shell glob matching, relative path matching, and
3+
# negation (prefixed with !). Only one pattern per line.
4+
.DS_Store
5+
# Common VCS dirs
6+
.git/
7+
.gitignore
8+
.bzr/
9+
.bzrignore
10+
.hg/
11+
.hgignore
12+
.svn/
13+
# Common backup files
14+
*.swp
15+
*.bak
16+
*.tmp
17+
*.orig
18+
*~
19+
# Various IDEs
20+
.project
21+
.idea/
22+
*.tmproj
23+
.vscode/

versions/v1.6.0/Chart.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
apiVersion: v2
2+
name: koordinator
3+
description: A Helm chart for Koordinator
4+
type: application
5+
version: 1.6.0
6+
appVersion: 1.6.0
7+
icon: https://koordinator.sh/img/logo.svg
8+
keywords:
9+
- koordinator
10+
- co-location
11+
- mixed-workloads
12+
home: https://koordinator.sh
13+
sources:
14+
- https://github.com/koordinator-sh/koordinator

versions/v1.6.0/README.md

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
# Koordinator v1.6.0
2+
3+
## Configuration
4+
5+
Note that installing this chart directly means it will use the default template values for Koordinator.
6+
7+
You may have to set your specific configurations if it is deployed into a production cluster, or you want to configure feature-gates.
8+
9+
### Optional: chart parameters
10+
11+
The following table lists the configurable parameters of the chart and their default values.
12+
13+
| Parameter | Description | Default |
14+
|----------------------------------------------------|------------------------------------------------------------------|---------------------------------|
15+
| `featureGates` | Feature gates for Koordinator, empty string means all by default | ` ` |
16+
| `installation.namespace` | namespace for Koordinator installation | `koordinator-system` |
17+
| `installation.createNamespace` | Whether to create the installation.namespace | `true` |
18+
| `imageRepositoryHost` | Image repository host | `ghcr.io` |
19+
| `manager.log.level` | Log level that koord-manager printed | `4` |
20+
| `manager.replicas` | Replicas of koord-manager deployment | `2` |
21+
| `manager.image.repository` | Repository for koord-manager image | `koordinatorsh/koord-manager` |
22+
| `manager.image.tag` | Tag for koord-manager image | `v1.6.0` |
23+
| `manager.resources.limits.cpu` | CPU resource limit of koord-manager container | `1000m` |
24+
| `manager.resources.limits.memory` | Memory resource limit of koord-manager container | `1Gi` |
25+
| `manager.resources.requests.cpu` | CPU resource request of koord-manager container | `500m` |
26+
| `manager.resources.requests.memory` | Memory resource request of koord-manager container | `256Mi` |
27+
| `manager.metrics.port` | Port of metrics served | `8080` |
28+
| `manager.webhook.port` | Port of webhook served | `9443` |
29+
| `manager.nodeAffinity` | Node affinity policy for koord-manager pod | `{}` |
30+
| `manager.nodeSelector` | Node labels for koord-manager pod | `{}` |
31+
| `manager.tolerations` | Tolerations for koord-manager pod | `[]` |
32+
| `manager.resyncPeriod` | Resync period of informer koord-manager, defaults no resync | `0` |
33+
| `manager.hostNetwork` | Whether koord-manager pod should run with hostnetwork | `false` |
34+
| `scheduler.log.level` | Log level that koord-scheduler printed | `4` |
35+
| `scheduler.replicas` | Replicas of koord-scheduler deployment | `2` |
36+
| `scheduler.image.repository` | Repository for koord-scheduler image | `koordinatorsh/koord-scheduler` |
37+
| `scheduler.image.tag` | Tag for koord-scheduler image | `v1.6.0` |
38+
| `scheduler.resources.limits.cpu` | CPU resource limit of koord-scheduler container | `1000m` |
39+
| `scheduler.resources.limits.memory` | Memory resource limit of koord-scheduler container | `1Gi` |
40+
| `scheduler.resources.requests.cpu` | CPU resource request of koord-scheduler container | `500m` |
41+
| `scheduler.resources.requests.memory` | Memory resource request of koord-scheduler container | `256Mi` |
42+
| `scheduler.port` | Port of metrics served | `10251` |
43+
| `scheduler.nodeAffinity` | Node affinity policy for koord-scheduler pod | `{}` |
44+
| `scheduler.nodeSelector` | Node labels for koord-scheduler pod | `{}` |
45+
| `scheduler.tolerations` | Tolerations for koord-scheduler pod | `[]` |
46+
| `scheduler.hostNetwork` | Whether koord-scheduler pod should run with hostnetwork | `false` |
47+
| `koordlet.log.level` | Log level that koordlet printed | `4` |
48+
| `koordlet.image.repository` | Repository for koordlet image | `koordinatorsh/koordlet` |
49+
| `koordlet.image.tag` | Tag for koordlet image | `v1.6.0` |
50+
| `koordlet.resources.limits.cpu` | CPU resource limit of koordlet container | `500m` |
51+
| `koordlet.resources.limits.memory` | Memory resource limit of koordlet container | `256Mi` |
52+
| `koordlet.resources.requests.cpu` | CPU resource request of koordlet container | `0` |
53+
| `koordlet.resources.requests.memory` | Memory resource request of koordlet container | `0` |
54+
| `koordlet.affinity` | Affinity policy for koordlet pod | `{}` |
55+
| `koordlet.runtimeClassName` | RuntimeClassName for koordlet pod | ` ` |
56+
| `koordlet.enableServiceMonitor` | Whether to enable ServiceMonitor for koordlet | `false` |
57+
| `webhookConfiguration.failurePolicy.pods` | The failurePolicy for pods in mutating webhook configuration | `Ignore` |
58+
| `webhookConfiguration.failurePolicy.elasticquotas` | The failurePolicy for elasticQuotas in all webhook configuration | `Ignore` |
59+
| `webhookConfiguration.failurePolicy.nodeStatus` | The failurePolicy for node.status in all webhook configuration | `Ignore` |
60+
| `webhookConfiguration.failurePolicy.nodes` | The failurePolicy for nodes in all webhook configuration | `Ignore` |
61+
| `webhookConfiguration.timeoutSeconds` | The timeoutSeconds for all webhook configuration | `30` |
62+
| `crds.managed` | Koordinator will not install CRDs with chart if this is false | `true` |
63+
| `imagePullSecrets` | The list of image pull secrets for koordinator image | `false` |
64+
65+
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install` or `helm upgrade`.
66+
67+
### Optional: feature-gate
68+
69+
Feature-gate controls some influential features in Koordinator:
70+
71+
| Name | Description | Default | Effect (if closed) |
72+
| ------------------------- | ---------------------------------------------------------------- | ------- | -------------------------------------- |
73+
| `PodMutatingWebhook` | Whether to open a mutating webhook for Pod **create** | `true` | Don't inject koordinator.sh/qosClass, koordinator.sh/priority and don't replace koordinator extend resources ad so on |
74+
| `PodValidatingWebhook` | Whether to open a validating webhook for Pod **create/update** | `true` | It is possible to create some Pods that do not conform to the Koordinator specification, causing some unpredictable problems |
75+
76+
77+
If you want to configure the feature-gate, just set the parameter when install or upgrade. Such as:
78+
79+
```bash
80+
$ helm install koordinator https://... --set featureGates="PodMutatingWebhook=true\,PodValidatingWebhook=true"
81+
```
82+
83+
If you want to enable all feature-gates, set the parameter as `featureGates=AllAlpha=true`.
84+
85+
### Optional: install or upgrade specific CRDs
86+
87+
If you want to skip specific CRDs during the installation or the upgrade, you can set the parameter `crds.<crdPluralName>` to `false` and install or upgrade them manually.
88+
89+
```bash
90+
# skip install the CRD noderesourcetopologies.topology.node.k8s.io
91+
$ helm install koordinator https://... --set featureGates="crds.managed=true,crds.noderesourcetopologies=false"
92+
# only upgrade specific CRDs recommendations, clustercolocationprofiles, elasticquotaprofiles, ..., podgroups
93+
$ helm upgrade koordinator https://... --set featureGates="crds.managed=false,crds.recommendations=true,crds.clustercolocationprofiles=true,crds.elasticquotaprofiles=true,crds.elasticquotas=true,crds.devices=true,crds.podgroups=true"
94+
```
95+
96+
### Optional: the local image for China
97+
98+
If you are in China and have problem to pull image from official DockerHub, you can use the registry hosted on Alibaba Cloud:
99+
100+
```bash
101+
$ helm install koordinator https://... --set imageRepositoryHost=registry.cn-beijing.aliyuncs.com
102+
```
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
{{/* vim: set filetype=mustache: */}}
2+
{{/*
3+
Expand the name of the chart.
4+
*/}}
5+
{{- define "koordinator.name" -}}
6+
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
7+
{{- end -}}
8+
9+
{{/*
10+
Create a default fully qualified app name.
11+
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
12+
If release name contains chart name it will be used as a full name.
13+
*/}}
14+
{{- define "koordinator.fullname" -}}
15+
{{- if .Values.fullnameOverride }}
16+
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
17+
{{- else }}
18+
{{- $name := default .Chart.Name .Values.nameOverride }}
19+
{{- if contains $name .Release.Name }}
20+
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
21+
{{- else }}
22+
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
23+
{{- end }}
24+
{{- end }}
25+
{{- end }}
26+
27+
{{/*
28+
Create the name of the service account to use
29+
*/}}
30+
{{- define "koordinator.serviceAccountName" -}}
31+
{{- if .Values.serviceAccount.create }}
32+
{{- default (include "koordinator.fullname" .) .Values.serviceAccount.name }}
33+
{{- else }}
34+
{{- default "default" .Values.serviceAccount.name }}
35+
{{- end }}
36+
{{- end }}
37+
38+
{{/*
39+
Create chart name and version as used by the chart label.
40+
*/}}
41+
{{- define "koordinator.chart" -}}
42+
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
43+
{{- end -}}
44+
45+
{{/*
46+
Lookup existing immutatble resources
47+
*/}}
48+
{{- define "webhookServiceSpec" -}}
49+
{{- $service := lookup "v1" "Service" .Values.installation.namespace "koordinator-webhook-service" -}}
50+
{{- if $service -}}
51+
{{ if $service.spec.clusterIP -}}
52+
clusterIP: {{ $service.spec.clusterIP }}
53+
{{- end }}
54+
{{ if $service.spec.clusterIPs -}}
55+
clusterIPs:
56+
{{ $service.spec.clusterIPs }}
57+
{{- end }}
58+
{{ if $service.spec.ipFamilyPolicy -}}
59+
ipFamilyPolicy: {{ $service.spec.ipFamilyPolicy }}
60+
{{- end }}
61+
{{ if $service.spec.ipFamilies -}}
62+
ipFamilies:
63+
{{ $service.spec.ipFamilies }}
64+
{{- end }}
65+
{{ if $service.spec.type -}}
66+
type: {{ $service.spec.type }}
67+
{{- end }}
68+
{{ if $service.spec.ipFamily -}}
69+
ipFamily: {{ $service.spec.ipFamily }}
70+
{{- end }}
71+
{{- end -}}
72+
ports:
73+
- port: 443
74+
targetPort: {{ .Values.manager.webhook.port }}
75+
selector:
76+
koord-app: koord-manager
77+
{{- end -}}
78+
79+
{{- define "webhookSecretData" -}}
80+
{{- $secret := lookup "v1" "Secret" .Values.installation.namespace "koordinator-webhook-certs" -}}
81+
{{- if $secret -}}
82+
data:
83+
{{- range $k, $v := $secret.data }}
84+
{{ $k }}: {{ $v }}
85+
{{- end }}
86+
{{- end }}
87+
{{- end -}}
88+
89+
{{- define "serviceAccountManager" -}}
90+
{{- $sa := lookup "v1" "ServiceAccount" .Values.installation.namespace "koord-manager" -}}
91+
{{- if $sa -}}
92+
secrets:
93+
{{- range $v := $sa.secrets }}
94+
- name: {{ $v.name }}
95+
{{- end }}
96+
{{- end }}
97+
{{- end -}}

0 commit comments

Comments
 (0)