Generate new architecture diagrams

This commit is contained in:
Philippe Merle
2024-12-27 20:42:48 +01:00
parent 2a2cc34f3b
commit b185b19084
11 changed files with 16416 additions and 14 deletions

View File

@@ -18,16 +18,24 @@ $ ./generate.sh
```
## Generated architecture diagrams
**Note**: In the following architecture diagrams, both red labels and red arrows indicate unfound Kubernetes resources.
Architecture diagram of Kubernetes resources in the minikube `default` namespace:
![minikube default namespace](minikube-default.png)
Architecture diagram of Kubernetes resources in the minikube `kubernetes-dashboard` namespace:
![minikube kubernetes-dashboard namespace](minikube-dashboard.png)
Architecture diagram of Kubernetes resources in the minikube `ingress-nginx` namespace:
![minikube ingress-nginx namespace](minikube-ingress-nginx.png)
Architecture diagram of Kubernetes resources in the minikube `kube-system` namespace:
![minikube kube-system namespace](minikube-kube-system.png)
Architecture diagram of all minikube Kubernetes resources except for RBAC ones:
![minikube](minikube-without-rbac.png)
**Note**: [minikube-without-rbac-corrected.yml](minikube-without-rbac-corrected.yml) was manually corrected to better group some Kubernetes resources (see `#ADDED:` and `#CHANGED:` comments).
**Note**: [minikube-without-rbac-corrected.yml](minikube-without-rbac-corrected.yml) was manually corrected to better clustering some Kubernetes resources (see `#ADDED:` and `#CHANGED:` comments).
Corrected architecture diagram of all minikube Kubernetes resources except for RBAC ones:
![minikube](minikube-without-rbac-corrected.png)
@@ -35,4 +43,5 @@ Corrected architecture diagram of all minikube Kubernetes resources except for R
Architecture diagram of all minikube Kubernetes resources:
![Minikube](minikube.png)
**Note**: In the previous architecture diagram, both red labels and red arrows indicate unfound Kubernetes resources.
Architecture diagram of all minikube RBAC-related Kubernetes resources:
![Minikube RBAC](minikube-rbac.png)

View File

@@ -8,6 +8,11 @@ kubectl get clusterrole,clusterrolebinding,crd,configmap,ds,deployment,hpa,ingre
# Generate Kubernetes architecture diagram.
$BIN/kube-diagrams -vv ${cluster_name}.yml
# Get all RBAC-related Kubernetes resources.
kubectl get clusterrole,clusterrolebinding,role,rolebinding,serviceaccount -A -o=yaml > ${cluster_name}-rbac.yml
# Generate Kubernetes architecture diagram.
$BIN/kube-diagrams -vv ${cluster_name}-rbac.yml
# Get all Kubernetes resources except for rbac ones.
kubectl get crd,configmap,ds,deployment,hpa,ingress,ingressclass,job,node,pod,replicaset,secret,service,serviceaccount,storageclass,namespace -A -o=yaml > ${cluster_name}-without-rbac.yml
# Generate Kubernetes architecture diagram.
@@ -25,3 +30,14 @@ $BIN/kube-diagrams -v ${cluster_name}-default.yml
kubectl get configmap,ds,deployment,hpa,ingress,job,pod,replicaset,role,rolebinding,secret,service,serviceaccount -n kubernetes-dashboard -o=yaml > ${cluster_name}-dashboard.yml
# Generate Kubernetes architecture diagram.
$BIN/kube-diagrams -v ${cluster_name}-dashboard.yml
# Get all Kubernetes resources in the ingress-nginx namespace.
kubectl get configmap,ds,deployment,hpa,ingress,job,pod,replicaset,role,rolebinding,secret,service,serviceaccount -n ingress-nginx -o=yaml > ${cluster_name}-ingress-nginx.yml
# Generate Kubernetes architecture diagram.
$BIN/kube-diagrams -v ${cluster_name}-ingress-nginx.yml
# Get all Kubernetes resources in the kube-system namespace.
kubectl get configmap,ds,deployment,hpa,ingress,job,pod,replicaset,role,rolebinding,secret,service,serviceaccount -n kube-system -o=yaml > ${cluster_name}-kube-system.yml
# Generate Kubernetes architecture diagram.
$BIN/kube-diagrams -v ${cluster_name}-kube-system.yml

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 558 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

