Add Istio example

This commit is contained in:
Philippe Merle
2025-05-31 13:25:34 +02:00
parent 5b1b2d5d54
commit 7c86dc4986
17 changed files with 118 additions and 0 deletions
+1
View File
@@ -69,6 +69,7 @@ All the examples are
1. [Some Helm charts](https://github.com/philippemerle/KubeDiagrams/blob/main/examples/helm-charts/)
1. [LeaderWorkerSet API](https://github.com/philippemerle/KubeDiagrams/blob/main/examples/lws/)
1. [helmfile](https://github.com/philippemerle/KubeDiagrams/blob/main/examples/helmfile/)
1. [Istio](https://github.com/philippemerle/KubeDiagrams/blob/main/examples/istio/)
## Prerequisites
+56
View File
@@ -0,0 +1,56 @@
# Istio Example
This example is dedicated to **[Istio](https://istio.io)**.
## Instructions
Generate the Kubernetes architecture diagrams for Istio Helm charts and helmfile:
```sh
$ ./generate.sh
```
## Generated architecture diagrams
Architecture diagram for [Istio base Helm Chart](https://artifacthub.io/packages/helm/istio-official/base):
![base.png](base.png)
Architecture diagram for [Istiod Helm Chart](https://artifacthub.io/packages/helm/istio-official/istiod):
![istiod.png](istiod.png)
Architecture diagram for [Istio Gateway Helm Chart](https://artifacthub.io/packages/helm/istio-official/gateway):
![gateway.png](gateway.png)
Architecture diagram for [Istio CNI Helm Chart](https://artifacthub.io/packages/helm/istio-official/cni):
![cni.png](cni.png)
Architecture diagram for [Istio Ztunnel Helm Chart](https://artifacthub.io/packages/helm/istio-official/ztunnel):
![ztunnel.png](ztunnel.png)
Architecture diagram for [Istio Ambient Helm Chart](https://artifacthub.io/packages/helm/istio-official/ambient):
![ambient.png](ambient.png)
Architecture diagram for [Istiod Remote Helm Chart](https://artifacthub.io/packages/helm/istio-official/istiod-remote):
![istiod-remote.png](istiod-remote.png)
Architecture diagram for [istio-all.yaml helmfile](istio-all.yaml):
![istio-all.png](istio-all.png)
Architecture diagram for [istio-all.yaml helmfile](istio-all.yaml) with all namespaces:
![istio-all-namespaces.png](istio-all-namespaces.png)
Architecture diagram for [istio-all.yaml helmfile](istio-all.yaml) with focus on all Helm charts:
![istio-all-helm-charts.png](istio-all-helm-charts.png)
Architecture diagram for [istio-all.yaml helmfile](istio-all.yaml) with focus on all application clusters:
![istio-all-applications.png](istio-all-applications.png)
+12
View File
@@ -0,0 +1,12 @@
clusters:
- label: app.kubernetes.io/instance
show: false # clusters hidden.
- label: release
show: false # clusters hidden.
- label: helm.sh/chart
show: false # clusters hidden.
- label: chart
show: false # clusters hidden.
nodes:
CustomResourceDefinition/apiextensions.k8s.io/v1:
show: false # CRD hidden.
+5
View File
@@ -0,0 +1,5 @@
clusters:
- label: app.kubernetes.io/instance
show: false # clusters hidden.
- label: release
show: false # clusters hidden.
Binary file not shown.

After

Width:  |  Height:  |  Size: 427 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

+21
View File
@@ -0,0 +1,21 @@
#! /bin/sh
BIN=../../bin
# Generate the Kubernetes architecture diagram for each Istio's Helm Chart.
for chart in \
base \
istiod \
gateway \
cni \
ztunnel \
ambient \
istiod-remote
do
$BIN/helm-diagrams https://istio-release.storage.googleapis.com/charts/${chart}
done
helmfile template -f istio-all.yaml | kube-diagrams - -o istio-all-namespaces.png
helmfile template -f istio-all.yaml | kube-diagrams - -o istio-all.png --without-namespace
helmfile template -f istio-all.yaml | kube-diagrams - -o istio-all-helm-charts.png --without-namespace --config all-helm-charts.kd
helmfile template -f istio-all.yaml | kube-diagrams - -o istio-all-applications.png --without-namespace --config all-applications.kd
Binary file not shown.

After

Width:  |  Height:  |  Size: 337 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 476 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 653 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 KiB

+23
View File
@@ -0,0 +1,23 @@
repositories:
- name: istio
url: https://istio-release.storage.googleapis.com/charts
releases:
- name: istio-base
chart: istio/base
namespace: istio-system
- name: istiod
chart: istio/istiod
namespace: istio-system
- name: istio-ingressgateway
chart: istio/gateway
namespace: istio-ingressgateway
- name: istio-cni
chart: istio/cni
namespace: kube-system
- name: ztunnel
chart: istio/ztunnel
#- name: istiod-remote
# chart: istio/istiod-remote
# - name: ambient
# chart: istio/ambient
Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB