Skip to content

Commit cfc6374

Browse files
authored
updated k8s helm docs (#555)
1 parent b18c548 commit cfc6374

1 file changed

Lines changed: 22 additions & 12 deletions

File tree

docs/k8s-helm.md

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import TabItem from '@theme/TabItem';
33

44
# Deploy on Kubernetes with Helm
55

6-
You can deploy Timeplus Enterprise on a Kubernetes cluster with [Helm](https://helm.sh/).
6+
You can deploy Timeplus Enterprise on a Kubernetes cluster with [Helm](https://helm.sh/). The source code of the chart can be find in our [github repo](https://github.com/timeplus-io/helm-charts/tree/main/charts/timeplus-enterprise).
77

88
For visual learning, you can watch the following video:
99
<iframe width="560" height="315" src="https://www.youtube.com/embed/kFyzYx1JI_8?si=WVszQMuFyW6Xcixm" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
@@ -36,8 +36,8 @@ A sample output would be:
3636

3737
```bash
3838
NAME CHART VERSION APP VERSION DESCRIPTION
39-
timeplus/timeplus-enterprise v6.0.4 2.7.1 Helm chart for deploying a cluster of Timeplus ...
40-
timeplus/timeplus-enterprise v6.0.3 2.7.0 Helm chart for deploying a cluster of Timeplus ...
39+
timeplus/timeplus-enterprise v10.0.7 3.0.1 Helm chart for deploying a cluster of Timeplus ...
40+
timeplus/timeplus-enterprise v7.0.25 2.8.4 Helm chart for deploying a cluster of Timeplus ...
4141
```
4242

4343
### Create Namespace
@@ -111,7 +111,7 @@ In this step, we install the helm chart using release name `timeplus`.
111111

112112
```bash
113113
export RELEASE=timeplus
114-
export VERSION=v7.0.4 # or the latest version you want to install
114+
export VERSION=v10.0.7 # or the latest version you want to install
115115
helm -n $NS install -f values.yaml $RELEASE timeplus/timeplus-enterprise --version $VERSION
116116
```
117117

@@ -135,13 +135,12 @@ NAME READY STATUS RESTARTS AGE
135135
timeplus-appserver-6f9ddfb5b-4rs98 1/1 Running 0 13m
136136
timeplus-connector-796ff45cb4-4bj6r 1/1 Running 0 13m
137137
timeplus-provision-2wnxj 0/1 Completed 0 12m
138-
timeplus-web-58cf6765d9-glq4l 1/1 Running 0 13m
139138
timeplusd-0 1/1 Running 0 13m
140139
timeplusd-1 1/1 Running 0 13m
141140
timeplusd-2 1/1 Running 0 13m
142141
```
143142

144-
If any of the pod is in error status, you can try to use `kubectl describe pod <error pod> -n $NS` to debug. For more details, please refer to [Troubleshooting](#troubleshooting) section. Starting from Timeplus Enterprise 2.9, the `timeplus-web` pod is no longer available.
143+
If any of the pod is in error status, you can try to use `kubectl describe pod <error pod> -n $NS` to debug. For more details, please refer to [Troubleshooting](#troubleshooting) section.
145144

146145

147146
### Expose the Timeplus Console
@@ -490,6 +489,7 @@ There are a lot of other configurations available to customize the deployment. S
490489
|-----|------|---------|-------------|
491490
| global.affinity | object | `{}` | This is the global affinity settings. Once set, it will be applied to every single component. If you'd like to set affinity for each component, you can set `affinity` under component name. For example you can use `timeplusd.affinity` to control the affinity of timeplusd Refer to https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ |
492491
| global.imagePullPolicy | string | `"IfNotPresent"` | This setting is available for each component as well. |
492+
| global.imagePullSecrets | list | `[]` | This applies to all pods |
493493
| global.imageRegistry | string | `"docker.timeplus.com"` | This setting is available for each component as well. |
494494
| global.nodeSelector | object | `{}` | See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector |
495495
| global.pvcDeleteOnStsDelete | bool | `false` | Only valid with k8s >= 1.27.0. Ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#persistentvolumeclaim-retention |
@@ -503,24 +503,25 @@ There are a lot of other configurations available to customize the deployment. S
503503
| prometheus_metrics.enabled | bool | `false` | |
504504
| prometheus_metrics.remote_write_endpoint | string | `"http://timeplus-prometheus:80"` | |
505505
| prometheus_metrics.vector.image | string | `"timberio/vector"` | |
506-
| provision.dashboards | bool | `true` | Monitoring dashboards |
507-
| provision.enabled | bool | `true` | Provision job will ONLY be run once after the first installation if it is enabled. A Job will be created to provision default resources such as users, licenses, and etc. This Job shares the same configurations (e.g. resource limit) as `timeplusCli` below. Disable it during installation and re-enable it later won't work. |
506+
| provision.enabled | bool | `false` | Provision job will ONLY be run once after the first installation if it is enabled. A Job will be created to provision default resources such as licenses. This Job shares the same configurations (e.g. resource limit) as `timeplusCli` below. Disable it during installation and re-enable it later won't work. |
508507
| timeplusAppserver.configs | object | `{}` | Configurations for appserver. e.g. `enable-authentication: true`. See https://docs.timeplus.com/server_config#appserver |
509-
| timeplusAppserver.enabled | bool | `true` | Timeplus web, Timeplus connector will not work properly if Timeplus appserver is not enabled. |
508+
| timeplusAppserver.enabled | bool | `true` | |
509+
| timeplusAppserver.enabledAIService | bool | `false` | |
510510
| timeplusAppserver.extraContainers | list | `[]` | Extra containers that to be run together with the main container. |
511511
| timeplusAppserver.extraVolumes | list | `[]` | Extra volumes that to be mounted |
512512
| timeplusAppserver.image | string | `"timeplus/timeplus-appserver"` | |
513-
| timeplusAppserver.metastoreType | string | `"stream"` | |
513+
| timeplusAppserver.service.clusterIP | string | `nil` | |
514+
| timeplusAppserver.service.nodePort | string | `nil` | |
515+
| timeplusAppserver.service.type | string | `"ClusterIP"` | |
514516
| timeplusCli.enabled | bool | `false` | |
515517
| timeplusCli.image | string | `"timeplus/timeplus-cli"` | |
516518
| timeplusConnector.configMap | object | `{"logger":{"add_timestamp":true,"file":{"path":"/timeplus/connector-server.log","rotate":true,"rotate_max_age_days":1},"level":"INFO"}}` | With this default config map, the logs will be written to local ephemeral volume. You can set configMap to be `null` and the logs will be written to stdout. However, you will not be able to view logs of the source and sink on UI if it is `null`. |
517519
| timeplusConnector.enabled | bool | `true` | |
518520
| timeplusConnector.extraContainers | list | `[]` | Extra containers that to be run together with the main container. |
519521
| timeplusConnector.extraVolumes | list | `[]` | Extra volumes that to be mounted |
520522
| timeplusConnector.image | string | `"timeplus/timeplus-connector"` | |
521-
| timeplusWeb.enabled | bool | `true` | |
522-
| timeplusWeb.image | string | `"timeplus/timeplus-web"` | |
523523
| timeplusd.computeNode | object | `{"config":{},"replicas":0,"resources":{"limits":{"cpu":"32","memory":"60Gi"},"requests":{"cpu":"2","memory":"4Gi"}}}` | Compute node |
524+
| timeplusd.computeNode.config | object | `{}` | Configurations for timeplusd compute node. See https://docs.timeplus.com/server_config#timeplusd |
524525
| timeplusd.config | object | `{}` | Configurations for timeplusd. See https://docs.timeplus.com/server_config#timeplusd |
525526
| timeplusd.defaultAdminPassword | string | `"timeplusd@t+"` | Timeplus appserver will use this username and password to connect to timeplusd to perform some administration operations such as user management. |
526527
| timeplusd.enableCoreDump | bool | `false` | |
@@ -533,6 +534,7 @@ There are a lot of other configurations available to customize the deployment. S
533534
| timeplusd.image | string | `"timeplus/timeplusd"` | |
534535
| timeplusd.initJob.image | string | `"timeplus/boson"` | |
535536
| timeplusd.livenessProbe | object | `{"failureThreshold":20,"httpGet":{"path":"/timeplusd/ping","port":"http-streaming","scheme":"HTTP"},"initialDelaySeconds":30,"periodSeconds":30,"successThreshold":1,"timeoutSeconds":1}` | K8s liveness probe for timeplusd. Please refer to https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ |
537+
| timeplusd.metadataNodeQuorum | string | `nil` | |
536538
| timeplusd.replicas | int | `3` | A typical deployment contains 1, 3, or 5 replicas. The max number of Metadata node is 3. If you specify more than 3 replicas, the first 3 will always be Metadata and Data node and the rest of them will be Data node only. |
537539
| timeplusd.resources | object | `{"limits":{"cpu":"32","memory":"60Gi"},"requests":{"cpu":"2","memory":"4Gi"}}` | Make sure at least 2 cores are assigned to each timeplusd |
538540
| timeplusd.service.clusterIP | string | `nil` | Set clusterIP to be `None` to create a headless service. |
@@ -547,6 +549,14 @@ There are a lot of other configurations available to customize the deployment. S
547549

548550
## Upgrade guide
549551

552+
### v7 to v10
553+
:::info
554+
[Timeplus Enterprise 2.8](/enterprise-v2.8)'s helm chart versions are v7.0.x.
555+
[Timeplus Enterprise 3.0](/enterprise-v3.0)'s helm chart versions are v10.0.x.
556+
:::
557+
558+
`kv_service` is completely removed in Timeplus Enterprise 3.0. Please make sure you have followed the `v6 to v7` guide in the next section to migrate it.
559+
550560
### v6 to v7
551561
:::info
552562
[Timeplus Enterprise 2.7](/enterprise-v2.7)'s helm chart versions are v6.0.x.

0 commit comments

Comments
 (0)