Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Flux is a tool that allows us to define the components to install on a cluster. After initial installation, Flux will poll the source(GitLab) and apply any changes.


Image Added

In our configuration, we use GitLab as our source for defining multiple Helm Releases. A Helm Release defines the helm chart and configuration values to use for a particular component. 

...

Using Kustomize, we can package our components into releases. This is done by applying overrides on top of the base layer. 

Image Added


Cluster Layer

The cluster layer defines what release to use and the overrides to apply for the specific cluster.

...

We can update the components and version by updating the following file:

...

files:

  • components/kustomization.yaml
  • components/overrides/*.yaml


Code Block
languageyml
titleclusters/acm/onprem/components/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
# ---------------------------------------------------------------------------
# Resources
# core    - contains core components
# infra   - contains nginx-ingress controller used in develop and test environments
# extras  - contains extra components used in develop and test environments
# monitoring - contains components used for monitoring
# usecases - contains etls for the various use cases
#
# additional helmreleases can be included in the custom folder
# and referenced under resources.
# ---------------------------------------------------------------------------
resources:
  - ../../../../releases/2023-02-03_22.0.1-2525403/onprem/core
  - ../../../../releases/2023-02-03_22.0.1-2525403/onprem/infra
  - ../../../../releases/2023-02-03_22.0.1-2525403/onprem/extras
#  - ../../../../releases/2023-01-16_22.0.1-2473477/onprem/monitoring

# use cases
#  - ../../../../usecases/onprem/helmrelease-etlflow-1301-ncom-data-enrichment.yaml

# custom
#  - ./custom/helmrelease_sample.yaml

# ---------------------------------------------------------------------------
# PatchesStrategicMerge
# define overrides specific for a cluster
# ---------------------------------------------------------------------------
patchesStrategicMerge:

#core
  - ./overrides/core/helmrepo-ncyd-helm-virtual.yaml
  - ./overrides/core/ckaf-connect.yaml
  - ./overrides/core/ckaf-connect-configurator.yaml
  - ./overrides/core/ckaf-kafka.yaml
  - ./overrides/core/fluent-bit.yaml
  - ./overrides/core/kafka-azure-sink.yaml
  - ./overrides/core/nginx-proxy.yaml
  - ./overrides/core/topology-adapter.yaml

# extras
  - ./overrides/extras/azuremockapi.yaml
  - ./overrides/extras/ckaf-rest.yaml
  - ./overrides/extras/ckaf-schema-registry.yaml
  - ./overrides/extras/jira.yaml
  - ./overrides/extras/kowl.yaml
  - ./overrides/extras/mock-server.yaml
  - ./overrides/extras/ssh-server.yaml

# infra
  - ./overrides/infra/ingress-nginx.yaml

# monitoring
#  - ./overrides/monitoring/file.yaml

#usecases
#  - ./overrides/usecases/helmrelease-etlflow-1301-ncom-data-enrichment.yaml