Skip to content

Commit

Permalink
Merge pull request #8 from fluxcd/flux-v2.3.0
Browse files Browse the repository at this point in the history
Update Flux to v2.3.0
  • Loading branch information
stefanprodan authored May 9, 2024
2 parents 20f3c5e + 7102c79 commit f831994
Show file tree
Hide file tree
Showing 31 changed files with 1,931 additions and 810 deletions.
29 changes: 28 additions & 1 deletion RESULTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,38 @@ registry at the same time.
- GitHub hosted-runner (ubuntu-latest-16-cores)
- Kubernetes Kind (v1.28.0 / 3 nodes)
- Flux source-controller (1CPU / 1Gi / concurrency 10)
- Flux kustomize-controller (1CPU / 1Gi / concurrency 20)
- Flux kustomize-controller (2CPU / 1Gi / concurrency 20)
- Flux helm-controller (2CPU / 1Gi / concurrency 10)
- Helm repository (oci://ghcr.io/stefanprodan/charts/podinfo)
- App manifests (Deployment scaled to zero, Service Account, Service, Ingress)

## Flux v2.3.0

| Objects | Type | Flux component | Duration | Max Memory |
|---------|---------------|----------------------|----------|------------|
| 100 | OCIRepository | source-controller | 25s | 38Mi |
| 100 | Kustomization | kustomize-controller | 27s | 32Mi |
| 100 | HelmChart | source-controller | 25s | 40Mi |
| 100 | HelmRelease | helm-controller | 28s | 190Mi |
| 500 | OCIRepository | source-controller | 45s | 65Mi |
| 500 | Kustomization | kustomize-controller | 2m4s | 134Mi |
| 500 | HelmChart | source-controller | 45s | 68Mi |
| 500 | HelmRelease | helm-controller | 2m45s | 250Mi |
| 1000 | OCIRepository | source-controller | 1m30s | 67Mi |
| 1000 | Kustomization | kustomize-controller | 4m15s | 190Mi |
| 1000 | HelmChart | source-controller | 1m30s | 110Mi |
| 1000 | HelmRelease | helm-controller | 8m1s | 490Mi |

### Observations

Comparing to Flux v2.2, in Flux v2.3 helm-controller memory management has
improved a lot, especially when the cluster has hundreds of CRDs registered.
In Flux v2.2, helm-controller on Kubernetes v1.28 is running out of memory
with 100 CRDs registered, while in Flux v2.3 on Kubernetes v1.29
it can handle 500+ CRDs without issues. Given this results,
it is recommended to upgrade the Kubernetes control plane to v1.29
and Flux to v2.3.

## Flux v2.2.0

| Objects | Type | Flux component | Duration | Max Memory |
Expand Down
5 changes: 2 additions & 3 deletions manifests/bases/helm-controller/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
#- https://github.com/fluxcd/helm-controller/releases/download/v0.37.4/helm-controller.crds.yaml
- https://raw.githubusercontent.com/fluxcd/helm-controller/main/config/crd/bases/helm.toolkit.fluxcd.io_helmreleases.yaml
- https://github.com/fluxcd/helm-controller/releases/download/v0.37.4/helm-controller.deployment.yaml
- https://github.com/fluxcd/helm-controller/releases/download/v1.0.0/helm-controller.crds.yaml
- https://github.com/fluxcd/helm-controller/releases/download/v1.0.0/helm-controller.deployment.yaml
- account.yaml
transformers:
- labels.yaml
Expand Down
1 change: 0 additions & 1 deletion manifests/install/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ images:
newName: ghcr.io/fluxcd/kustomize-controller
- name: fluxcd/helm-controller
newName: ghcr.io/fluxcd/helm-controller
newTag: preview-9da55991
- name: fluxcd/notification-controller
newName: ghcr.io/fluxcd/notification-controller
- name: fluxcd/image-reflector-controller
Expand Down
Loading

0 comments on commit f831994

Please sign in to comment.