{ "scene": "pod", "source": "assets/raw/course-III-pod.jpeg", "parts": [ { "name": "shell-l", "title": "The jacket", "blurb": "A pod is not a container - it is a jacket around one or more, sharing a network namespace.", "z": 0, "points": [ [ 18.93, 25.51 ], [ 19.37, 18.71 ], [ 21.26, 12.64 ], [ 23.35, 9.44 ], [ 26.72, 7.62 ], [ 29.25, 7.88 ], [ 30.81, 8.66 ], [ 35.8, 12.3 ], [ 41.24, 18.18 ], [ 44.01, 23.92 ], [ 44.59, 27.52 ], [ 44.37, 30.68 ], [ 43.06, 38.42 ], [ 40.88, 44.99 ], [ 38.28, 47.72 ], [ 35.52, 47.72 ], [ 33.35, 46.29 ], [ 23.22, 38.21 ], [ 21.98, 36.33 ], [ 20.53, 33.23 ], [ 19.29, 28.97 ] ], "dx": 9.1, "dy": 10.23 }, { "name": "shell-r", "title": "One IP, shared fate", "blurb": "One address for everything inside; localhost between friends; volumes shared.", "z": 0, "points": [ [ 59.05, 29.58 ], [ 59.19, 24.61 ], [ 59.63, 22.68 ], [ 61.88, 17.94 ], [ 65.68, 13.21 ], [ 72.69, 7.88 ], [ 75.23, 7.88 ], [ 77.33, 8.92 ], [ 79.4, 11.13 ], [ 81.21, 15.58 ], [ 82.38, 22.19 ], [ 82.16, 27.39 ], [ 81.29, 31.03 ], [ 78.82, 36.3 ], [ 71.07, 43.69 ], [ 67.61, 45.9 ], [ 65.55, 45.64 ], [ 63.93, 44.34 ], [ 61.52, 40.91 ], [ 60.43, 37.52 ], [ 59.41, 32.83 ] ], "dx": -10.39, "dy": 10.66 }, { "name": "core", "title": "The app container", "blurb": "Your process - the reason the jacket exists.", "z": 0, "points": [ [ 57.3, 73.63 ], [ 41.34, 73.63 ], [ 43.35, 28.47 ], [ 43.49, 27.05 ], [ 44.15, 24.92 ], [ 44.58, 23.87 ], [ 44.88, 23.3 ], [ 46.37, 21.68 ], [ 47.62, 21.29 ], [ 48.23, 21.16 ], [ 51.06, 21.16 ], [ 51.75, 21.29 ], [ 52.25, 21.42 ], [ 52.66, 21.55 ], [ 54.83, 22.47 ], [ 55.12, 23.0 ], [ 55.34, 23.46 ], [ 55.78, 24.65 ], [ 56.21, 26.08 ], [ 56.29, 26.43 ], [ 56.51, 27.76 ], [ 56.58, 28.58 ] ], "dx": 0.0, "dy": 0.0 }, { "name": "sidecar", "title": "The sidecar", "blurb": "Rides along: proxy, logs, reload. Same jacket, its own container.", "z": 0, "points": [ [ 55.18, 67.64 ], [ 54.79, 39.65 ], [ 55.04, 38.87 ], [ 56.01, 37.56 ], [ 56.19, 37.43 ], [ 56.82, 37.04 ], [ 57.87, 36.52 ], [ 58.3, 36.39 ], [ 59.84, 36.39 ], [ 60.27, 36.52 ], [ 60.87, 36.78 ], [ 61.66, 37.17 ], [ 62.01, 37.43 ], [ 62.76, 38.48 ], [ 63.17, 39.26 ], [ 63.28, 39.52 ], [ 63.4, 39.91 ], [ 63.14, 65.69 ], [ 63.03, 66.47 ], [ 62.75, 67.64 ], [ 62.66, 67.91 ], [ 61.89, 69.08 ], [ 61.06, 70.12 ], [ 60.73, 70.25 ], [ 56.87, 69.08 ], [ 55.79, 68.69 ], [ 55.27, 67.91 ] ], "dx": -4.63, "dy": -2.57 }, { "name": "gate", "title": "Regular init container", "blurb": "Runs in order and completes before the app containers start. A native sidecar is the restartable exception.", "z": 0, "points": [ [ 40.44, 69.49 ], [ 58.32, 70.86 ], [ 58.76, 71.32 ], [ 59.27, 72.35 ], [ 59.27, 76.92 ], [ 58.83, 77.77 ], [ 48.69, 91.34 ], [ 48.43, 91.47 ], [ 47.99, 91.47 ], [ 46.94, 91.34 ], [ 39.57, 84.6 ], [ 36.74, 80.73 ], [ 36.3, 79.82 ], [ 36.3, 79.22 ], [ 36.95, 75.6 ], [ 37.03, 75.3 ], [ 37.24, 74.68 ], [ 37.68, 73.72 ], [ 39.28, 71.25 ] ], "dx": 0.72, "dy": -7.57 }, { "name": "discs", "title": "Volumes", "blurb": "Declared once on the pod - but each container mounts the ones it needs. Sharing storage is opt-in.", "z": 0, "points": [ [ 73.95, 71.5 ], [ 73.87, 84.4 ], [ 73.66, 85.31 ], [ 71.92, 87.83 ], [ 71.05, 88.35 ], [ 70.13, 88.74 ], [ 68.95, 89.0 ], [ 66.53, 88.87 ], [ 64.78, 88.22 ], [ 63.9, 87.7 ], [ 62.39, 85.14 ], [ 62.1, 83.43 ], [ 62.17, 71.12 ], [ 62.39, 70.24 ], [ 63.88, 67.64 ], [ 64.96, 66.99 ], [ 66.16, 66.6 ], [ 69.32, 66.47 ], [ 70.32, 66.73 ], [ 71.64, 67.38 ], [ 72.35, 67.9 ], [ 73.66, 70.07 ], [ 73.87, 70.98 ] ], "dx": -9.06, "dy": -14.92 } ] }