File diff suppressed because it is too large Load Diff

View File

@@ -2817,9 +2817,9 @@ items:
manager: kubelet
operation: Update
subresource: status
time: "2024-12-27T19:03:37Z"
time: "2024-12-27T19:34:17Z"
name: minikube
resourceVersion: "45666"
resourceVersion: "47379"
uid: 067e4911-dfc8-4e14-aa1a-bff67e325624
spec:
podCIDR: 10.244.0.0/24
@@ -2844,25 +2844,25 @@ items:
memory: 8135160Ki
pods: "110"
conditions:
- lastHeartbeatTime: "2024-12-27T19:03:37Z"
- lastHeartbeatTime: "2024-12-27T19:34:17Z"
lastTransitionTime: "2024-12-27T17:53:20Z"
message: kubelet has sufficient memory available
reason: KubeletHasSufficientMemory
status: "False"
type: MemoryPressure
- lastHeartbeatTime: "2024-12-27T19:03:37Z"
- lastHeartbeatTime: "2024-12-27T19:34:17Z"
lastTransitionTime: "2024-12-27T17:53:20Z"
message: kubelet has no disk pressure
reason: KubeletHasNoDiskPressure
status: "False"
type: DiskPressure
- lastHeartbeatTime: "2024-12-27T19:03:37Z"
- lastHeartbeatTime: "2024-12-27T19:34:17Z"
lastTransitionTime: "2024-12-27T17:53:20Z"
message: kubelet has sufficient PID available
reason: KubeletHasSufficientPID
status: "False"
type: PIDPressure
- lastHeartbeatTime: "2024-12-27T19:03:37Z"
- lastHeartbeatTime: "2024-12-27T19:34:17Z"
lastTransitionTime: "2024-12-27T17:53:30Z"
message: kubelet is posting ready status
reason: KubeletReady

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

After

Width:  |  Height:  |  Size: 2.0 MiB

View File

@@ -9740,9 +9740,9 @@ items:
manager: kubelet
operation: Update
subresource: status
time: "2024-12-27T19:03:37Z"
time: "2024-12-27T19:34:17Z"
name: minikube
resourceVersion: "45666"
resourceVersion: "47379"
uid: 067e4911-dfc8-4e14-aa1a-bff67e325624
spec:
podCIDR: 10.244.0.0/24
@@ -9767,25 +9767,25 @@ items:
memory: 8135160Ki
pods: "110"
conditions:
- lastHeartbeatTime: "2024-12-27T19:03:37Z"
- lastHeartbeatTime: "2024-12-27T19:34:17Z"
lastTransitionTime: "2024-12-27T17:53:20Z"
message: kubelet has sufficient memory available
reason: KubeletHasSufficientMemory
status: "False"
type: MemoryPressure
- lastHeartbeatTime: "2024-12-27T19:03:37Z"
- lastHeartbeatTime: "2024-12-27T19:34:17Z"
lastTransitionTime: "2024-12-27T17:53:20Z"
message: kubelet has no disk pressure
reason: KubeletHasNoDiskPressure
status: "False"
type: DiskPressure
- lastHeartbeatTime: "2024-12-27T19:03:37Z"
- lastHeartbeatTime: "2024-12-27T19:34:17Z"
lastTransitionTime: "2024-12-27T17:53:20Z"
message: kubelet has sufficient PID available
reason: KubeletHasSufficientPID
status: "False"
type: PIDPressure
- lastHeartbeatTime: "2024-12-27T19:03:37Z"
- lastHeartbeatTime: "2024-12-27T19:34:17Z"
lastTransitionTime: "2024-12-27T17:53:30Z"
message: kubelet is posting ready status
reason: KubeletReady