blob: 1803b322e3521e752054b087d91337f0c4724156 [file] [log] [blame] [view]
Giorgi Lekveishvili4ec4c022024-08-17 15:09:24 +04001# Istio
2
3Istio provides an alternative way to control ingress traffic into the cluster.
4In addition, it allows to finetune the traffic inside the cluster and provides
5a huge repertoire of load balancing and routing mechanisms.
6
7***note
8Currently, only the Gerrit replica chart allows using istio out of the box.
9***
10
11## Install istio
12
13An example configuration based on the default profile provided by istio can be
14found under `./istio/src/`. Some values will have to be adapted to the respective
15system. These are marked by comments tagged with `TO_BE_CHANGED`.
16To install istio with this configuration, run:
17
18```sh
19kubectl apply -f istio/istio-system-namespace.yaml
20istioctl install -f istio/gerrit.profile.yaml
21```
22
23To install Gerrit using istio for networking, the namespace running Gerrit has to
24be configured to enable sidecar injection, by setting the `istio-injection: enabled`
25label. An example for such a namespace can be found at `./istio/namespace.yaml`.
26
27## Uninstall istio
28
29To uninstall istio, run:
30
31```sh
32istioctl uninstall -f istio/gerrit.profile.yaml
33```
34
35## Restricting access to a list of allowed IPs
36
37In development setups, it might be wanted to allow access to the setup only from
38specified IPs. This can be done by patching the `spec.loadBalancerSourceRanges`
39value of the service used for the IngressGateway. A patch doing that can be
40uncommented in `istio/gerrit.profile.yaml`.