| 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> |