返回 ppt-master
05_pod_lifecycle.svg
1 <?xml version='1.0' encoding='UTF-8'?>
2 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
3 <defs>
4 <pattern id="bpGridMajor" x="0" y="0" width="40" height="40" patternUnits="userSpaceOnUse" data-pptx-pattern="lgGrid">
5 <rect width="40" height="40" fill="#0E2A47" />
6 <path d="M 40 0 L 0 0 0 40" fill="none" stroke="#2D4A6B" stroke-width="0.6" />
7 </pattern>
8 <pattern id="bpGridMinor" x="0" y="0" width="8" height="8" patternUnits="userSpaceOnUse" data-pptx-pattern="smGrid">
9 <rect width="8" height="8" fill="#0E2A47" />
10 <path d="M 8 0 L 0 0 0 8" fill="none" stroke="#1A3A5C" stroke-width="0.3" />
11 </pattern>
12 <marker id="arrowCyan" markerWidth="10" markerHeight="10" refX="9" refY="5" orient="auto">
13 <path d="M 0,0 L 10,5 L 0,10 Z" fill="#5BA3E0" />
14 </marker>
15 <marker id="arrowAmber" markerWidth="10" markerHeight="10" refX="9" refY="5" orient="auto">
16 <path d="M 0,0 L 10,5 L 0,10 Z" fill="#FFB627" />
17 </marker>
18 <marker id="arrowWarn" markerWidth="10" markerHeight="10" refX="9" refY="5" orient="auto">
19 <path d="M 0,0 L 10,5 L 0,10 Z" fill="#FF6B6B" />
20 </marker>
21 </defs>
22
23 <g id="bg">
24 <rect width="1280" height="720" fill="#0E2A47" />
25 <rect width="1280" height="720" fill="url(#bpGridMinor)" opacity="0.4" />
26 <rect width="1280" height="720" fill="url(#bpGridMajor)" opacity="0.6" />
27 </g>
28
29 <g id="header">
30 <text x="60" y="42" font-family="Arial, 'Microsoft YaHei', sans-serif" font-size="30" font-weight="bold" fill="#F0F4F8">Pod Lifecycle: One Schedule, Many States</text>
31 <text x="1220" y="42" font-family="Consolas, 'Courier New', monospace" font-size="11" fill="#A0B8D0" text-anchor="end">P05 / 10</text>
32 <line x1="60" y1="58" x2="1220" y2="58" stroke="#2D4A6B" stroke-width="0.5" />
33 <text x="60" y="78" font-family="Arial, 'Microsoft YaHei', sans-serif" font-size="13" fill="#6B85A3">A POD IS SCHEDULED ONCE · FAILED PODS ARE REPLACED, NOT RESCHEDULED</text>
34 </g>
35
36 <g id="phase-track">
37 <text x="100" y="200" font-family="Consolas, 'Courier New', monospace" font-size="11" fill="#6B85A3">PHASE TRACK</text>
38 <line x1="60" y1="215" x2="1220" y2="215" stroke="#2D4A6B" stroke-width="0.5" stroke-dasharray="2 4" />
39
40 <g id="phase-pending">
41 <rect x="100" y="240" width="180" height="100" fill="#0E2A47" stroke="#5BA3E0" stroke-width="1.5" />
42 <rect x="100" y="240" width="180" height="22" fill="#5BA3E0" />
43 <text x="190" y="257" font-family="Consolas, 'Courier New', monospace" font-size="11" fill="#0E2A47" text-anchor="middle" font-weight="bold">PHASE 01</text>
44 <text x="190" y="287" font-family="Consolas, 'Courier New', monospace" font-size="16" fill="#F0F4F8" text-anchor="middle" font-weight="bold">Pending</text>
45 <text x="190" y="308" font-family="Arial, 'Microsoft YaHei', sans-serif" font-size="11" fill="#A0B8D0" text-anchor="middle">scheduling</text>
46 <text x="190" y="324" font-family="Arial, 'Microsoft YaHei', sans-serif" font-size="11" fill="#A0B8D0" text-anchor="middle">+ image pull</text>
47 </g>
48
49 <line x1="280" y1="290" x2="370" y2="290" stroke="#5BA3E0" stroke-width="2" marker-end="url(#arrowCyan)" />
50 <text x="325" y="278" font-family="Consolas, 'Courier New', monospace" font-size="9" fill="#A0B8D0" text-anchor="middle">bind+pull</text>
51
52 <g id="phase-running">
53 <rect x="380" y="240" width="200" height="100" fill="#0E2A47" stroke="#FFB627" stroke-width="2" />
54 <rect x="380" y="240" width="200" height="22" fill="#FFB627" />
55 <text x="480" y="257" font-family="Consolas, 'Courier New', monospace" font-size="11" fill="#0E2A47" text-anchor="middle" font-weight="bold">PHASE 02 · CURRENT</text>
56 <text x="480" y="287" font-family="Consolas, 'Courier New', monospace" font-size="16" fill="#FFB627" text-anchor="middle" font-weight="bold">Running</text>
57 <text x="480" y="308" font-family="Arial, 'Microsoft YaHei', sans-serif" font-size="11" fill="#F0F4F8" text-anchor="middle">≥1 container live</text>
58 <text x="480" y="324" font-family="Arial, 'Microsoft YaHei', sans-serif" font-size="11" fill="#A0B8D0" text-anchor="middle">probes active</text>
59 </g>
60
61 <line x1="580" y1="270" x2="700" y2="270" stroke="#5BA3E0" stroke-width="2" marker-end="url(#arrowCyan)" />
62 <line x1="580" y1="310" x2="700" y2="310" stroke="#5BA3E0" stroke-width="2" marker-end="url(#arrowCyan)" />
63 <text x="640" y="262" font-family="Consolas, 'Courier New', monospace" font-size="9" fill="#7FD99F" text-anchor="middle">exit 0</text>
64 <text x="640" y="328" font-family="Consolas, 'Courier New', monospace" font-size="9" fill="#FF6B6B" text-anchor="middle">exit ≠ 0</text>
65
66 <g id="phase-succeeded">
67 <rect x="710" y="220" width="180" height="60" fill="#0E2A47" stroke="#7FD99F" stroke-width="1.5" />
68 <rect x="710" y="220" width="180" height="20" fill="#7FD99F" />
69 <text x="800" y="234" font-family="Consolas, 'Courier New', monospace" font-size="10" fill="#0E2A47" text-anchor="middle" font-weight="bold">TERMINAL ✓</text>
70 <text x="800" y="262" font-family="Consolas, 'Courier New', monospace" font-size="15" fill="#7FD99F" text-anchor="middle" font-weight="bold">Succeeded</text>
71 </g>
72
73 <g id="phase-failed">
74 <rect x="710" y="300" width="180" height="60" fill="#0E2A47" stroke="#FF6B6B" stroke-width="1.5" />
75 <rect x="710" y="300" width="180" height="20" fill="#FF6B6B" />
76 <text x="800" y="314" font-family="Consolas, 'Courier New', monospace" font-size="10" fill="#0E2A47" text-anchor="middle" font-weight="bold">TERMINAL ✗</text>
77 <text x="800" y="342" font-family="Consolas, 'Courier New', monospace" font-size="15" fill="#FF6B6B" text-anchor="middle" font-weight="bold">Failed</text>
78 </g>
79
80 <line x1="480" y1="340" x2="480" y2="395" stroke="#FF6B6B" stroke-width="1.5" stroke-dasharray="4 3" marker-end="url(#arrowWarn)" />
81
82 <g id="phase-unknown">
83 <rect x="950" y="240" width="220" height="100" fill="#0E2A47" stroke="#3E7AB8" stroke-width="1.3" stroke-dasharray="5 3" />
84 <rect x="950" y="240" width="220" height="22" fill="#3E7AB8" />
85 <text x="1060" y="257" font-family="Consolas, 'Courier New', monospace" font-size="11" fill="#0E2A47" text-anchor="middle" font-weight="bold">BRANCH · NODE UNREACHABLE</text>
86 <text x="1060" y="287" font-family="Consolas, 'Courier New', monospace" font-size="15" fill="#A0B8D0" text-anchor="middle" font-weight="bold">Unknown</text>
87 <text x="1060" y="308" font-family="Arial, 'Microsoft YaHei', sans-serif" font-size="11" fill="#A0B8D0" text-anchor="middle">apiserver lost contact</text>
88 <text x="1060" y="324" font-family="Arial, 'Microsoft YaHei', sans-serif" font-size="11" fill="#A0B8D0" text-anchor="middle">with the node</text>
89 </g>
90
91 <path d="M 580,240 Q 765,175 950,240" fill="none" stroke="#3E7AB8" stroke-width="1.5" stroke-dasharray="3 4" marker-end="url(#arrowCyan)"/>
92 </g>
93
94 <g id="container-states">
95 <text x="100" y="425" font-family="Consolas, 'Courier New', monospace" font-size="11" fill="#6B85A3">CONTAINER-STATE TRACK</text>
96 <line x1="60" y1="440" x2="1220" y2="440" stroke="#2D4A6B" stroke-width="0.5" stroke-dasharray="2 4" />
97
98 <g id="state-waiting">
99 <rect x="100" y="460" width="280" height="70" fill="#0E2A47" stroke="#5BA3E0" stroke-width="1.2" />
100 <line x1="100" y1="490" x2="380" y2="490" stroke="#5BA3E0" stroke-width="0.6" />
101 <text x="116" y="482" font-family="Consolas, 'Courier New', monospace" font-size="13" fill="#5BA3E0" font-weight="bold">Waiting</text>
102 <text x="116" y="510" font-family="Arial, 'Microsoft YaHei', sans-serif" font-size="11" fill="#A0B8D0">pulling image · applying secrets</text>
103 <text x="116" y="524" font-family="Arial, 'Microsoft YaHei', sans-serif" font-size="11" fill="#A0B8D0">resolving dependencies</text>
104 </g>
105
106 <g id="state-running">
107 <rect x="400" y="460" width="280" height="70" fill="#0E2A47" stroke="#FFB627" stroke-width="1.5" />
108 <line x1="400" y1="490" x2="680" y2="490" stroke="#FFB627" stroke-width="0.6" />
109 <text x="416" y="482" font-family="Consolas, 'Courier New', monospace" font-size="13" fill="#FFB627" font-weight="bold">Running</text>
110 <text x="416" y="510" font-family="Arial, 'Microsoft YaHei', sans-serif" font-size="11" fill="#F0F4F8">executing successfully</text>
111 <text x="416" y="524" font-family="Consolas, 'Courier New', monospace" font-size="11" fill="#A0B8D0">.startedAt set</text>
112 </g>
113
114 <g id="state-terminated">
115 <rect x="700" y="460" width="280" height="70" fill="#0E2A47" stroke="#3E7AB8" stroke-width="1.2" />
116 <line x1="700" y1="490" x2="980" y2="490" stroke="#3E7AB8" stroke-width="0.6" />
117 <text x="716" y="482" font-family="Consolas, 'Courier New', monospace" font-size="13" fill="#A0B8D0" font-weight="bold">Terminated</text>
118 <text x="716" y="510" font-family="Arial, 'Microsoft YaHei', sans-serif" font-size="11" fill="#A0B8D0">exit status · signal recorded</text>
119 <text x="716" y="524" font-family="Consolas, 'Courier New', monospace" font-size="11" fill="#A0B8D0">.startedAt · .finishedAt</text>
120 </g>
121
122 <line x1="380" y1="495" x2="400" y2="495" stroke="#5BA3E0" stroke-width="1.5" marker-end="url(#arrowCyan)" />
123 <line x1="680" y1="495" x2="700" y2="495" stroke="#5BA3E0" stroke-width="1.5" marker-end="url(#arrowCyan)" />
124
125 <g id="restart-loop">
126 <rect x="1000" y="460" width="180" height="70" fill="#0E2A47" stroke="#FFB627" stroke-width="1.2" stroke-dasharray="3 3" />
127 <text x="1090" y="482" font-family="Consolas, 'Courier New', monospace" font-size="11" fill="#FFB627" text-anchor="middle" font-weight="bold">restartPolicy</text>
128 <text x="1090" y="500" font-family="Consolas, 'Courier New', monospace" font-size="10" fill="#A0B8D0" text-anchor="middle">Always · OnFailure</text>
129 <text x="1090" y="514" font-family="Consolas, 'Courier New', monospace" font-size="10" fill="#A0B8D0" text-anchor="middle">Never</text>
130 <text x="1090" y="528" font-family="Arial, 'Microsoft YaHei', sans-serif" font-size="10" fill="#FFB627" text-anchor="middle">backoff 100ms → 5min</text>
131 </g>
132 <path d="M 1090,460 Q 1090,415 850,415 Q 700,415 700,455" fill="none" stroke="#FFB627" stroke-width="1" stroke-dasharray="3 3" marker-end="url(#arrowAmber)"/>
133 </g>
134
135 <g id="probes-strip">
136 <text x="100" y="585" font-family="Consolas, 'Courier New', monospace" font-size="11" fill="#6B85A3">PROBE GATES</text>
137 <line x1="60" y1="600" x2="1220" y2="600" stroke="#2D4A6B" stroke-width="0.5" stroke-dasharray="2 4" />
138
139 <rect x="100" y="615" width="350" height="40" fill="none" stroke="#5BA3E0" stroke-width="1" />
140 <text x="115" y="640" font-family="Consolas, 'Courier New', monospace" font-size="12" fill="#5BA3E0" font-weight="bold">startupProbe</text>
141 <text x="225" y="640" font-family="Arial, 'Microsoft YaHei', sans-serif" font-size="11" fill="#A0B8D0">gates liveness + readiness until passing</text>
142
143 <rect x="465" y="615" width="350" height="40" fill="none" stroke="#FFB627" stroke-width="1" />
144 <text x="480" y="640" font-family="Consolas, 'Courier New', monospace" font-size="12" fill="#FFB627" font-weight="bold">livenessProbe</text>
145 <text x="590" y="640" font-family="Arial, 'Microsoft YaHei', sans-serif" font-size="11" fill="#F0F4F8">fail → kubelet restarts container</text>
146
147 <rect x="830" y="615" width="350" height="40" fill="none" stroke="#7FD99F" stroke-width="1" />
148 <text x="845" y="640" font-family="Consolas, 'Courier New', monospace" font-size="12" fill="#7FD99F" font-weight="bold">readinessProbe</text>
149 <text x="965" y="640" font-family="Arial, 'Microsoft YaHei', sans-serif" font-size="11" fill="#F0F4F8">fail → drop from Service endpoints</text>
150 </g>
151
152 <g id="footer">
153 <line x1="60" y1="680" x2="1220" y2="680" stroke="#2D4A6B" stroke-width="0.5" />
154 <text x="60" y="700" font-family="Consolas, 'Courier New', monospace" font-size="11" fill="#6B85A3">K8S-ARCH-2026 · DRAWING 05 OF 10 · POD LIFECYCLE</text>
155 <text x="1220" y="700" font-family="Consolas, 'Courier New', monospace" font-size="11" fill="#6B85A3" text-anchor="end">SHEET 05 OF 10</text>
156 </g>
157 </svg>
157 lines Plain Text