blob: 1803b322e3521e752054b087d91337f0c4724156 [file] [log] [blame] [view]
# Istio
Istio provides an alternative way to control ingress traffic into the cluster.
In addition, it allows to finetune the traffic inside the cluster and provides
a huge repertoire of load balancing and routing mechanisms.
***note
Currently, only the Gerrit replica chart allows using istio out of the box.
***
## Install istio
An example configuration based on the default profile provided by istio can be
found under `./istio/src/`. Some values will have to be adapted to the respective
system. These are marked by comments tagged with `TO_BE_CHANGED`.
To install istio with this configuration, run:
```sh
kubectl apply -f istio/istio-system-namespace.yaml
istioctl install -f istio/gerrit.profile.yaml
```
To install Gerrit using istio for networking, the namespace running Gerrit has to
be configured to enable sidecar injection, by setting the `istio-injection: enabled`
label. An example for such a namespace can be found at `./istio/namespace.yaml`.
## Uninstall istio
To uninstall istio, run:
```sh
istioctl uninstall -f istio/gerrit.profile.yaml
```
## Restricting access to a list of allowed IPs
In development setups, it might be wanted to allow access to the setup only from
specified IPs. This can be done by patching the `spec.loadBalancerSourceRanges`
value of the service used for the IngressGateway. A patch doing that can be
uncommented in `istio/gerrit.profile.yaml`.