1
1
from pathlib import Path
2
2
3
3
from diagrams import Diagram , Cluster , Edge , Node
4
- from diagrams .aws .compute import Compute
5
- from diagrams .aws .iot import InternetOfThings
6
4
from diagrams .digitalocean .storage import Volume
7
- from diagrams .generic .os import Android
8
5
from diagrams .k8s .compute import Pod , Job , ReplicaSet , StatefulSet
9
6
from diagrams .k8s .controlplane import ControllerManager , Scheduler , APIServer , Kubelet , KubeProxy
10
7
from diagrams .k8s .infra import ETCD
@@ -17,7 +14,7 @@ class K8sExample:
17
14
def __init__ (self ):
18
15
self .graph_attr = {
19
16
"layout" : "neato" ,
20
- "compound" : "true" , # make edge can link cluster border
17
+ "compound" : "true" , # make edge can link cluster border
21
18
"center" : "true"
22
19
}
23
20
self .path = Path (__file__ ).parent .parent .joinpath ("assets" )
@@ -40,9 +37,9 @@ def example1(self):
40
37
api_server = APIServer ("APIServer" )
41
38
42
39
api_server >> etcd
43
- api_server >> Edge (style = "dashed" )>> cm1
44
- api_server >> Edge (reverse = True )>> scheduler
45
- api_server >> Edge (reverse = True )>> cm2
40
+ api_server >> Edge (style = "dashed" ) >> cm1
41
+ api_server >> Edge (reverse = True ) >> scheduler
42
+ api_server >> Edge (reverse = True ) >> cm2
46
43
47
44
with Cluster ('Data Plane' ):
48
45
@@ -51,7 +48,7 @@ def example1(self):
51
48
kubeproxy1 = KubeProxy ("KubeProxy " )
52
49
53
50
with Cluster ("Container Runtime" ,):
54
- pods1 = [Pod ("pod" ),Pod ("pod" ),Pod ("pod" )]
51
+ pods1 = [Pod ("pod" ), Pod ("pod" ), Pod ("pod" )]
55
52
56
53
with Cluster ("K8s Objects" ,):
57
54
objects1 = [
@@ -68,7 +65,7 @@ def example1(self):
68
65
kubeproxy2 = KubeProxy ("KubeProxy " )
69
66
70
67
with Cluster ("Container Runtime" ,):
71
- pods2 = [Pod ("pod" ),Pod ("pod" ),Pod ("pod" )]
68
+ pods2 = [Pod ("pod" ), Pod ("pod" ), Pod ("pod" )]
72
69
73
70
with Cluster ("K8s Objects" ,):
74
71
objects2 = [
@@ -80,18 +77,18 @@ def example1(self):
80
77
StorageClass ("StorageClass " )
81
78
]
82
79
83
- api_server >> kubelet1 >> Edge (htail = "cluster_Container Runtime" ) >> pods1 [0 ]
80
+ api_server >> kubelet1 >> Edge (
81
+ htail = "cluster_Container Runtime" ) >> pods1 [0 ]
84
82
api_server >> kubeproxy1
85
83
86
- api_server >> kubelet2 >> Edge (htail = "cluster_Container Runtime" ) >> pods2 [0 ]
84
+ api_server >> kubelet2 >> Edge (
85
+ htail = "cluster_Container Runtime" ) >> pods2 [0 ]
87
86
api_server >> kubeproxy2
88
87
89
- kubeproxy1 >> Edge (style = "dashed" ,reverse = True )>> kubeproxy2
90
- Node ("User" )>> api_server
88
+ kubeproxy1 >> Edge (style = "dashed" , reverse = True ) >> kubeproxy2
89
+ Node ("User" ) >> api_server
91
90
92
91
93
92
if __name__ == '__main__' :
94
93
k8s = K8sExample ()
95
94
k8s .example1 ()
96
-
97
-
0 commit comments