Skip to content

Commit

Permalink
Apply suggestions from code review
Browse files Browse the repository at this point in the history
Co-authored-by: John Mazzitelli <[email protected]>
  • Loading branch information
leandroberetta and jmazzitelli authored Aug 9, 2023
1 parent 5799c69 commit fb4254e
Show file tree
Hide file tree
Showing 5 changed files with 8 additions and 8 deletions.
2 changes: 1 addition & 1 deletion content/en/docs/Tutorials/multicluster/05-Install-Kiali.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Run the following command to install Kiali using the Kiali operator:
```
kubectl config use-context $CLUSTER_EAST
helm upgrade --install --namespace istio-system --set kubernetes_config.cache_enabled=false --set auth.strategy=anonymous --set deployment.logger.log_level=debug --set deployment.ingress.enabled=true --repo https://kiali.org/helm-charts kiali-server kiali-server
helm upgrade --install --namespace istio-system --set auth.strategy=anonymous --set deployment.logger.log_level=debug --set deployment.ingress.enabled=true --repo https://kiali.org/helm-charts kiali-server kiali-server
```

Verify that Kiali is running with the following command:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,12 @@ After the installation, we can see that the Travels application is running on th

![Overview](/images/mc-tutorial/01.png "Overview")

It is important to note that Kiali only observes one istio-system namespace as we don’t configure it for multicluster yet.
It is important to note that Kiali only observes one istio-system namespace as we did not configure it for multicluster yet.

Take a look at the graph too to observe the in cluster traffic:
Go to the Graph page and select the three namespaces related to the Travels demo in the namespace dropdown menu. This shows you the in-cluster traffic:

![Graph](/images/mc-tutorial/02.png "Graph")

So far, we installed everything on one cluster, similarly to the Travels tutorial for a single cluster.

Now we will expand this topology to include a remote cluster. As we commented this situation can be very common in a productive scenario, either because we might want to split some applications into different clusters, generally because they are maintained by different developers or for high availability or just making applications available in other zones to reduce latencies.
Now we will expand this topology to include a remote cluster. As we commented this situation can be very common in a production scenario, either because we might want to split some applications into different clusters, generally because they are maintained by different developers or for high availability or just making applications available in other zones to reduce latencies.
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ istioctl install -y --context=$CLUSTER_WEST -f $CLUSTER_WEST.yaml
We will also install a Prometheus instance on the remote. We will federate both Prometheus, with the east's one being the place where all metrics will be gathered together:

```
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.18/samples/addons/prometheus.yaml --context $CLUSTER_WEST
kubectl apply -f $ISTIO_DIR/samples/addons/prometheus.yaml --context $CLUSTER_WEST
```

An important step is to create a secret on east cluster allowing it to fetch information of the remote cluster:
Expand All @@ -59,7 +59,7 @@ $ISTIO_DIR/samples/multicluster/gen-eastwest-gateway.sh \

## Prometheus federation

An important design decision for Kiali was to decide that it will continue consuming one Prometheus instance per all clusters. For this reason, Prometheus needs to be federated, meaning that all the remote’s metrics should be fetched by the main Prometheus.
An important design decision for Kiali was to decide that it will continue consuming data from one Prometheus instance per all clusters. For this reason, Prometheus needs to be federated, meaning that all the remote’s metrics should be fetched by the main Prometheus.

We will configure east's Prometheus to fetch west's metrics:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Finally, upgrade the installation for Kiali to pick up the secret:
```
kubectl config use-context $CLUSTER_EAST
helm upgrade --install --namespace istio-system --set kubernetes_config.cache_enabled=false --set auth.strategy=anonymous --set deployment.logger.log_level=debug --set deployment.ingress.enabled=true --repo https://kiali.org/helm-charts kiali-server kiali-server
helm upgrade --install --namespace istio-system --set auth.strategy=anonymous --set deployment.logger.log_level=debug --set deployment.ingress.enabled=true --repo https://kiali.org/helm-charts kiali-server kiali-server
```

As result, we can quickly see that a new namespace appear in the Overview, the istio-system namespace from west cluster:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ After the installation, we can see that traffic is flowing to the remote cluster

![Travels MC](/images/mc-tutorial/04.png "Travels MC")

This is happening automatically, Istio balances the traffic to both services. The key thing to notice here is that there is a concept called namespace sameness in Istio that is very important when planning our multi cluster setup.
This is happening automatically, Istio balances the traffic to both services. The key thing to notice here is that there is a concept called namespace sameness in Istio that is very important when planning our multicluster setup.

In both clusters, we can see that we have the same namespaces. They are called the same in both. Also, we can see that the services in both clusters need to exist and be called the same.

Expand Down

0 comments on commit fb4254e

Please sign in to comment.