docs(argo-workflows): add an HA section (#2183)

* feat(argo-workflows): add a sample HA config

- a `values-ha.yaml` as an example for how one would set-up HA according to the Argo Workflows docs

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* docs(argo-workflows): add an HA section

- plus add a test for HA, which the docs link to as an example
- link back to [upstream docs](https://argoproj.github.io/argo-workflows/high-availability/) as well

- follow the same basic structure as the [Argo CD chart for HA](3e35b0c7f7/charts/argo-cd/README.md (L17))
  - as asked in review

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

---------

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
Signed-off-by: Anton Gilgur <4970083+agilgur5@users.noreply.github.com>
Co-authored-by: Aikawa <yu.croco@gmail.com>
This commit is contained in:
Anton Gilgur 2023-09-09 21:57:17 -04:00 committed by GitHub
parent 366114b3db
commit db76bbed97
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 36 additions and 3 deletions

View file

@ -3,7 +3,7 @@ appVersion: v3.4.11
name: argo-workflows
description: A Helm chart for Argo Workflows
type: application
version: 0.33.2
version: 0.33.3
icon: https://argoproj.github.io/argo-workflows/assets/logo.png
home: https://github.com/argoproj/argo-helm
sources:
@ -16,5 +16,5 @@ annotations:
fingerprint: 2B8F22F57260EFA67BE1C5824B11F800CD9D2252
url: https://argoproj.github.io/argo-helm/pgp_keys.asc
artifacthub.io/changes: |
- kind: changed
description: Upgrade Argo Workflows to v3.4.11
- kind: fixed
description: Add HA docs and example

View file

@ -75,6 +75,11 @@ For full list of changes, please check ArtifactHub [changelog].
## Usage Notes
### High Availability
This chart installs the non-HA version of Argo Workflows by default. If you want to run in HA mode, you can use [these example values](ci/ha-values.yaml) as a starting point.
Please see the upstream [Operator Manual's High Availability page](https://argoproj.github.io/argo-workflows/high-availability/) to understand how to scale Argo Workflows in depth.
### Workflow controller
This chart defaults to setting the `controller.instanceID.enabled` to `false` now, which means the deployed controller will act upon any workflow deployed to the cluster. If you would like to limit the behavior and deploy multiple workflow controllers, please use the `controller.instanceID.enabled` attribute along with one of its configuration options to set the `instanceID` of the workflow controller to be properly scoped for your needs.

View file

@ -75,6 +75,11 @@ For full list of changes, please check ArtifactHub [changelog].
## Usage Notes
### High Availability
This chart installs the non-HA version of Argo Workflows by default. If you want to run in HA mode, you can use [these example values](ci/ha-values.yaml) as a starting point.
Please see the upstream [Operator Manual's High Availability page](https://argoproj.github.io/argo-workflows/high-availability/) to understand how to scale Argo Workflows in depth.
### Workflow controller
This chart defaults to setting the `controller.instanceID.enabled` to `false` now, which means the deployed controller will act upon any workflow deployed to the cluster. If you would like to limit the behavior and deploy multiple workflow controllers, please use the `controller.instanceID.enabled` attribute along with one of its configuration options to set the `instanceID` of the workflow controller to be properly scoped for your needs.

View file

@ -0,0 +1,23 @@
# Sample values for High Availability configuration, following https://argoproj.github.io/argo-workflows/high-availability/
controller:
# in v3.0+, a second controller can be ran as a hot-standby: https://argoproj.github.io/argo-workflows/high-availability/#workflow-controller
replicas: 2 # should be strictly greater than PDB minAvailable
# enable PDB with at least one Pod
pdb:
# -- Configure [Pod Disruption Budget] for the controller pods
enabled: true
minAvailable: 1
server:
# enable HPA with at least two Pods
autoscaling:
# -- Enable Horizontal Pod Autoscaler ([HPA]) for the Argo Server
enabled: true
# -- Minimum number of replicas for the Argo Server [HPA]
minReplicas: 2 # should be strictly greater than PDB minAvailable
# enable PDB with at least one Pod
pdb:
# -- Configure [Pod Disruption Budget] for the controller pods
enabled: true
minAvailable: 1