@@ -11,23 +11,21 @@ Components:
11
11
* manages the traffic flows between microservices, enforcing access policies and aggregating telemetry data
12
12
* ** Prometheus** monitoring system
13
13
* time series database that collects and stores the service mesh metrics
14
- * ** Flux** GitOps operator
14
+ * ** Flux** GitOps Toolkit
15
15
* syncs YAMLs and Helm charts between git and clusters
16
16
* scans container registries and deploys new images
17
- * ** Helm Operator** CRD controller
18
- * automates Helm chart releases
19
17
* ** Flagger** progressive delivery operator
20
18
* automates the release process using Istio routing for traffic shifting and Prometheus metrics for canary analysis
21
19
22
20
### Prerequisites
23
21
24
- You'll need a Kubernetes cluster ** v1.11 ** or newer with ` LoadBalancer ` support.
22
+ You'll need a Kubernetes cluster ** v1.16 ** or newer with ` LoadBalancer ` support.
25
23
For testing purposes you can use Minikube with four CPUs and 4GB of memory.
26
24
27
- Install Flux CLI and Helm v3 :
25
+ Install Flux CLI:
28
26
29
27
``` bash
30
- brew install fluxctl helm
28
+ brew install fluxcd/tap/flux
31
29
```
32
30
33
31
Fork this repository and clone it:
@@ -51,11 +49,11 @@ In order to sync your cluster state with git you need to copy the public key and
51
49
access on your GitHub repository. On GitHub go to _ Settings > Deploy keys_ click on _ Add deploy key_ ,
52
50
check _ Allow write access_ , paste the Flux public key and click _ Add key_ .
53
51
54
- When Flux has write access to your repository it will do the following:
52
+ When Flux has access to your repository it will do the following:
55
53
56
54
* installs the Istio operator
57
55
* waits for Istio control plane to be ready
58
- * installs Flagger CRDs and Helm Releases
56
+ * installs Flagger and Grafana
59
57
* creates the Istio public gateway
60
58
* creates the ` prod ` namespace
61
59
* creates the load tester deployment
@@ -65,7 +63,7 @@ When Flux has write access to your repository it will do the following:
65
63
![ Flux Istio Operator] ( https://raw.githubusercontent.com/fluxcd/helm-operator-get-started/master/diagrams/flux-istio-operator.png )
66
64
67
65
You can customize the Istio installation with the ` IstioOperator ` resource located at
68
- [ istio/control-plane .yaml] ( https://github.com/stefanprodan/gitops-istio/blob/master /istio/control-plane .yaml ) :
66
+ [ istio/system/profile .yaml] ( https://github.com/stefanprodan/gitops-istio/blob/main /istio/system/profile .yaml ) :
69
67
70
68
``` yaml
71
69
apiVersion : install.istio.io/v1alpha1
87
85
After modifying the Istio settings, you can push the change to git and Flux will apply it on the cluster.
88
86
The Istio operator will reconfigure the Istio control plane according to your changes.
89
87
It can take a couple of minutes for Flux to sync and apply the changes, to speed up the apply
90
- you can use ` fluxctl sync ` to trigger a git sync.
88
+ you can use ` flux reconcile ks flux-system --with-source ` to trigger a git sync.
91
89
92
90
# ## Workloads bootstrap
93
91
0 commit comments