[{"data":1,"prerenderedAt":728},["ShallowReactive",2],{"i-lucide:chevron-down":3,"i-lucide:search":8,"i-lucide:sun":10,"i-lucide:moon":12,"i-lucide:arrow-right":14,"i-lucide:menu":16,"i-lucide:panel-left":18,"i-lucide:mail":20,"i-simple-icons:x":22,"i-simple-icons:linkedin":24,"i-simple-icons:dribbble":27,"i-simple-icons:github":29,"i-lucide:arrow-up-right":31,"sidebar-course-\u002Flearn\u002Fen\u002Fcourses\u002Fpods":33,"learn-topic-\u002Flearn\u002Fen\u002Fcourses\u002Fpods":72,"prereq-":84,"sidebar-quiz-\u002Flearn\u002Fen\u002Fcourses\u002Fpods":60,"lessons-\u002Flearn\u002Fen\u002Fcourses\u002Fpods":85,"i-lucide:book-marked":698,"i-lucide:blocks":700,"i-lucide:printer":702,"i-lucide:graduation-cap":704,"i-lucide:notebook-pen":706,"learn-quiz-\u002Flearn\u002Fen\u002Fcourses\u002Fpods":60,"i-lucide:file-down":708,"i-lucide:chevron-right":710,"i-simple-icons:kubernetes":712,"i-lucide:clock":714,"i-lucide:lock-open":716,"i-lucide:calendar":718,"i-lucide:link":720,"i-lucide:scroll-text":722,"i-lucide:book-open":724,"i-lucide:download":726},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,24,false,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m6 9l6 6l6-6\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":9},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"m21 21l-4.34-4.34\"\u002F>\u003Ccircle cx=\"11\" cy=\"11\" r=\"8\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":11},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"4\"\u002F>\u003Cpath d=\"M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":13},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":15},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 12h14m-7-7l7 7l-7 7\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":17},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":19},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\"\u002F>\u003Cpath d=\"M9 3v18\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":21},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"m22 7l-8.991 5.727a2 2 0 0 1-2.009 0L2 7\"\u002F>\u003Crect width=\"20\" height=\"16\" x=\"2\" y=\"4\" rx=\"2\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":23},"\u003Cpath fill=\"currentColor\" d=\"M14.234 10.162L22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299l-.929-1.329L3.076 1.56h3.182l5.965 8.532l.929 1.329l7.754 11.09h-3.182z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":25,"hidden":26},"\u003Cpath fill=\"currentColor\" d=\"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037c-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85c3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.06 2.06 0 0 1-2.063-2.065a2.064 2.064 0 1 1 2.063 2.065m1.782 13.019H3.555V9h3.564zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0z\"\u002F>",true,{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":28},"\u003Cpath fill=\"currentColor\" d=\"M12 24C5.385 24 0 18.615 0 12S5.385 0 12 0s12 5.385 12 12s-5.385 12-12 12m10.12-10.358c-.35-.11-3.17-.953-6.384-.438c1.34 3.684 1.887 6.684 1.992 7.308a10.28 10.28 0 0 0 4.395-6.87zm-6.115 7.808c-.153-.9-.75-4.032-2.19-7.77l-.066.02c-5.79 2.015-7.86 6.025-8.04 6.4a10.16 10.16 0 0 0 6.29 2.166c1.42 0 2.77-.29 4-.814zm-11.62-2.58c.232-.4 3.045-5.055 8.332-6.765q.202-.067.405-.12q-.392-.879-.832-1.74C7.17 11.775 2.206 11.71 1.756 11.7l-.004.312c0 2.633.998 5.037 2.634 6.855zm-2.42-8.955c.46.008 4.683.026 9.477-1.248a66 66 0 0 0-3.8-5.928a10.28 10.28 0 0 0-5.676 7.17zM9.6 2.052c.282.38 2.145 2.914 3.822 6c3.645-1.365 5.19-3.44 5.373-3.702A10.2 10.2 0 0 0 12 1.764c-.825 0-1.63.1-2.4.285zm10.335 3.483c-.218.29-1.935 2.493-5.724 4.04c.24.49.47.985.68 1.486c.08.18.15.36.22.53c3.41-.43 6.8.26 7.14.33c-.02-2.42-.88-4.64-2.31-6.38z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":30},"\u003Cpath fill=\"currentColor\" d=\"M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":32},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M7 7h10v10M7 17L17 7\"\u002F>",{"id":34,"title":35,"access":36,"body":37,"description":44,"draft":6,"estimatedMinutes":45,"extension":46,"featured":6,"icon":47,"lang":48,"level":49,"meta":50,"navigation":26,"order":51,"path":52,"prerequisites":53,"resources":54,"seo":59,"sku":60,"stem":61,"subjects":62,"summary":64,"tags":65,"updated":70,"__hash__":71},"courses\u002Flearn\u002Fen\u002Fcourses\u002Fpods\u002Findex.md","Pods and workloads","free",{"type":38,"value":39,"toc":40},"minimark",[],{"title":41,"searchDepth":42,"depth":42,"links":43},"",3,[],"The smallest deployable unit, and the controllers that manage sets of them.",25,"md","lucide:blocks","en","beginner",{},1,"\u002Flearn\u002Fen\u002Fcourses\u002Fpods",[],[55],{"label":56,"file":57,"access":36,"size":58},"Workload controller decision tree","k8s-workload-controllers.pdf","120 KB",{"title":35,"description":44},null,"learn\u002Fen\u002Fcourses\u002Fpods\u002Findex",[63],"kubernetes","A pod is one or more containers sharing a network namespace and a lifecycle.\nYou rarely create one directly — Deployments, StatefulSets, DaemonSets and Jobs\neach manage pods with different guarantees about identity, ordering and\nreplacement. Choosing the wrong controller is the root of a surprising number\nof production problems, because the guarantee you assumed was never offered.\n",[66,67,68,69],"pods","deployments","statefulsets","workloads","2026-08-04","m76OXiUC-jLIAp9S_k3i7kuptZfYW5jrdGa40vEITF8",{"id":34,"title":35,"access":36,"body":73,"description":44,"draft":6,"estimatedMinutes":45,"extension":46,"featured":6,"icon":47,"lang":48,"level":49,"meta":77,"navigation":26,"order":51,"path":52,"prerequisites":78,"resources":79,"seo":81,"sku":60,"stem":61,"subjects":82,"summary":64,"tags":83,"updated":70,"__hash__":71},{"type":38,"value":74,"toc":75},[],{"title":41,"searchDepth":42,"depth":42,"links":76},[],{},[],[80],{"label":56,"file":57,"access":36,"size":58},{"title":35,"description":44},[63],[66,67,68,69],[],[86,406],{"id":87,"title":88,"access":36,"body":89,"description":400,"extension":46,"lang":48,"meta":401,"navigation":26,"order":51,"partial":6,"path":402,"seo":403,"stem":404,"__hash__":405},"lessons\u002Flearn\u002Fen\u002Fcourses\u002Fpods\u002F01.the-pod.md","The pod",{"type":38,"value":90,"toc":395},[91,95,99,102,107,115,274,281,287,291,294,357,360,364,384,391],[92,93,88],"h1",{"id":94},"the-pod",[96,97,98],"p",{},"Kubernetes does not schedule containers. It schedules pods.",[96,100,101],{},"A pod is a group of containers that share a network namespace, share IPC, and can\nshare volumes. They are always placed on the same node, always started together,\nand always terminated together.",[103,104,106],"h2",{"id":105},"what-sharing-a-network-namespace-means","What sharing a network namespace means",[96,108,109,110,114],{},"Every container in a pod sees the same IP address and the same port space. They\nreach each other over ",[111,112,113],"code",{},"localhost",", and they cannot both bind the same port.",[116,117,121],"pre",{"className":118,"code":119,"language":120,"meta":41,"style":41},"language-yaml shiki shiki-themes github-dark-dimmed github-dark-dimmed","apiVersion: v1\nkind: Pod\nmetadata:\n  name: web\nspec:\n  containers:\n    - name: app\n      image: myapp:1.4\n      ports:\n        - containerPort: 8080\n    - name: metrics-proxy\n      image: proxy:2.0\n      ports:\n        - containerPort: 9090\n","yaml",[111,122,123,139,150,158,169,177,185,199,210,218,233,245,255,262],{"__ignoreMap":41},[124,125,127,131,135],"span",{"class":126,"line":51},"line",[124,128,130],{"class":129},"sza-u","apiVersion",[124,132,134],{"class":133},"sM9_K",": ",[124,136,138],{"class":137},"szYpP","v1\n",[124,140,142,145,147],{"class":126,"line":141},2,[124,143,144],{"class":129},"kind",[124,146,134],{"class":133},[124,148,149],{"class":137},"Pod\n",[124,151,152,155],{"class":126,"line":42},[124,153,154],{"class":129},"metadata",[124,156,157],{"class":133},":\n",[124,159,161,164,166],{"class":126,"line":160},4,[124,162,163],{"class":129},"  name",[124,165,134],{"class":133},[124,167,168],{"class":137},"web\n",[124,170,172,175],{"class":126,"line":171},5,[124,173,174],{"class":129},"spec",[124,176,157],{"class":133},[124,178,180,183],{"class":126,"line":179},6,[124,181,182],{"class":129},"  containers",[124,184,157],{"class":133},[124,186,188,191,194,196],{"class":126,"line":187},7,[124,189,190],{"class":133},"    - ",[124,192,193],{"class":129},"name",[124,195,134],{"class":133},[124,197,198],{"class":137},"app\n",[124,200,202,205,207],{"class":126,"line":201},8,[124,203,204],{"class":129},"      image",[124,206,134],{"class":133},[124,208,209],{"class":137},"myapp:1.4\n",[124,211,213,216],{"class":126,"line":212},9,[124,214,215],{"class":129},"      ports",[124,217,157],{"class":133},[124,219,221,224,227,229],{"class":126,"line":220},10,[124,222,223],{"class":133},"        - ",[124,225,226],{"class":129},"containerPort",[124,228,134],{"class":133},[124,230,232],{"class":231},"sQdni","8080\n",[124,234,236,238,240,242],{"class":126,"line":235},11,[124,237,190],{"class":133},[124,239,193],{"class":129},[124,241,134],{"class":133},[124,243,244],{"class":137},"metrics-proxy\n",[124,246,248,250,252],{"class":126,"line":247},12,[124,249,204],{"class":129},[124,251,134],{"class":133},[124,253,254],{"class":137},"proxy:2.0\n",[124,256,258,260],{"class":126,"line":257},13,[124,259,215],{"class":129},[124,261,157],{"class":133},[124,263,265,267,269,271],{"class":126,"line":264},14,[124,266,223],{"class":133},[124,268,226],{"class":129},[124,270,134],{"class":133},[124,272,273],{"class":231},"9090\n",[96,275,276,277,280],{},"The proxy scrapes ",[111,278,279],{},"http:\u002F\u002Flocalhost:8080"," — no service discovery, no DNS, no\nnetwork hop. This is the sidecar pattern, and the shared namespace is the whole\nreason it works.",[282,283,284],"note",{},[96,285,286],{},"Two containers in one pod is a design decision, not a packaging convenience. The\nright question is whether they must scale together and die together. If either\nanswer is no, they belong in separate pods.",[103,288,290],{"id":289},"init-containers","Init containers",[96,292,293],{},"Init containers run to completion, in order, before any app container starts. If\none fails, the pod restarts according to its policy and the sequence begins again.",[116,295,297],{"className":118,"code":296,"language":120,"meta":41,"style":41},"spec:\n  initContainers:\n    - name: wait-for-db\n      image: busybox:1.36\n      command: ['sh', '-c', 'until nc -z db 5432; do sleep 1; done']\n",[111,298,299,305,312,323,332],{"__ignoreMap":41},[124,300,301,303],{"class":126,"line":51},[124,302,174],{"class":129},[124,304,157],{"class":133},[124,306,307,310],{"class":126,"line":141},[124,308,309],{"class":129},"  initContainers",[124,311,157],{"class":133},[124,313,314,316,318,320],{"class":126,"line":42},[124,315,190],{"class":133},[124,317,193],{"class":129},[124,319,134],{"class":133},[124,321,322],{"class":137},"wait-for-db\n",[124,324,325,327,329],{"class":126,"line":160},[124,326,204],{"class":129},[124,328,134],{"class":133},[124,330,331],{"class":137},"busybox:1.36\n",[124,333,334,337,340,343,346,349,351,354],{"class":126,"line":171},[124,335,336],{"class":129},"      command",[124,338,339],{"class":133},": [",[124,341,342],{"class":137},"'sh'",[124,344,345],{"class":133},", ",[124,347,348],{"class":137},"'-c'",[124,350,345],{"class":133},[124,352,353],{"class":137},"'until nc -z db 5432; do sleep 1; done'",[124,355,356],{"class":133},"]\n",[96,358,359],{},"They are the correct place for migrations, waiting on a dependency, or fetching\nconfiguration — anything that must be finished before the app process begins.",[103,361,363],{"id":362},"restart-policy-is-per-pod-not-per-container","Restart policy is per pod, not per container",[96,365,366,369,370,345,373,376,377,380,381,383],{},[111,367,368],{},"restartPolicy"," applies to the pod as a whole: ",[111,371,372],{},"Always",[111,374,375],{},"OnFailure"," or ",[111,378,379],{},"Never",".\nDeployments require ",[111,382,372],{},". Jobs require one of the other two.",[96,385,386,387,390],{},"A crashing container is restarted in place by the kubelet, with exponential backoff\nup to five minutes. That backoff is what ",[111,388,389],{},"CrashLoopBackOff"," means — the pod is not\nbroken beyond repair, the kubelet is simply waiting before its next attempt.",[392,393,394],"style",{},"html pre.shiki code .sza-u, html code.shiki .sza-u{--shiki-default:#8DDB8C;--shiki-dark:#8DDB8C}html pre.shiki code .sM9_K, html code.shiki .sM9_K{--shiki-default:#ADBAC7;--shiki-dark:#ADBAC7}html pre.shiki code .szYpP, html code.shiki .szYpP{--shiki-default:#96D0FF;--shiki-dark:#96D0FF}html pre.shiki code .sQdni, html code.shiki .sQdni{--shiki-default:#6CB6FF;--shiki-dark:#6CB6FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":41,"searchDepth":42,"depth":42,"links":396},[397,398,399],{"id":105,"depth":141,"text":106},{"id":289,"depth":141,"text":290},{"id":362,"depth":141,"text":363},"Shared network and storage namespaces, and why the unit is not the container.",{},"\u002Flearn\u002Fen\u002Fcourses\u002Fpods\u002Fthe-pod",{"title":88,"description":400},"learn\u002Fen\u002Fcourses\u002Fpods\u002F01.the-pod","MxEnNnEovq7oJ35S9_DH8RQtcRph-8E1rjzvVskgg5U",{"id":407,"title":408,"access":36,"body":409,"description":692,"extension":46,"lang":48,"meta":693,"navigation":26,"order":141,"partial":6,"path":694,"seo":695,"stem":696,"__hash__":697},"lessons\u002Flearn\u002Fen\u002Fcourses\u002Fpods\u002F02.controllers.md","Choosing a controller",{"type":38,"value":410,"toc":687},[411,414,417,505,509,512,515,519,529,532,538,542,658,671,685],[92,412,408],{"id":413},"choosing-a-controller",[96,415,416],{},"Each workload controller manages pods. They differ in what they promise about\nidentity, ordering and placement.",[418,419,420,436],"table",{},[421,422,423],"thead",{},[424,425,426,430,433],"tr",{},[427,428,429],"th",{},"Controller",[427,431,432],{},"Use when",[427,434,435],{},"Guarantee",[437,438,439,453,466,479,492],"tbody",{},[424,440,441,447,450],{},[442,443,444],"td",{},[111,445,446],{},"Deployment",[442,448,449],{},"Stateless replicas",[442,451,452],{},"Interchangeable pods, rolling updates",[424,454,455,460,463],{},[442,456,457],{},[111,458,459],{},"StatefulSet",[442,461,462],{},"Stateful members",[442,464,465],{},"Stable name, stable storage, ordered rollout",[424,467,468,473,476],{},[442,469,470],{},[111,471,472],{},"DaemonSet",[442,474,475],{},"Node-level agents",[442,477,478],{},"One pod per matching node",[424,480,481,486,489],{},[442,482,483],{},[111,484,485],{},"Job",[442,487,488],{},"Run to completion",[442,490,491],{},"Retries until the success count is met",[424,493,494,499,502],{},[442,495,496],{},[111,497,498],{},"CronJob",[442,500,501],{},"Scheduled work",[442,503,504],{},"Creates Jobs on a schedule",[103,506,508],{"id":507},"deployments-give-you-no-identity","Deployments give you no identity",[96,510,511],{},"Deployment pods get random name suffixes and are replaced freely. Nothing about a\ngiven pod persists across a restart — not its name, not its storage, not its\nposition in a cluster.",[96,513,514],{},"This is exactly right for a web server and exactly wrong for a database replica.",[103,516,518],{"id":517},"statefulsets-trade-speed-for-identity","StatefulSets trade speed for identity",[96,520,521,522,345,525,528],{},"A StatefulSet gives each pod an ordinal name (",[111,523,524],{},"db-0",[111,526,527],{},"db-1","), a stable DNS entry\nvia a headless Service, and its own PersistentVolumeClaim that survives rescheduling.",[96,530,531],{},"Rollouts happen one pod at a time, in reverse ordinal order, waiting for each to\nbecome ready before continuing.",[533,534,535],"warning",{},[96,536,537],{},"That serial rollout is a feature, not a limitation — but it means a StatefulSet\nwith fifty replicas and a slow readiness probe can take an hour to roll. Budget\nfor it before choosing StatefulSet for something that did not need identity.",[103,539,541],{"id":540},"jobs-and-the-completion-count","Jobs and the completion count",[116,543,545],{"className":118,"code":544,"language":120,"meta":41,"style":41},"apiVersion: batch\u002Fv1\nkind: Job\nmetadata:\n  name: migrate\nspec:\n  backoffLimit: 3\n  template:\n    spec:\n      restartPolicy: Never\n      containers:\n        - name: migrate\n          image: myapp:1.4\n          command: ['.\u002Fmigrate']\n",[111,546,547,556,565,571,580,586,596,603,610,620,627,637,646],{"__ignoreMap":41},[124,548,549,551,553],{"class":126,"line":51},[124,550,130],{"class":129},[124,552,134],{"class":133},[124,554,555],{"class":137},"batch\u002Fv1\n",[124,557,558,560,562],{"class":126,"line":141},[124,559,144],{"class":129},[124,561,134],{"class":133},[124,563,564],{"class":137},"Job\n",[124,566,567,569],{"class":126,"line":42},[124,568,154],{"class":129},[124,570,157],{"class":133},[124,572,573,575,577],{"class":126,"line":160},[124,574,163],{"class":129},[124,576,134],{"class":133},[124,578,579],{"class":137},"migrate\n",[124,581,582,584],{"class":126,"line":171},[124,583,174],{"class":129},[124,585,157],{"class":133},[124,587,588,591,593],{"class":126,"line":179},[124,589,590],{"class":129},"  backoffLimit",[124,592,134],{"class":133},[124,594,595],{"class":231},"3\n",[124,597,598,601],{"class":126,"line":187},[124,599,600],{"class":129},"  template",[124,602,157],{"class":133},[124,604,605,608],{"class":126,"line":201},[124,606,607],{"class":129},"    spec",[124,609,157],{"class":133},[124,611,612,615,617],{"class":126,"line":212},[124,613,614],{"class":129},"      restartPolicy",[124,616,134],{"class":133},[124,618,619],{"class":137},"Never\n",[124,621,622,625],{"class":126,"line":220},[124,623,624],{"class":129},"      containers",[124,626,157],{"class":133},[124,628,629,631,633,635],{"class":126,"line":235},[124,630,223],{"class":133},[124,632,193],{"class":129},[124,634,134],{"class":133},[124,636,579],{"class":137},[124,638,639,642,644],{"class":126,"line":247},[124,640,641],{"class":129},"          image",[124,643,134],{"class":133},[124,645,209],{"class":137},[124,647,648,651,653,656],{"class":126,"line":257},[124,649,650],{"class":129},"          command",[124,652,339],{"class":133},[124,654,655],{"class":137},"'.\u002Fmigrate'",[124,657,356],{"class":133},[96,659,660,663,664,667,668,670],{},[111,661,662],{},"backoffLimit"," counts failed pods, not failed containers. With\n",[111,665,666],{},"restartPolicy: Never"," a failure creates a new pod; with ",[111,669,375],{}," the container\nrestarts inside the existing pod. The two produce different pod counts for the same\nnumber of failures, which makes debugging confusing if you are not expecting it.",[672,673,674],"tip",{},[96,675,676,677,680,681,684],{},"Set ",[111,678,679],{},"ttlSecondsAfterFinished"," on Jobs. Without it, completed Job pods accumulate\nindefinitely and eventually make ",[111,682,683],{},"kubectl get pods"," unusable.",[392,686,394],{},{"title":41,"searchDepth":42,"depth":42,"links":688},[689,690,691],{"id":507,"depth":141,"text":508},{"id":517,"depth":141,"text":518},{"id":540,"depth":141,"text":541},"Deployment, StatefulSet, DaemonSet and Job — what each one actually guarantees.",{},"\u002Flearn\u002Fen\u002Fcourses\u002Fpods\u002Fcontrollers",{"title":408,"description":692},"learn\u002Fen\u002Fcourses\u002Fpods\u002F02.controllers","VSCelnVYA4VGJd0fBOn99YCc4llCWJ8uDyfJB4DOFKM",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":699},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M10 2v8l3-3l3 3V2\"\u002F>\u003Cpath d=\"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":701},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2\"\u002F>\u003Crect width=\"8\" height=\"8\" x=\"14\" y=\"2\" rx=\"1\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":703},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6\"\u002F>\u003Crect width=\"12\" height=\"8\" x=\"6\" y=\"14\" rx=\"1\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":705},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0zM22 10v6\"\u002F>\u003Cpath d=\"M6 12.5V16a6 3 0 0 0 12 0v-3.5\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":707},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4M2 6h4m-4 4h4m-4 4h4m-4 4h4\"\u002F>\u003Cpath d=\"M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":709},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"\u002F>\u003Cpath d=\"M14 2v5a1 1 0 0 0 1 1h5m-8 10v-6m-3 3l3 3l3-3\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":711},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m9 18l6-6l-6-6\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":713},"\u003Cpath fill=\"currentColor\" d=\"m10.204 14.35l.007.01l-.999 2.413a5.17 5.17 0 0 1-2.075-2.597l2.578-.437l.004.005a.44.44 0 0 1 .484.606zm-.833-2.129a.44.44 0 0 0 .173-.756l.002-.011L7.585 9.7a5.14 5.14 0 0 0-.73 3.255l2.514-.725zm1.145-1.98a.44.44 0 0 0 .699-.337l.01-.005l.15-2.62a5.14 5.14 0 0 0-3.01 1.442l2.147 1.523zm.76 2.75l.723.349l.722-.347l.18-.78l-.5-.623h-.804l-.5.623l.179.779zm1.5-3.095a.44.44 0 0 0 .7.336l.008.003l2.134-1.513a5.2 5.2 0 0 0-2.992-1.442l.148 2.615zm10.876 5.97l-5.773 7.181a1.6 1.6 0 0 1-1.248.594l-9.261.003a1.6 1.6 0 0 1-1.247-.596l-5.776-7.18a1.58 1.58 0 0 1-.307-1.34L2.1 5.573c.108-.47.425-.864.863-1.073L11.305.513a1.6 1.6 0 0 1 1.385 0l8.345 3.985c.438.209.755.604.863 1.073l2.062 8.955c.108.47-.005.963-.308 1.34m-3.289-2.057c-.042-.01-.103-.026-.145-.034c-.174-.033-.315-.025-.479-.038c-.35-.037-.638-.067-.895-.148c-.105-.04-.18-.165-.216-.216l-.201-.059a6.5 6.5 0 0 0-.105-2.332a6.5 6.5 0 0 0-.936-2.163c.052-.047.15-.133.177-.159c.008-.09.001-.183.094-.282c.197-.185.444-.338.743-.522c.142-.084.273-.137.415-.242c.032-.024.076-.062.11-.089c.24-.191.295-.52.123-.736s-.506-.236-.745-.045c-.034.027-.08.062-.111.088c-.134.116-.217.23-.33.35c-.246.25-.45.458-.673.609c-.097.056-.239.037-.303.033l-.19.135a6.55 6.55 0 0 0-4.146-2.003l-.012-.223c-.065-.062-.143-.115-.163-.25c-.022-.268.015-.557.057-.905c.023-.163.061-.298.068-.475c.001-.04-.001-.099-.001-.142c0-.306-.224-.555-.5-.555c-.275 0-.499.249-.499.555l.001.014c0 .041-.002.092 0 .128c.006.177.044.312.067.475c.042.348.078.637.056.906a.55.55 0 0 1-.162.258l-.012.211a6.42 6.42 0 0 0-4.166 2.003l-.18-.128c-.09.012-.18.04-.297-.029c-.223-.15-.427-.358-.673-.608c-.113-.12-.195-.234-.329-.349l-.111-.088a.6.6 0 0 0-.348-.132a.48.48 0 0 0-.398.176c-.172.216-.117.546.123.737l.007.005l.104.083c.142.105.272.159.414.242c.299.185.546.338.743.522c.076.082.09.226.1.288l.16.143a6.46 6.46 0 0 0-1.02 4.506l-.208.06c-.055.072-.133.184-.215.217c-.257.081-.546.11-.895.147c-.164.014-.305.006-.48.039c-.037.007-.09.02-.133.03l-.004.002l-.007.002c-.295.071-.484.342-.423.608c.061.267.349.429.645.365l.007-.001l.01-.003l.129-.029c.17-.046.294-.113.448-.172c.33-.118.604-.217.87-.256c.112-.009.23.069.288.101l.217-.037a6.5 6.5 0 0 0 2.88 3.596l-.09.218c.033.084.069.199.044.282c-.097.252-.263.517-.452.813c-.091.136-.185.242-.268.399c-.02.037-.045.095-.064.134c-.128.275-.034.591.213.71c.248.12.556-.007.69-.282v-.002c.02-.039.046-.09.062-.127c.07-.162.094-.301.144-.458c.132-.332.205-.68.387-.897c.05-.06.13-.082.215-.105l.113-.205a6.45 6.45 0 0 0 4.609.012l.106.192c.086.028.18.042.256.155c.136.232.229.507.342.84c.05.156.074.295.145.457c.016.037.043.09.062.129c.133.276.442.402.69.282c.247-.118.341-.435.213-.71c-.02-.039-.045-.096-.065-.134c-.083-.156-.177-.261-.268-.398c-.19-.296-.346-.541-.443-.793c-.04-.13.007-.21.038-.294c-.018-.022-.059-.144-.083-.202a6.5 6.5 0 0 0 2.88-3.622c.064.01.176.03.213.038c.075-.05.144-.114.28-.104c.266.039.54.138.87.256c.154.06.277.128.448.173c.036.01.088.019.13.028l.009.003l.007.001c.297.064.584-.098.645-.365c.06-.266-.128-.537-.423-.608M16.4 9.701l-1.95 1.746v.005a.44.44 0 0 0 .173.757l.003.01l2.526.728a5.2 5.2 0 0 0-.108-1.674A5.2 5.2 0 0 0 16.4 9.7zm-4.013 5.325a.44.44 0 0 0-.404-.232a.44.44 0 0 0-.372.233h-.002l-1.268 2.292a5.16 5.16 0 0 0 3.326.003l-1.27-2.296zm1.888-1.293a.44.44 0 0 0-.27.036a.44.44 0 0 0-.214.572l-.003.004l1.01 2.438a5.15 5.15 0 0 0 2.081-2.615l-2.6-.44z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":715},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"M12 6v6l4 2\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":717},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\" ry=\"2\"\u002F>\u003Cpath d=\"M7 11V7a5 5 0 0 1 9.9-1\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":719},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M8 2v3m8-3v3\"\u002F>\u003Crect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\"\u002F>\u003Cpath d=\"M3 9h18\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":721},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"\u002F>\u003Cpath d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":723},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M15 12h-5m5-4h-5m9 9V5a2 2 0 0 0-2-2H4\"\u002F>\u003Cpath d=\"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":725},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 5v16m8.001-2A2 2 0 0 0 22 17V5a2 2 0 0 0-1.999-2L16 3.002A5 5 0 0 0 12 5a5 5 0 0 0-4-2H4a2 2 0 0 0-2 2v12a2 2 0 0 0 1.999 2H8a5 5 0 0 1 4 2a5 5 0 0 1 4-2z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":727},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M12 15V3m9 12v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"\u002F>\u003Cpath d=\"m7 10l5 5l5-5\"\u002F>\u003C\u002Fg>",1791742738601]