{"componentChunkName":"component---src-templates-post-template-js","path":"/posts/kubernetes-overview","result":{"data":{"markdownRemark":{"id":"1675991a-101c-50a3-8d0e-c47a2ed7e9bd","html":"<h3 id=\"what-is-kubernetes-k8s-\" style=\"position:relative;\"><a href=\"#what-is-kubernetes-k8s-\" aria-label=\"what is kubernetes k8s  permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>What is Kubernetes (k8s) ?</h3>\n<figure>\n\t<img src=\"https://images.pexels.com/photos/2064123/pexels-photo-2064123.jpeg?auto=compress&amp;cs=tinysrgb&amp;dpr=2&amp;h=750&amp;w=1260\" alt=\"flight-instrument\">\n\t<figcaption>Photographer: Rafael Cosquiere (https://www.pexels.com/zh-tw/photo/2064123/) </figcaption>\n</figure>\n<ul>\n<li>Kubernetes is just like the control panel (flight instrucment) of an aircraft.</li>\n<li>For aviators, they have lots of component to control and manage, so there is a control panel for them.</li>\n<li>For developers, when we have lots of computer to manage, so there is Kubernetes for us!</li>\n</ul>\n<hr></hr>\n<figure>\n\t<blockquote>\n\t\t<p>In short, Kubernetes is a tool for developers to manage a cluster of computers.</p>\n\t</blockquote>\n</figure>\n<hr></hr>\n<figure>\n\t<img src=\"https://avatars.githubusercontent.com/u/13629408?s=200&amp;v=4\" alt=\"kubernetes icon\">\n\t<figcaption> If you see the shape of Kubernetes logo, it&apos;s a rudder! </figcaption>\n</figure>\n<hr></hr>\n<h3 id=\"think-of-you-have-lots-of-service-to-manage\" style=\"position:relative;\"><a href=\"#think-of-you-have-lots-of-service-to-manage\" aria-label=\"think of you have lots of service to manage permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Think of you have lots of service to manage…</h3>\n<figure>\n\t<img src=\"https://www.codekarle.com/images/Twitter.png\" alt=\"twitter system design\" style=\"width: 1000px\">\n\t<figcaption> Non-offical Twitter System Architecture </figcaption>\n</figure>\n<ul>\n<li>\n<p>You have Kafka, Cassandra, MySQL, Redis, Elasticsearch and many services. For each service, you need:</p>\n<ul>\n<li>Deploy newer version to certain machines, rollback if deployment failed</li>\n<li>Restart the service once it failed</li>\n<li>Scale up when heavy loading</li>\n<li>…</li>\n</ul>\n</li>\n</ul>\n<hr></hr>\n<h3 id=\"why-should-we-use-kubernetes-\" style=\"position:relative;\"><a href=\"#why-should-we-use-kubernetes-\" aria-label=\"why should we use kubernetes  permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Why should we use Kubernetes ?</h3>\n<ul>\n<li>self-healing: auto restart services once if failed</li>\n<li>automated rollouts and rollbacks</li>\n<li>built-in load balancing</li>\n<li>easier service discovery</li>\n<li>secret and configuration management</li>\n<li>it abstracts away the hardware infrastructure and exposes your whole cluster as a single enormous computational resource</li>\n<li>better resource allocation: you can specify the CPU &#x26; memory for each service, k8s will automatically allocate them for you.</li>\n<li>storage orchestration: you don’t need to think where to store your data*</li>\n</ul>\n<hr></hr>\n<h3 id=\"who-invents-kubernetes-\" style=\"position:relative;\"><a href=\"#who-invents-kubernetes-\" aria-label=\"who invents kubernetes  permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Who invents Kubernetes ?</h3>\n<figure>\n\t<img src=\"https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png\" alt=\"google logo\" style=\"width: 150px; margin-top:80px; margin-bottom: 50px\">\n</figure>\n<ul>\n<li>15 years of experience of building production workloads at Google: Borg, Omega</li>\n</ul>\n<figure>\n\t<img src=\"http://p3.pstatp.com/large/288f00037daa7fdc8147\" alt=\"standing on huge man\" style=\"width: 500px\">\n</figure>\n<hr></hr>\n<h3 id=\"before-we-dive-into-details\" style=\"position:relative;\"><a href=\"#before-we-dive-into-details\" aria-label=\"before we dive into details permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Before we dive into details</h3>\n<ul>\n<li>\n<p>Let’s have a very simple practice today.</p>\n<figure style=\"width: 400px\">\n<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/5308d7adc0f380a6ff36b219dc2310de/ae953/practice.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 74.58333333333333%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAYAAADkmO9VAAAACXBIWXMAAAsSAAALEgHS3X78AAACD0lEQVQ4y5VSy7LSQBDl/7/DjTsXunAlKCUPuTyvQrhJuAmBhDwI5A0kHKcbCYhwq5zKqZnp6j5zcror+I91PB7Ls2I4eFaXmBoelIWHoig4XnmrkPZ7iKIItZ6Cj00JTcXHD8XDIc8vhI8KiZeBE2jlojBJEjzrawyMGD0twJPicJwJr3/jvlJiLMSX8/lwODCSJEUolAZhxPuZp3J+NY5j7HY73iNOKFCIpLG2Ej6tIZtbaJaPXJBRvrp02UNJeKia/t8eEomqqvA8D4vFgpGmiXg5xvvPDbz7VEddcjF4XSMMAwRBgFpfeNiQ8P3F+9fDLMtgmiYrvF5ptkNbMtGWHS76qXvYiVzycKR5wsNIeLjFk2xfPHzUlFNcqBdeEaI4QZJmpYcEEkBiaC89vG3KLentYjKhRrfWkDQLM+Hr3N5cPHyk7r7yUwPJwy/dF3z49oyvvyy0prZ4KH882PTavYeKP2NEvzl89co57MhXhFQchiF3Ok1TvDWX1ytKMmyjlBHGWRmvkKGTyQTj8RidTgfL5RKr1YpHyHVdBp0ty+K4bdtwHEfEXNji7vtruOJuGAY2m81J4X6/56RWq4V+v492u41Go4FqtcqxXq+Her2ObreLZrPJGI1GqNVqIn+AwXCI2WzGPGWXfd/HdDqFLMvQdZ0HnVRTIt0J8/kciqJA0zRWRGcSQo068/wGanN8ApVkSAkAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;\"></span>\n  <picture>\n        <source srcset=\"/static/5308d7adc0f380a6ff36b219dc2310de/8ac56/practice.webp 240w,\n/static/5308d7adc0f380a6ff36b219dc2310de/d3be9/practice.webp 480w,\n/static/5308d7adc0f380a6ff36b219dc2310de/e46b2/practice.webp 960w,\n/static/5308d7adc0f380a6ff36b219dc2310de/cc785/practice.webp 1132w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/webp\">\n        <source srcset=\"/static/5308d7adc0f380a6ff36b219dc2310de/8ff5a/practice.png 240w,\n/static/5308d7adc0f380a6ff36b219dc2310de/e85cb/practice.png 480w,\n/static/5308d7adc0f380a6ff36b219dc2310de/d9199/practice.png 960w,\n/static/5308d7adc0f380a6ff36b219dc2310de/ae953/practice.png 1132w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/png\">\n        <img class=\"gatsby-resp-image-image\" src=\"/static/5308d7adc0f380a6ff36b219dc2310de/d9199/practice.png\" alt=\"practice\" title=\"practice\" loading=\"lazy\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n      </picture>\n  </a>\n    </span>\n</figure>\n</li>\n</ul>\n<h2 id=\"core-concepts-of-kubernetes\" style=\"position:relative;\"><a href=\"#core-concepts-of-kubernetes\" aria-label=\"core concepts of kubernetes permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Core concepts of Kubernetes</h2>\n<h3 id=\"fundaments\" style=\"position:relative;\"><a href=\"#fundaments\" aria-label=\"fundaments permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Fundaments</h3>\n<ul>\n<li><strong>Container</strong>: a technique to package our application, and run it in an isolated environment. You can think of that we packed our our application, and run it in a virtualized computer.</li>\n</ul>\n<figure>\n\t<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/e76760f4f73c7a06915e6fe8b5c8f2b8/19ab6/VM_container_compare.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 60.416666666666664%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAACmUlEQVQoz21TaW/TQBD1//8IH5AAAUJQRIGiopa2pGmTJmmOps3RNJdz2N5d2+vbcQ6kfniMl35BwtLIzzPjeW/37Wp4eh4fH8EYw3w+x2KxwHQygeu6+N8TRRGm0yl0XYdt2//UtN1uhzAMEFOT49hglgXLMtXb9z36OcR6vcZms1E4SWI1JK9zzig4kjhWJNvtFlqSJJBSwvMDBIEPPwjgUeQk0vPgSg9xHMEjvDRpiO0oYosL2I6rsGEx+uaKUFutt/CGJbj1D6QyhNsvQDY//VVydwT35itWWYaIVNjNz1TbQ0w1Vn2vanmfVX4N2fmBbLODltJAp3MEUXwG35Ow29/hlF4opaK+B/vqFdJVphRawybEuAUuOOEG+KQNkePBNaxxm0gTUphtsJo3seodIo1DpHoN2eAYK2JORpfIhmdYk8KACEz6UYzqtLc+jH5FDc/3edktQdDwnFiLaSlNg6PBJcbk8o1lo8EkJoQbpiDsgtMeR2EIq74PTqpd6cKsfoRofSPlEkb5LUT7EAmJ02IypTKY4OJ+gtGSoTbUUX6YYkIk5fsxSpTnZExEJjFm0lGyKRxwwrbNlSk5FoIp8zQvcNDVzzEwSujMimg9nKJ5f4K7PLcsoTsrwBQTpOkaVukdvMobGp6AFV/Cb5BBUQLj9Dm85hcy5Tc0GQjURodoTI/Qmv1EqXeA89t9NPVjyh2jOj7AUozhSIHu8BcexkWMzDY6/TN0BwXCN7gfFdAfndNxc6H5kURvfoWBeY3eooIGNdW6p6SsTKrzXBlCGuCugbvFJfpWDbd6EZXeCap9WsnsQuXymuszaPktCHy6AXEKwQSMpaHCMplaThREWKUrFaEfqT5mcphLU/UJbiN56svoNPwB8RhhuughG9wAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;\"></span>\n  <picture>\n        <source srcset=\"/static/e76760f4f73c7a06915e6fe8b5c8f2b8/8ac56/VM_container_compare.webp 240w,\n/static/e76760f4f73c7a06915e6fe8b5c8f2b8/d3be9/VM_container_compare.webp 480w,\n/static/e76760f4f73c7a06915e6fe8b5c8f2b8/e46b2/VM_container_compare.webp 960w,\n/static/e76760f4f73c7a06915e6fe8b5c8f2b8/f992d/VM_container_compare.webp 1440w,\n/static/e76760f4f73c7a06915e6fe8b5c8f2b8/de45f/VM_container_compare.webp 1664w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/webp\">\n        <source srcset=\"/static/e76760f4f73c7a06915e6fe8b5c8f2b8/8ff5a/VM_container_compare.png 240w,\n/static/e76760f4f73c7a06915e6fe8b5c8f2b8/e85cb/VM_container_compare.png 480w,\n/static/e76760f4f73c7a06915e6fe8b5c8f2b8/d9199/VM_container_compare.png 960w,\n/static/e76760f4f73c7a06915e6fe8b5c8f2b8/07a9c/VM_container_compare.png 1440w,\n/static/e76760f4f73c7a06915e6fe8b5c8f2b8/19ab6/VM_container_compare.png 1664w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/png\">\n        <img class=\"gatsby-resp-image-image\" src=\"/static/e76760f4f73c7a06915e6fe8b5c8f2b8/d9199/VM_container_compare.png\" alt=\"kubernetes icon\" title=\"kubernetes icon\" loading=\"lazy\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n      </picture>\n  </a>\n    </span>\n</figure>\n<div style=\"display: flex; justify-content: center\">\n  <figure style=\"width: 300px;\">\n    <span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/cff8260ae0ee0683ba05c873321d8ea2/0b6f4/VM.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 96.25000000000001%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAYAAACQjC21AAAACXBIWXMAABYlAAAWJQFJUiTwAAADt0lEQVQ4y31UXW8TRxT1b0RqxUP7XPHUh7ZSK1He4KmilFRVgQBxoCQEx8Sxib8N2GkSETuJP+P12t619/vD6/U6balKcnpnHCIS1K50NGfvnHtn7s7ZCeGD5+TkhI+2bUMQBKiqCkmS0O/3YRgGOp0Ofx8MBjAN81zO+yc0mUwooQeZhEMSyrKM4XAAXdegaSoVVc64RgtomgadoAyHGJxqZZkW7fXg+2OEXNehBB3BNIBu6LQ7C5NgwndnWiYC4hoVNGiOxS3L4ovMuMkXm0x8PrLckOeN4I9HbPO0AwXeyOHcsU1MJ2PehqEphCHnR1MftmVw7tgGTHPG//zjCK7rUkHHQi9+A2L0Gqzir9ALcxBXr0JK34KY/hnd6PeQEzcgxa8TvwYxdRtydg6dyFXouZs4/nvKCwaBD9YtFTQg//YF2nc/hf78ayjPvkTzl0tQo99AfPYtOhTvPPgc7fnP0J2/jPbSV9Bi30G48wn0p1fwdupeKEgt6vsp+M00gt4Ogu4WRrUNaNU89PpLjJtZjBo5eM0c50aN4jWKN1IIxBLwz1te8K+j6azlkeehKqto6i5k/wjSeIq6ZqMx0NCguGCPIVge2gTB9lFnWpqrqzb63hSSM4LseqQdcLuFLMfBw3INiw0RPyTz+ClfwmKrj8e7B1itt7FA8R8zrzkYj9QFPClXueZWtoib6VcIN7p4UGlCM02yzchFjfwkjcdoklVa5DHGa2RmgRmbeEvV+BzjAs2zuT51JlCBOvmRxevkYYvtkPXdPuySYW36EySIokw+s3HY6qDXGxC3IHZkPsfiLMbmVMWC1FfOctvt7qxl23YQWS8jvFTE3YUU7i2k8XhlC2svykgXGggvlzC/mMH9R1muSebqiG1UuObOwyTuhTOkKWJlbZfMT8Z2HBuJ3yPIVGJIvYkivfsc6fIajVHk9mLY2IkiVlzGeukpXmyv8limHCXM9CnSs9z45goMS6eCro1c9RE2u0sodd7jCYo0bnaXkarcx0rhNiKv5pCszPNY8VRTEmd6lputhmHaVHBMH1TV6PawVFpBOQ9TgeuZGCg9DtezeOyijuWqmgz2G9OhjFAoVlHaaaO0fXgOxa0Wsi/3kMqVkcy+QaZQodjhR7pNys2/PqDL4vRQooltxDMHiKf3OdbPxj36+Hk6lAQWl7PEC4ilKqT9ULOPRPaADnaLDoV86Ps+3WkKXVE6v+vOQ+ciw7RmI4HFPtJR7pD8yD5fiN24x8fH/4N3F/DfWlbrX4DaOSlDX8BwAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;\"></span>\n  <picture>\n        <source srcset=\"/static/cff8260ae0ee0683ba05c873321d8ea2/8ac56/VM.webp 240w,\n/static/cff8260ae0ee0683ba05c873321d8ea2/d3be9/VM.webp 480w,\n/static/cff8260ae0ee0683ba05c873321d8ea2/e46b2/VM.webp 960w,\n/static/cff8260ae0ee0683ba05c873321d8ea2/d4a71/VM.webp 984w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/webp\">\n        <source srcset=\"/static/cff8260ae0ee0683ba05c873321d8ea2/8ff5a/VM.png 240w,\n/static/cff8260ae0ee0683ba05c873321d8ea2/e85cb/VM.png 480w,\n/static/cff8260ae0ee0683ba05c873321d8ea2/d9199/VM.png 960w,\n/static/cff8260ae0ee0683ba05c873321d8ea2/0b6f4/VM.png 984w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/png\">\n        <img class=\"gatsby-resp-image-image\" src=\"/static/cff8260ae0ee0683ba05c873321d8ea2/d9199/VM.png\" alt=\"kubernetes icon\" title=\"kubernetes icon\" loading=\"lazy\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n      </picture>\n  </a>\n    </span>\n  </figure>\n  <figure style=\"width: 300px;\">\n    <span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/e2bd3114fd8f64feb6519ae12c2680ee/d6a46/Container.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 95%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAYAAACQjC21AAAACXBIWXMAABYlAAAWJQFJUiTwAAADXElEQVQ4y51UXU8bRxT1T6v6WKnKr+gf6EPf+tqHfjwkaVDUNK1a4ihKWgU1kQBToAQwrO3g2Otdg9f7/Wnv+mPjXRuC4PTODCYmectKR3PmzL1n7njuuHB5eQn2zcc0TeH7PkajEcIwRBLHSJKEa0EQcM5GtnZ6eorFj3kUGLm4uCRccHE8HsO2bQwGA4SUGEURYjJ1HAcBmTI+N59OpxD5F9cFFVhFlmXyBGbkeS7tHlCSR0k+TxY8uJoLncF1HTiU4zg25VqYzWYosKP1ehFVlNBxYo447l/zJOlfa3N9kTOwXOaRZRNRIRPSdEzHHX0SWC4zzvNcGEZRiH6/x8F2XuRs50V9Xl2/dzOWeXBDdgmqoqBarUBVFbTbKiTpkHOGSkXC8XEbitJCRZLQ6ZxAlptc1zodNJsN1KpVaFqHX1JhOBzCc21EgYe4H9FNenze74V0OT6i0OMjW/M9h+YBelRNGLh8ZHExwaMLmkwmwtDxI7ydnSMeUg/2Es6jeEgQ3KeeG4zGSKdXfJwSfyd4miHN38F2fWTMcDAcobP3F5ydhzDLz6DtPYW9/QB29SWM+hb00j2YShVeaxfGxhLM9hHcxiZMijHkA1h7Rbg7v0KrljDJqW2S4Rj6829xsnQLxtOv0X32DVq3v4C7+h20jV9Q//4z6JWXsHd+x5sfPodeK8FYvw35zpcwD/6GvvwVtPu3oP97n1fNK+zuPkG0/TPs3UcwXhURbN6BIz2HdVSCt/4jrJaEoLkFd/0n2O3X8Otr8Dfvwpb34b36Df3/7qFbWcXbnDf2EAadX+2a0Gm0gghK14Dh+TAcl+tu1ONzxh363bq2A1UnPYyg2RSjW7BonTf2gC7l8VELRVXHY6XLUWxpgpO23DzB3c1dLO0cXuk6itcxImeZ8KKhYppl4untdzSULQdlwxYw7fecUHrTxJbSfq+b9g2+bzqodXXkzJA1tk5HNA0Lpr4Ik8O1PRy3T2CQ5tCmQrc+gmVa4qWwv6mV1Rr+KbUI8gJaWFlr4OGjEh78ucbxx5NtvNj4ME7GyrqM0nYd0zwTjX1Yoaf0uk1QBWpilGgsHzZQlpocBxX5xvocLO6orogjn52dUakTeocZ7TD5ABlm0/wKGcfHMSKOeZyfn+N/1yFUeQUxjSEAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;\"></span>\n  <picture>\n        <source srcset=\"/static/e2bd3114fd8f64feb6519ae12c2680ee/8ac56/Container.webp 240w,\n/static/e2bd3114fd8f64feb6519ae12c2680ee/d3be9/Container.webp 480w,\n/static/e2bd3114fd8f64feb6519ae12c2680ee/e46b2/Container.webp 960w,\n/static/e2bd3114fd8f64feb6519ae12c2680ee/6e1e4/Container.webp 1008w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/webp\">\n        <source srcset=\"/static/e2bd3114fd8f64feb6519ae12c2680ee/8ff5a/Container.png 240w,\n/static/e2bd3114fd8f64feb6519ae12c2680ee/e85cb/Container.png 480w,\n/static/e2bd3114fd8f64feb6519ae12c2680ee/d9199/Container.png 960w,\n/static/e2bd3114fd8f64feb6519ae12c2680ee/d6a46/Container.png 1008w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/png\">\n        <img class=\"gatsby-resp-image-image\" src=\"/static/e2bd3114fd8f64feb6519ae12c2680ee/d9199/Container.png\" alt=\"kubernetes icon\" title=\"kubernetes icon\" loading=\"lazy\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n      </picture>\n  </a>\n    </span>\n  </figure>\n</div>\n<ul>\n<li><a href=\"https://github.com/barry800414/k8s-example/tree/master/server\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Practice time!</a></li>\n</ul>\n<hr></hr>\n<h3 id=\"architecture\" style=\"position:relative;\"><a href=\"#architecture\" aria-label=\"architecture permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Architecture</h3>\n<ul>\n<li>Node: a real computer or a virtualized machine (e.g. ec2, gce) who has computing resource (CPU, memory)</li>\n<li>Cluster: a bunch of real computers or VMs managed by Kubernetes</li>\n<li>Pod: basic working unit of kubernetes</li>\n<li>Container: a container instance by containerized technology, e.g. docker</li>\n</ul>\n<figure>\n\t<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/bc53199c77c23bd3fae67ff7bf7894c8/d9199/k8s-simplified-architecture.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 56.25%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAAsSAAALEgHS3X78AAABQ0lEQVQoz4WSy06DQBSGff+nUTeaaKxWoNAWZoYBepkB5gIMl1pqqQsXFvEacVGSLydn8+X8OfnP2rb1WfToaR41OTcDOgljfc1mJNRIYoOQAb53RAPE4RebH0jetO3xrJNpJnAOInovrHO2upXWhSQjObtkZAQZQx9mD5s3JN9/y+sswcpbEMs1b7yFNteucKA5+jXEY8Q4PC17MbuDE4dCN4IOgW4IAIWomxECoRi6nHKY2CIxXisjFeOXfFxkRpM9VOXUCeMBmSqJFSzK2fF5qjL9bTdVqX7cz1VufcqHU3Ig5GQFQOgCAm2KuuQORV87HIwdcGYujWURLPoEue/GbOBhRMllhcgGryv3L8sSuXEMhx6WIIH91Pf64MRzY45kA/t0naHFj1zWDc+fRLH9By+2alMn1U6WPURRV3XXsPYdFBFEQJBL2J4AAAAASUVORK5CYII=&apos;); background-size: cover; display: block;\"></span>\n  <picture>\n        <source srcset=\"/static/bc53199c77c23bd3fae67ff7bf7894c8/8ac56/k8s-simplified-architecture.webp 240w,\n/static/bc53199c77c23bd3fae67ff7bf7894c8/d3be9/k8s-simplified-architecture.webp 480w,\n/static/bc53199c77c23bd3fae67ff7bf7894c8/e46b2/k8s-simplified-architecture.webp 960w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/webp\">\n        <source srcset=\"/static/bc53199c77c23bd3fae67ff7bf7894c8/8ff5a/k8s-simplified-architecture.png 240w,\n/static/bc53199c77c23bd3fae67ff7bf7894c8/e85cb/k8s-simplified-architecture.png 480w,\n/static/bc53199c77c23bd3fae67ff7bf7894c8/d9199/k8s-simplified-architecture.png 960w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/png\">\n        <img class=\"gatsby-resp-image-image\" src=\"/static/bc53199c77c23bd3fae67ff7bf7894c8/d9199/k8s-simplified-architecture.png\" alt=\"kubernetes simplified architecture\" title=\"kubernetes simplified architecture\" loading=\"lazy\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n      </picture>\n  </a>\n    </span>\n</figure>\n<p>A cluster can contain many nodes, a node can contain many pods, and a pod can contain many containers</p>\n<hr></hr>\n<h3 id=\"important-resource-types\" style=\"position:relative;\"><a href=\"#important-resource-types\" aria-label=\"important resource types permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Important resource types</h3>\n<ul>\n<li>Pod</li>\n<li>Service (NodePort, LoadBalancer) &#x26; Ingress</li>\n<li>ReplicaSet</li>\n<li>Deployment</li>\n<li>Persistent Volume</li>\n</ul>\n<hr></hr>\n<h3 id=\"pod\" style=\"position:relative;\"><a href=\"#pod\" aria-label=\"pod permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Pod</h3>\n<ul>\n<li>Purpose: the basic working unit for scaling/deployment</li>\n<li>each container in a pod share same host and port space</li>\n<li>each pod inside cluster has its own unique IP address</li>\n</ul>\n<figure>\n\t<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/0b5cd1b1d46c446cce76574a8d37d107/d7ab4/k8s-pod.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 47.5%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAAsSAAALEgHS3X78AAACZElEQVQoz5WSXU/aYBiGux+wg50s4Ej2A5ZI4i9csolmByZ+JyZbNlEzp1mmUbc4UVo+2tIWRaAFPxChoGCBIghCP+69BQ92tqzJm/TqffXukyel9tjdsZAcGqWTQW9Epr3sWdTLpBkvk6IJMwOmyX1IZt5s7n99vR3a8oaV8OBZOB30ckN/lEnTY79je25KLklQSlKXHDNdipvJPG8qqmgOWJXM5DVvZMpxx6kyiYP1aDJgy6poEDZk4p8Sn/BjsZmBeBH1UegmYeuC0dNFXBSiqBWDwL2Ih7qAXJFFw+FuAs0qV4/JR5vNmzD6dR5GUyQ5B60QhNngTeAM8Sw9SXXzEgrMr15Nidj5EmeTMhst0X7QeFu9FRy20DlG647T+PThBloSnNzUBTuvEr8lOX4fdsYpnKD0LAd570e/kgzhSuXIdM4LEtoaD1KIwQe6J7ivcrVY+mgD7TjQlmyDFDq+PfQNIDOc0LiToGeDvU6Zt3LFqNUqM5ZZY61OPWZdlzirXaYtNAWQiTUuFfjWqUTwWI1YVlMgPmu1bkJWX4v2nwrJhFUW1ULA7rXiuFR5nJ1uo67SaDckXJIdnSe28HDHol7hdC51+L14vo/KVQCPZOc54ueUn7jNHdjODqUM/YG60FJIFSUtc5vQh+dET6mS/hc3CLeVm5Mr4TzyJVs5vSd/gy6Xj3WF5IQdv0ZcxHPcW2pxbfHV+My4Z3V3xeXf+uya88+P+OYmPGu7qwOeXZ4bmZyfdPKXM5+mXixvL7veTb/3LK0vudd2/K6F1QW3b9bnWdnxu6c/Tj2n/vN69q/8D3ZWRq71gHvLAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;\"></span>\n  <picture>\n        <source srcset=\"/static/0b5cd1b1d46c446cce76574a8d37d107/8ac56/k8s-pod.webp 240w,\n/static/0b5cd1b1d46c446cce76574a8d37d107/d3be9/k8s-pod.webp 480w,\n/static/0b5cd1b1d46c446cce76574a8d37d107/e46b2/k8s-pod.webp 960w,\n/static/0b5cd1b1d46c446cce76574a8d37d107/dd5f8/k8s-pod.webp 1014w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/webp\">\n        <source srcset=\"/static/0b5cd1b1d46c446cce76574a8d37d107/8ff5a/k8s-pod.png 240w,\n/static/0b5cd1b1d46c446cce76574a8d37d107/e85cb/k8s-pod.png 480w,\n/static/0b5cd1b1d46c446cce76574a8d37d107/d9199/k8s-pod.png 960w,\n/static/0b5cd1b1d46c446cce76574a8d37d107/d7ab4/k8s-pod.png 1014w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/png\">\n        <img class=\"gatsby-resp-image-image\" src=\"/static/0b5cd1b1d46c446cce76574a8d37d107/d9199/k8s-pod.png\" alt=\"kubernetes pod\" title=\"kubernetes pod\" loading=\"lazy\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n      </picture>\n  </a>\n    </span>\n  <figcaption> every pod has a unique IP iddress inside cluster (Cluster IP) </figcaption>\n</figure>\n<ul>\n<li>we can specify multiple containers you would like to use in a single pod</li>\n</ul>\n<hr></hr>\n<h4 id=\"when-we-use-multiple-containers-in-a-pod-\" style=\"position:relative;\"><a href=\"#when-we-use-multiple-containers-in-a-pod-\" aria-label=\"when we use multiple containers in a pod  permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>When we use multiple containers in a pod ?</h4>\n<ul>\n<li>\n<p>Sidecar pattern: log collecting</p>\n<figure style=\"max-width: 500px;\">\n<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/d0339e51943c457037ca1b2db39ec309/d3b46/sidecar-pattern.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 74.16666666666667%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAYAAADkmO9VAAAACXBIWXMAABYlAAAWJQFJUiTwAAACT0lEQVQ4y52USW/aQBSA+d+9Veq1h956qdRDEwlVTdIkAoLCnrAkaRa2pJAmQHDABhuDMV6wv9qUpWkjGvVJn2Q9j79582Y8Add18WM6naLrOpZlYZrmDD/894sxL4nAYvBkMkEQBDKZDOVyGUVRlrI/WUy0Ruh6lZmo6oBWq4kodhmPtVke93eclwifJrSxgTPPuc+wTjYXOnRbF0gPZ5jDG3rCOWO5gqFeMxlU0RWfivd8zUi6wjSG6ysEhx/FHRpXQVwljVjfx+zGsKUElhTHHaRwPFAzGN0DjLH0jyUzRSwmqO1tUQ/tIKViyJk44/wRw9MUE8mTaTmPLHY/ian31wsdbKTzJFYyT2s3TO3zNrdfdjHTBYx8DvFHiGG3gNK5QHmIYem9J8fJdaa/mE8QcFwb5TaNceNRO/LkUUaVJFo1hV5PIdRClEuXFCt3NGpZrIk4Fzp/VedLvU2ZItXiNPLbSMUDpMso2ndPeONRTyA3ozzen9K6L9FrprwKpaXA0TUG0U3UwyCOaax62PmWoP01QjW4RXs/wt32Pnoyy2S25PCsfz5WL77soR/ixzcMIp/oB9/R23y76mG/lMAuHCOnD+nEwojxCHo2jXaSpN8IM+7E0Dpx5EYIWWoyGKhohon4/hXaRZrh0R7ih9dzoWMzEE4Yto+9Dwvoc0ZCjtFjDkM+wZRPsZQztO4xhi4vKzTuq6gHG6jRDWzhbvXr2baNZVvPsrgoFjjOajMaDwLX1Yq3aSXane5sowL8RyyOiP//+5fKDO+m8rM/ATsRbq4k4hGBAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;\"></span>\n  <picture>\n        <source srcset=\"/static/d0339e51943c457037ca1b2db39ec309/8ac56/sidecar-pattern.webp 240w,\n/static/d0339e51943c457037ca1b2db39ec309/d3be9/sidecar-pattern.webp 480w,\n/static/d0339e51943c457037ca1b2db39ec309/e46b2/sidecar-pattern.webp 960w,\n/static/d0339e51943c457037ca1b2db39ec309/f992d/sidecar-pattern.webp 1440w,\n/static/d0339e51943c457037ca1b2db39ec309/3802d/sidecar-pattern.webp 1690w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/webp\">\n        <source srcset=\"/static/d0339e51943c457037ca1b2db39ec309/8ff5a/sidecar-pattern.png 240w,\n/static/d0339e51943c457037ca1b2db39ec309/e85cb/sidecar-pattern.png 480w,\n/static/d0339e51943c457037ca1b2db39ec309/d9199/sidecar-pattern.png 960w,\n/static/d0339e51943c457037ca1b2db39ec309/07a9c/sidecar-pattern.png 1440w,\n/static/d0339e51943c457037ca1b2db39ec309/d3b46/sidecar-pattern.png 1690w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/png\">\n        <img class=\"gatsby-resp-image-image\" src=\"/static/d0339e51943c457037ca1b2db39ec309/d9199/sidecar-pattern.png\" alt=\"when to separate pod\" title=\"when to separate pod\" loading=\"lazy\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n      </picture>\n  </a>\n    </span>\n</figure>\n</li>\n<li>\n<p>Ambassador/Adapter pattern: proxy / adaptor</p>\n<figure style=\"max-width: 500px;\">\n<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/a423145b2b3c4ce35c6c5748bce968c4/0d390/adapter-pattern.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 80.41666666666667%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAACXBIWXMAABYlAAAWJQFJUiTwAAAB+ElEQVQ4y6WTDW+aUBSG+f//RBNtmkbd5rdoq0zobG3rtCTWMQENfgDChQu8u9Lhx2qi20je3HtyLw/nvJzDRVGE7bNdfd9HElNKEYbh7uzShzsEqKqKfr+PXq+HyWQCx3H+D6hpKp6e+pAkCYqifABeAuaSTXI1CEIQ4n24eGmWcYZhQBGFFAH1YdsmlguDgX34Hon1N15yIXvx9TGH8UsO/lKAqbdgKHV4yw7IogNTq8OxZr+BYQw9peSDDOhBebnBuJcBnfMwf5QxG31CZLRY3IQzLYLY+tnMEijHmgVKt4BBNoPnqwyMehWrRh3WbROb1i20Zh7E0UEDwCMkbq2tPM+D67rx/tASLog8zMQSfF5AJIh4zVxjkM4iaHeB9j1mjc+wzSlkeQxRFDEcDjEajeL2GgwGcSzL8q50LggZ8LEI62sdtsRjzdaVUIMlNmCLTehCHu5GO/LwVLm7kiklMH9WsWEiegOrtzLU74XYP6LxsJS9h3/CTsWxh2/tHPqpNB7SKcwrZayZhybfgNu6g8ZvM9TP/uV9yczDuVQB7iQYpRrkqxs8p7KY5r8AQg9Gs3hQ8gV9GIQE+kMB606JeVh9l1hlHlZgd2vMw2u4trrL8CyQUg8rXcJmcQ/LONZm+Y2dCSzDxT/McvQ+z0eK9jN+6Sz/AvZeyJ3DEgnVAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;\"></span>\n  <picture>\n        <source srcset=\"/static/a423145b2b3c4ce35c6c5748bce968c4/8ac56/adapter-pattern.webp 240w,\n/static/a423145b2b3c4ce35c6c5748bce968c4/d3be9/adapter-pattern.webp 480w,\n/static/a423145b2b3c4ce35c6c5748bce968c4/e46b2/adapter-pattern.webp 960w,\n/static/a423145b2b3c4ce35c6c5748bce968c4/f992d/adapter-pattern.webp 1440w,\n/static/a423145b2b3c4ce35c6c5748bce968c4/098de/adapter-pattern.webp 1472w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/webp\">\n        <source srcset=\"/static/a423145b2b3c4ce35c6c5748bce968c4/8ff5a/adapter-pattern.png 240w,\n/static/a423145b2b3c4ce35c6c5748bce968c4/e85cb/adapter-pattern.png 480w,\n/static/a423145b2b3c4ce35c6c5748bce968c4/d9199/adapter-pattern.png 960w,\n/static/a423145b2b3c4ce35c6c5748bce968c4/07a9c/adapter-pattern.png 1440w,\n/static/a423145b2b3c4ce35c6c5748bce968c4/0d390/adapter-pattern.png 1472w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/png\">\n        <img class=\"gatsby-resp-image-image\" src=\"/static/a423145b2b3c4ce35c6c5748bce968c4/d9199/adapter-pattern.png\" alt=\"when to separate pod\" title=\"when to separate pod\" loading=\"lazy\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n      </picture>\n  </a>\n    </span>\n</figure>\n</li>\n</ul>\n<hr></hr>\n<h4 id=\"when-we-should-not-use-multiple-containers-in-a-pod-\" style=\"position:relative;\"><a href=\"#when-we-should-not-use-multiple-containers-in-a-pod-\" aria-label=\"when we should not use multiple containers in a pod  permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>When we should NOT use multiple containers in a pod ?</h4>\n<p>when we want to scale up different applications inside a pod in different scale, we should separate it as different pods</p>\n<figure>\n\t<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/f96601ecdf2e1623fb2066b002b3f6ec/56caf/when-to-separate-pod.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 62.5%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAABYlAAAWJQFJUiTwAAACuklEQVQ4y32TXW/TdhTG802ZxC3adsUuuOCGD4CQJg2BgAHLWEe3aVtfpLIW0lKt9CVxY2zHjh0n8UsSx7GTJnGTOv3tH6c0N4wjnZu/9Tw+5/zOyfGZuLy85P9iNpsRDFoE4x7dJKLT95leTK51ucGwR3wWXGUoBKn4AoNRTJQMiM+HRKMeF1ei0WSEJG+ibD+ktHEfRfqLcNhdGu6ZKxSsPLvWKwpGnngYkjKjrL+j8m+eyv4zykLU6ruZ6GwyRJc3sF/fQfnxFvbJKqGo9Nrw2FinpK1TVP7mWF8nCl0myQhD28H65TbSD19RP/gJL2hkosE4otHWCYMebtOl03Pp9r2loXmwipH/Dvnp19R2RYVxl4los6Yd0PVdPLdOq6bQciuLCscxhlPEdqpoVZl6W6UTO0tD/XSd2uo9zJW7VA9/FzMbME3PMZsSrlVHVzScRoVWXM9E59Mx23KetcNHrH14xJb0jCQRMxZm0/SCnKFtoDy8hfTgJpb0G9F4QJpOkIwC6tYTtD/ucyqt4cfNK8opzcDA8D9S9VWqLYV9T8aIF23nGuYJYa1OULNxqxKRoH0hoBinW+hPv6X4/Q3sfx7ji1WZx1hQlvUC88604p+olbec+ApJOl0YllQBxd6jaO0KOJtE7QYTUaVtHBG2Pdpihm3HwG8q15Qr5TXU599wNP/Z8a/ZW1b95Yzce2uFvVqe9/bPFEwBpd/OoNiiFcd10avCLHTwu+bCMOljNUuc+VX6jobnKWLR/SWU+e5tSo+zfFt5Qe+sw/xQdrXXbBTF4I/E4MtP8HrWYm3Ekjc6BnbdQVF1OpFLELtLQyfUsVplTL9Mo6sxmSbZpXg9k1q7jCXe68FHRuJqFpRH7MiveFN6meWOIN4dfNpD0fJnb5kv3XKK2jjkg/KGQ3Ub2d4nEaA+Vfgfc3qydNpMZuUAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;\"></span>\n  <picture>\n        <source srcset=\"/static/f96601ecdf2e1623fb2066b002b3f6ec/8ac56/when-to-separate-pod.webp 240w,\n/static/f96601ecdf2e1623fb2066b002b3f6ec/d3be9/when-to-separate-pod.webp 480w,\n/static/f96601ecdf2e1623fb2066b002b3f6ec/e46b2/when-to-separate-pod.webp 960w,\n/static/f96601ecdf2e1623fb2066b002b3f6ec/f992d/when-to-separate-pod.webp 1440w,\n/static/f96601ecdf2e1623fb2066b002b3f6ec/dc596/when-to-separate-pod.webp 1712w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/webp\">\n        <source srcset=\"/static/f96601ecdf2e1623fb2066b002b3f6ec/8ff5a/when-to-separate-pod.png 240w,\n/static/f96601ecdf2e1623fb2066b002b3f6ec/e85cb/when-to-separate-pod.png 480w,\n/static/f96601ecdf2e1623fb2066b002b3f6ec/d9199/when-to-separate-pod.png 960w,\n/static/f96601ecdf2e1623fb2066b002b3f6ec/07a9c/when-to-separate-pod.png 1440w,\n/static/f96601ecdf2e1623fb2066b002b3f6ec/56caf/when-to-separate-pod.png 1712w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/png\">\n        <img class=\"gatsby-resp-image-image\" src=\"/static/f96601ecdf2e1623fb2066b002b3f6ec/d9199/when-to-separate-pod.png\" alt=\"when to separate pod\" title=\"when to separate pod\" loading=\"lazy\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n      </picture>\n  </a>\n    </span>\n</figure>\n<hr></hr>\n<h3 id=\"service\" style=\"position:relative;\"><a href=\"#service\" aria-label=\"service permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Service</h3>\n<ul>\n<li>Purpose: make cluster’s internal and external networking more convenient and feasible</li>\n<li>\n<p>Use cases:</p>\n<ul>\n<li>Pod-to-Pod communication</li>\n<li>Pod to connect external service</li>\n<li>External client to connect internal pod</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"pod-to-pod-communication\" style=\"position:relative;\"><a href=\"#pod-to-pod-communication\" aria-label=\"pod to pod communication permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Pod-to-Pod communication</h4>\n<ul>\n<li>Pod can fail / be deleted / be created at any time, we are not possible to setup our application by IP address mannually</li>\n<li>By using service, we can refer to one or more pods by a selector</li>\n<li>When a service can to muliple pods, the service can load balancing the requests</li>\n</ul>\n<figure>\n\t<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/c0ad4b3326ad9017ccf041fe2537b84a/89305/service-usage-example.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 62.5%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAABYlAAAWJQFJUiTwAAAB10lEQVQ4y5VSa2/TUAzt//8RTBqvAV9hQqhsdC2sq0jXUqFMYx+gabIuj9I2yc3z5mC7TRVWVQhLVm78OPax3cIjybIMeZ7vaZqmorWf367rYj6fw3Ec+L6PqqrQursfwbQGMGdXsP075FkhDq21KL852fNcSrQFQKlYijNw1ihYliVal+Y7tI0TfLw+gTkdIFEpBWRb3QQrpRCGawS+hygKkSbJY2ICJoBNIzWDoih2AU36G9AQKo7FLpqm4mPhPAFkSrUyorda47UxwdF5D8f9IaaLJVYqwYvBCEdnXbIZcJZr/I4Vnl4aFNfFy69jTIMF5esGoHRYYRVFGFsOrm5+YPhrhkUUI05SjCwbfbIZPy0CixGRjf39m1v5+tRIRTNvYQvEwkvIiQp3WhKdqsiFVsIzKwvkiWJuMkOZoy6hadZCmajvZvgXIDk0/fNMEj4VKsBv/rpeAEVAmoC4yMzebJ01CALJ3wOsl9KUMFQ4605w2h6i3ZnAsv3t4vRuu/mhDmtAucWt/cFb4vmbDp48+4DjV+cwby008/bO5hBgvSyWOE5w/xAgou3WJ7a7jubZ/AuQZc2UL8Z4+76H9qdrmuVqL+a/AXt9E53P33Dx5Ts8/zDgHzPY5i//PHPBAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;\"></span>\n  <picture>\n        <source srcset=\"/static/c0ad4b3326ad9017ccf041fe2537b84a/8ac56/service-usage-example.webp 240w,\n/static/c0ad4b3326ad9017ccf041fe2537b84a/d3be9/service-usage-example.webp 480w,\n/static/c0ad4b3326ad9017ccf041fe2537b84a/e46b2/service-usage-example.webp 960w,\n/static/c0ad4b3326ad9017ccf041fe2537b84a/f992d/service-usage-example.webp 1440w,\n/static/c0ad4b3326ad9017ccf041fe2537b84a/882b9/service-usage-example.webp 1920w,\n/static/c0ad4b3326ad9017ccf041fe2537b84a/5a99d/service-usage-example.webp 2153w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/webp\">\n        <source srcset=\"/static/c0ad4b3326ad9017ccf041fe2537b84a/8ff5a/service-usage-example.png 240w,\n/static/c0ad4b3326ad9017ccf041fe2537b84a/e85cb/service-usage-example.png 480w,\n/static/c0ad4b3326ad9017ccf041fe2537b84a/d9199/service-usage-example.png 960w,\n/static/c0ad4b3326ad9017ccf041fe2537b84a/07a9c/service-usage-example.png 1440w,\n/static/c0ad4b3326ad9017ccf041fe2537b84a/29114/service-usage-example.png 1920w,\n/static/c0ad4b3326ad9017ccf041fe2537b84a/89305/service-usage-example.png 2153w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/png\">\n        <img class=\"gatsby-resp-image-image\" src=\"/static/c0ad4b3326ad9017ccf041fe2537b84a/d9199/service-usage-example.png\" alt=\"service usage example\" title=\"service usage example\" loading=\"lazy\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n      </picture>\n  </a>\n    </span>\n</figure>\n<h4 id=\"pod-to-connect-external-service\" style=\"position:relative;\"><a href=\"#pod-to-connect-external-service\" aria-label=\"pod to connect external service permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Pod to connect external service</h4>\n<figure>\n\t<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/c835c65367ab3eb16fcef772e8d67523/b7756/service-connect-to-external-server.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 38.75%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAABYlAAAWJQFJUiTwAAABoklEQVQoz3WRW2/TQBCF8//f4KE8IHhAXEpA4SIqVAWFlrahaqO0pBg7ie2sk5g4iR3fQKJ28MfYoaAgMdLRzszZPXPZmpp5KM/DnS/wlkuqWFD60/m84hyJoziitKIo/ovSao97fe6d92gORrRth/udKx5c6pxaireGVcVPPhnYX2f/CP78C4o/XE2fTOkOTQzlYE+nXJgm3cGAkfi6UuILJ3eWQcCWFb9xE950mEYhSbSqEPgy5sRl4kwIVwGx5NI4JA6FC3zW+ZpQcj2rzcfePudai7MvTWxXI8vyjWAglWN5ZNpj9ppdHtbf8+hZi9f7HTTDFiEpIt0uFnPSJCVJQ1qXT2kc3eHVyV0axzto4zbZj0xEr6mtpJNEBAdDxYu9M+ovT9htHNF4c4qmW/j+Atd18byZ3EtIv8WV4O67Wzw/2KF+cJsrdUx2nZPnObVQxikRySjKGaP3LfrDUdVV2XkkKymLlpNkWUacRBjOBR3tkM7nD9Wp3L6IrTcj+7K3cj++76PUCHM4wLbMyi9zGyxFONpafpp8x19sf1TJ/QLsLEysK7f/1gAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;\"></span>\n  <picture>\n        <source srcset=\"/static/c835c65367ab3eb16fcef772e8d67523/8ac56/service-connect-to-external-server.webp 240w,\n/static/c835c65367ab3eb16fcef772e8d67523/d3be9/service-connect-to-external-server.webp 480w,\n/static/c835c65367ab3eb16fcef772e8d67523/e46b2/service-connect-to-external-server.webp 960w,\n/static/c835c65367ab3eb16fcef772e8d67523/f992d/service-connect-to-external-server.webp 1440w,\n/static/c835c65367ab3eb16fcef772e8d67523/882b9/service-connect-to-external-server.webp 1920w,\n/static/c835c65367ab3eb16fcef772e8d67523/652ff/service-connect-to-external-server.webp 2294w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/webp\">\n        <source srcset=\"/static/c835c65367ab3eb16fcef772e8d67523/8ff5a/service-connect-to-external-server.png 240w,\n/static/c835c65367ab3eb16fcef772e8d67523/e85cb/service-connect-to-external-server.png 480w,\n/static/c835c65367ab3eb16fcef772e8d67523/d9199/service-connect-to-external-server.png 960w,\n/static/c835c65367ab3eb16fcef772e8d67523/07a9c/service-connect-to-external-server.png 1440w,\n/static/c835c65367ab3eb16fcef772e8d67523/29114/service-connect-to-external-server.png 1920w,\n/static/c835c65367ab3eb16fcef772e8d67523/b7756/service-connect-to-external-server.png 2294w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/png\">\n        <img class=\"gatsby-resp-image-image\" src=\"/static/c835c65367ab3eb16fcef772e8d67523/d9199/service-connect-to-external-server.png\" alt=\"service usage example\" title=\"service usage example\" loading=\"lazy\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n      </picture>\n  </a>\n    </span>\n</figure>\n<h4 id=\"external-client-to-connect-internal-pod\" style=\"position:relative;\"><a href=\"#external-client-to-connect-internal-pod\" aria-label=\"external client to connect internal pod permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>External client to connect internal pod</h4>\n<figure>\n\t<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/c0ad4b3326ad9017ccf041fe2537b84a/89305/service-usage-example.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 62.5%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAABYlAAAWJQFJUiTwAAAB10lEQVQ4y5VSa2/TUAzt//8RTBqvAV9hQqhsdC2sq0jXUqFMYx+gabIuj9I2yc3z5mC7TRVWVQhLVm78OPax3cIjybIMeZ7vaZqmorWf367rYj6fw3Ec+L6PqqrQursfwbQGMGdXsP075FkhDq21KL852fNcSrQFQKlYijNw1ihYliVal+Y7tI0TfLw+gTkdIFEpBWRb3QQrpRCGawS+hygKkSbJY2ICJoBNIzWDoih2AU36G9AQKo7FLpqm4mPhPAFkSrUyorda47UxwdF5D8f9IaaLJVYqwYvBCEdnXbIZcJZr/I4Vnl4aFNfFy69jTIMF5esGoHRYYRVFGFsOrm5+YPhrhkUUI05SjCwbfbIZPy0CixGRjf39m1v5+tRIRTNvYQvEwkvIiQp3WhKdqsiFVsIzKwvkiWJuMkOZoy6hadZCmajvZvgXIDk0/fNMEj4VKsBv/rpeAEVAmoC4yMzebJ01CALJ3wOsl9KUMFQ4605w2h6i3ZnAsv3t4vRuu/mhDmtAucWt/cFb4vmbDp48+4DjV+cwby008/bO5hBgvSyWOE5w/xAgou3WJ7a7jubZ/AuQZc2UL8Z4+76H9qdrmuVqL+a/AXt9E53P33Dx5Ts8/zDgHzPY5i//PHPBAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;\"></span>\n  <picture>\n        <source srcset=\"/static/c0ad4b3326ad9017ccf041fe2537b84a/8ac56/service-usage-example.webp 240w,\n/static/c0ad4b3326ad9017ccf041fe2537b84a/d3be9/service-usage-example.webp 480w,\n/static/c0ad4b3326ad9017ccf041fe2537b84a/e46b2/service-usage-example.webp 960w,\n/static/c0ad4b3326ad9017ccf041fe2537b84a/f992d/service-usage-example.webp 1440w,\n/static/c0ad4b3326ad9017ccf041fe2537b84a/882b9/service-usage-example.webp 1920w,\n/static/c0ad4b3326ad9017ccf041fe2537b84a/5a99d/service-usage-example.webp 2153w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/webp\">\n        <source srcset=\"/static/c0ad4b3326ad9017ccf041fe2537b84a/8ff5a/service-usage-example.png 240w,\n/static/c0ad4b3326ad9017ccf041fe2537b84a/e85cb/service-usage-example.png 480w,\n/static/c0ad4b3326ad9017ccf041fe2537b84a/d9199/service-usage-example.png 960w,\n/static/c0ad4b3326ad9017ccf041fe2537b84a/07a9c/service-usage-example.png 1440w,\n/static/c0ad4b3326ad9017ccf041fe2537b84a/29114/service-usage-example.png 1920w,\n/static/c0ad4b3326ad9017ccf041fe2537b84a/89305/service-usage-example.png 2153w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/png\">\n        <img class=\"gatsby-resp-image-image\" src=\"/static/c0ad4b3326ad9017ccf041fe2537b84a/d9199/service-usage-example.png\" alt=\"service usage example\" title=\"service usage example\" loading=\"lazy\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n      </picture>\n  </a>\n    </span>\n</figure>\n<hr></hr>\n<figure>\n\t<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/41ae15afcfbfac0830741fde01637f3d/5e1f2/node-port-illustration.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 71.25%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAABYlAAAWJQFJUiTwAAACNklEQVQ4y3VT247SUBTl//9Bn3xRR42J+GLigzEx8mDkNqXQ0lIKpfeWlgK9sDzrlI7M6JxkJ3u366y99uX0LpcLzuczqrLC6XTE9+lH9H++RH/wAsp6gLps2v9VhdvDe7fWnV7TNDgcDijLUtgZTmTC8lSsvBmizEXTXFDV1QOGxLzzlJDG7z0CsiyT7MfjEXEYI4lTJFGKKIzgui7yPEdRFJKMF5Mkged58H2/NeEHQSBxvbquEcexDGzbxtq2sNs58AOCfOnneSaJqDKKIliWBcfZSttuNyLpDmEYIE1T9AgkGUnbjJ7I7oo4EpdD6VMRyw38NgFVk4D/O3ySxC0h6ya4LbmQQIJccZEKq6pELXpYFAcZN00tv2XZ/kre4ijggZBT5KFKZiNgy5LEBctayQTsc7bfSyyTUpFUKLCBiEPh78X/R4RhGMI0lhgrCt6PVbwdz/FFWSDP2h5yMMQ6joPVUse36Qzvpgu8Edh7e4tC4B4RysGsLWiGgU+KjruJiq+qhoMcCiSOxFTl2Gv80g18mMxxN1Iwe46w7UUiViaQPsvllHlOp5O0nZiqs7ExUBf4PNPRVzTMN88Q/m1wIvvEOL/uKdXVdQNX9NnQFvix0PH6XserkYqJUHjM/0PIhpPEFiVRHX1OtCMknon2+1Tu4NI04QjFHMw/QyEhl9Q0DQyHv6FrmlifnVzo2zfM6ZJMUe4xGg3lJoRPCbvsfDm0LmbPuMje9XndYujTuvfNp/sHM/gnOAUAcO0AAAAASUVORK5CYII=&apos;); background-size: cover; display: block;\"></span>\n  <picture>\n        <source srcset=\"/static/41ae15afcfbfac0830741fde01637f3d/8ac56/node-port-illustration.webp 240w,\n/static/41ae15afcfbfac0830741fde01637f3d/d3be9/node-port-illustration.webp 480w,\n/static/41ae15afcfbfac0830741fde01637f3d/e46b2/node-port-illustration.webp 960w,\n/static/41ae15afcfbfac0830741fde01637f3d/f992d/node-port-illustration.webp 1440w,\n/static/41ae15afcfbfac0830741fde01637f3d/882b9/node-port-illustration.webp 1920w,\n/static/41ae15afcfbfac0830741fde01637f3d/1c229/node-port-illustration.webp 2134w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/webp\">\n        <source srcset=\"/static/41ae15afcfbfac0830741fde01637f3d/8ff5a/node-port-illustration.png 240w,\n/static/41ae15afcfbfac0830741fde01637f3d/e85cb/node-port-illustration.png 480w,\n/static/41ae15afcfbfac0830741fde01637f3d/d9199/node-port-illustration.png 960w,\n/static/41ae15afcfbfac0830741fde01637f3d/07a9c/node-port-illustration.png 1440w,\n/static/41ae15afcfbfac0830741fde01637f3d/29114/node-port-illustration.png 1920w,\n/static/41ae15afcfbfac0830741fde01637f3d/5e1f2/node-port-illustration.png 2134w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/png\">\n        <img class=\"gatsby-resp-image-image\" src=\"/static/41ae15afcfbfac0830741fde01637f3d/d9199/node-port-illustration.png\" alt=\"service usage example\" title=\"service usage example\" loading=\"lazy\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n      </picture>\n  </a>\n    </span>\n\t<figcaption> NodePort </figcaption>\n</figure>\n<hr></hr>\n<figure>\n\t<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/3bd36cbd6975d13e09b3c0d5c0aa1b59/e996b/load-balancer-illustration.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 84.16666666666667%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAAAsSAAALEgHS3X78AAACp0lEQVQ4y41UaW/TQBD1//8JqEJVJb71G0JCKqWAgNIWlTZNmsO57PiK7yuxkyZ9zNtgaCtAXWm0u97ZN29m3lq7v78HjWNZl+jZF+ha5+iYp4hyT31/6NPM/xqacsIvwFWOs8FrfLw+xKf2IfzMeATyHFCNh5vNVpy2iJMCphVjPHFhmCHmfiZnG2y320dg/zPt7u4Odb2SzQY/bsZ4+eod9g7eiL3F0YcrBbher5U9Z2hVVQlgzdAIwhh9fYrR2MRA5sl0hjzPsVqtUJalmhlguVwiyzJ1RmvWxNEWiwXSNEVRlLCtGRzbQuB7CIK5Mlv2RVEoZ868OJ1OMZuZME0DpmEoH9d1kCTJLmUC+r4Pz3MRhoGs5xI1RRxHak8gDjLxXBeO4yCKQgGIlU8Q+IKRqHMFyDQ4GJ2OjOYSXNZFwVQqdcZAq1UtKS9kn2E+9xS453nS0PgPII0dImUVWaKmUYBc5iJLFMPlYgeyljpyZgb0KwSoFJ8sjZE+ZEhzJR3XsdGfTHCqj/BVH6M1GiOVS1VVg/WmH5mGUt++OcP5xMTZxMBY7paSxW+GHH4QQO938bnVxv51Hy8ub3GsT1BLikr40l3Kx7JtDHtdHLc62L/qYe+ygwtRRFU8AWQaZONJIzqWjbbYSC4zXZaEsqHII6aapxhYFk76I7wX688slE8B2W12jd0rpCasH+u0WJTqnOwoH0tkovducXR1g4PWQLH8blh/Z0gwAqdkK1JgpxvA5ukxaCxZjF0P3yTVLyMDQ+dJDZsuU3fDoY5Op60ES42xGc1QKUc77Y30Abo3LfiOhUQCk8gjhtQXWTb6CqVJKn2RzcP3zGfI79SfJXWcy6OgD79rlAHr0lxYrxsZbRUbslNycvmKQuXTkGj+RJx3P5kaPwGe3AyyUzgqdAAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;\"></span>\n  <picture>\n        <source srcset=\"/static/3bd36cbd6975d13e09b3c0d5c0aa1b59/8ac56/load-balancer-illustration.webp 240w,\n/static/3bd36cbd6975d13e09b3c0d5c0aa1b59/d3be9/load-balancer-illustration.webp 480w,\n/static/3bd36cbd6975d13e09b3c0d5c0aa1b59/e46b2/load-balancer-illustration.webp 960w,\n/static/3bd36cbd6975d13e09b3c0d5c0aa1b59/c139f/load-balancer-illustration.webp 1050w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/webp\">\n        <source srcset=\"/static/3bd36cbd6975d13e09b3c0d5c0aa1b59/8ff5a/load-balancer-illustration.png 240w,\n/static/3bd36cbd6975d13e09b3c0d5c0aa1b59/e85cb/load-balancer-illustration.png 480w,\n/static/3bd36cbd6975d13e09b3c0d5c0aa1b59/d9199/load-balancer-illustration.png 960w,\n/static/3bd36cbd6975d13e09b3c0d5c0aa1b59/e996b/load-balancer-illustration.png 1050w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/png\">\n        <img class=\"gatsby-resp-image-image\" src=\"/static/3bd36cbd6975d13e09b3c0d5c0aa1b59/d9199/load-balancer-illustration.png\" alt=\"service usage example\" title=\"service usage example\" loading=\"lazy\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n      </picture>\n  </a>\n    </span>\n\t<figcaption> LoadBalancer </figcaption>\n</figure>\n<hr></hr>\n<figure>\n\t<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/6d23bce8375bdca5ac4cd5e37fc04afa/32ac3/ingress-illustration.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 32.916666666666664%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAAAsSAAALEgHS3X78AAABZklEQVQoz22RW2+CQBCF/f+/oL/ANK3W3hIftG3SPtRY6wUUq4kXUKTCsiCCIkVOZ9dofHCTk53ZZL+cM5PLsgznEidNU/i+D8/zTvdms0EUhdhut/DWa4yXDkzXw8RmMLkn+2gbI4cLJ45jOI4DxthJnHNYlgXPZVCnOvJfbZQVDTcNBWW1j3y9BYO5yP2lOwil6R5JklK9RxhGcGwbNukIDoJA9ity2zdmKLVUvPQGeGz38KoNcNdUyDFH7qF2hY/+LbThCNfFd5SeP8mJI+O5rithYRhK2fYSK18A57hvdSXoqdPDmzZEqakegBafggULrOmDuWCwlpzcrAkYyZgCKmoBtH4t+NyFps9Q+FZQ7f4QWEWVnBYaHcwZvzzDJEnkMsTMhERcAXQcGwG993QDRXJYEUCKXBFAcjgXM8yyPQ7KsD/bttj0breTOtY+xY1EEvpYG+tQDBP1iQFlZqI2msKlZP+zEAfhYOYTFAAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;\"></span>\n  <picture>\n        <source srcset=\"/static/6d23bce8375bdca5ac4cd5e37fc04afa/8ac56/ingress-illustration.webp 240w,\n/static/6d23bce8375bdca5ac4cd5e37fc04afa/d3be9/ingress-illustration.webp 480w,\n/static/6d23bce8375bdca5ac4cd5e37fc04afa/e46b2/ingress-illustration.webp 960w,\n/static/6d23bce8375bdca5ac4cd5e37fc04afa/c7643/ingress-illustration.webp 1249w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/webp\">\n        <source srcset=\"/static/6d23bce8375bdca5ac4cd5e37fc04afa/8ff5a/ingress-illustration.png 240w,\n/static/6d23bce8375bdca5ac4cd5e37fc04afa/e85cb/ingress-illustration.png 480w,\n/static/6d23bce8375bdca5ac4cd5e37fc04afa/d9199/ingress-illustration.png 960w,\n/static/6d23bce8375bdca5ac4cd5e37fc04afa/32ac3/ingress-illustration.png 1249w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/png\">\n        <img class=\"gatsby-resp-image-image\" src=\"/static/6d23bce8375bdca5ac4cd5e37fc04afa/d9199/ingress-illustration.png\" alt=\"service usage example\" title=\"service usage example\" loading=\"lazy\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n      </picture>\n  </a>\n    </span>\n\t<figcaption> Ingress </figcaption>\n</figure>\n<hr></hr>\n<h3 id=\"replicaset\" style=\"position:relative;\"><a href=\"#replicaset\" aria-label=\"replicaset permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>ReplicaSet</h3>\n<ul>\n<li>Purpose: to maintain a stable number of replica Pods running</li>\n<li>\n<p>Use case:</p>\n<ul>\n<li>High Availability (HA): to ensure service always being available</li>\n<li>Load Balance</li>\n<li>For example: Login service, API service, …</li>\n</ul>\n</li>\n</ul>\n<figure style=\"max-width: 500px\">\n\t<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/400e1ae8ff7ae286875cad7c3eb199bc/587b0/replica-set.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 66.25%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAAAsSAAALEgHS3X78AAAB9klEQVQ4y31TWW7bQAz1/Y/QAm0+ijZtruB8tUhiI40lu4ptBQkcL1osydoXa3slxxlDRowQIIbD4bzhIzk9kNR1jaZp0Lbt0e4K+5IkQZomyLL0aLOfhe9J6bHTsiwYxgbL5SvZJjzPRVVV4sJ+v4fv+yjLPfI8E4BFkYt9EPjvQHt8kcHm8xnu7m6PoHEcE0BO4B4B7kSw42zx9KQLIJYoCsWDEpC1x/Q4IIoiohKTHQhKXcmyjB6IKLMCTduILHnPfgFG2khAfCBNTbTLUtArKNuM6uY5DgoC4n1dHc7bN9qCskxVKktCwYYf4NmwsNg6iAkgyXKsPR8vpoWl4yLNC4RJipXrUZxJZzukxOAkw+YNcLQ2caHO8fnPEF9pvV+ZuF9uyJ7h0+8BLsY6xhsLN4s1vihT8g3xTXvG4GV5HnBq2riazPFjqOBSnUIzt9Ao218THZfk+zmeQbddKCuDfHN8H4xw9U/HZG2cAkrKh7VFGIaiEVyrimrF6u12wsfTwVqSL6C4RtTxTFO6Q8ozxt3nEUrTVKhLTZF7XvlcfoR3XT7N8ADouI6YvbGq4vFRg6ZpYmYVZYTXxQLbrX06h+fGRQIyHR5m27agEsD1df+g/T4eHv7SmS3Ouol8CMhUdlQz/in8/TgbyzSFSj//pG6G/wH4uOEoJgVH5wAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;\"></span>\n  <picture>\n        <source srcset=\"/static/400e1ae8ff7ae286875cad7c3eb199bc/8ac56/replica-set.webp 240w,\n/static/400e1ae8ff7ae286875cad7c3eb199bc/d3be9/replica-set.webp 480w,\n/static/400e1ae8ff7ae286875cad7c3eb199bc/e46b2/replica-set.webp 960w,\n/static/400e1ae8ff7ae286875cad7c3eb199bc/dbca2/replica-set.webp 970w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/webp\">\n        <source srcset=\"/static/400e1ae8ff7ae286875cad7c3eb199bc/8ff5a/replica-set.png 240w,\n/static/400e1ae8ff7ae286875cad7c3eb199bc/e85cb/replica-set.png 480w,\n/static/400e1ae8ff7ae286875cad7c3eb199bc/d9199/replica-set.png 960w,\n/static/400e1ae8ff7ae286875cad7c3eb199bc/587b0/replica-set.png 970w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/png\">\n        <img class=\"gatsby-resp-image-image\" src=\"/static/400e1ae8ff7ae286875cad7c3eb199bc/d9199/replica-set.png\" alt=\"service usage example\" title=\"service usage example\" loading=\"lazy\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n      </picture>\n  </a>\n    </span>\n\t<figcaption> ReplicaSet </figcaption>\n</figure>\n<ul>\n<li><a href=\"https://github.com/barry800414/k8s-example/tree/master/k8s/replicaSet\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Demo time !</a></li>\n</ul>\n<hr></hr>\n<h3 id=\"deployment\" style=\"position:relative;\"><a href=\"#deployment\" aria-label=\"deployment permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Deployment</h3>\n<ul>\n<li>Purpose: to deploy our application more gracefully</li>\n<li>Use case: almost every application</li>\n<li>Before introducting Deployment, let’s see what kind of strategies we can use for deploying new version of application:</li>\n</ul>\n<figure>\n\t<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/32d381edc7b38cc0569bbfd3c340f006/b6c94/deployment-all-delete-create.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 53.75%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAAsSAAALEgHS3X78AAACGUlEQVQoz2WS227aQBCGef8nqHrT20qphJpEbRUlVdqEJuHo4NolYK+B4BM+4bMNmL/DEieotTXe8TezM7sz09gB2Gy3WG/W2Gw22JJey3r9xqqq4nrNjvV63e12aOw/RZ4hCHwkcYSyKLgDZ76HJIlRFDnfkBPziWVZijzLaM048zwPaZpyn8aWMidk8IIAYRQho4BFWXLm+j7COD6wokScJHBpc0wsTTOeLM0SeL5LtohuWaIhGxY+tgWcD/+gORDxVRzh11jFp76IU0Hi7Jv0hNZgiNPrFr7c3OHsRwtXdz3cS5e4fjzBT7GJ78IJ2qMLNKIsB7NsMNOCZtpYuB6cMIRmL8EomUY23fPhkEwXOtjsGbOFAZ245SygL6eYmyqeLQZ3ZaJBlcSUqWCqwsV3HZR5Do10TZ0QmyCgaxZ7tvdjCpfVvkSriOyMi6qoyKgMFLDCkGn4cHOPM+E3XAro2A4ktYfPrfe4Fc/hLB0s6cTi5AHN23d4kC84M+jEj+MWZx35CmmS7rtc4dk00X8aYzSbI4pC3gDTXkBW+nTNMaLwwHRrDonY3FAREouoibo1gzTpUQyGkprJx+b4qf8zqq3n+DQexStPE5oGN3hj9ObkF65iKkFII5TTlV+cqxepAyrKBN1uh8Yhfk0myzIEYQDDNGDbNp8/URTJr4tOp0O1ZYeAxyf7V6//j5llWWi325Al6T/fv2h/N1OA+XsZAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;\"></span>\n  <picture>\n        <source srcset=\"/static/32d381edc7b38cc0569bbfd3c340f006/8ac56/deployment-all-delete-create.webp 240w,\n/static/32d381edc7b38cc0569bbfd3c340f006/d3be9/deployment-all-delete-create.webp 480w,\n/static/32d381edc7b38cc0569bbfd3c340f006/e46b2/deployment-all-delete-create.webp 960w,\n/static/32d381edc7b38cc0569bbfd3c340f006/58a7f/deployment-all-delete-create.webp 1429w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/webp\">\n        <source srcset=\"/static/32d381edc7b38cc0569bbfd3c340f006/8ff5a/deployment-all-delete-create.png 240w,\n/static/32d381edc7b38cc0569bbfd3c340f006/e85cb/deployment-all-delete-create.png 480w,\n/static/32d381edc7b38cc0569bbfd3c340f006/d9199/deployment-all-delete-create.png 960w,\n/static/32d381edc7b38cc0569bbfd3c340f006/b6c94/deployment-all-delete-create.png 1429w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/png\">\n        <img class=\"gatsby-resp-image-image\" src=\"/static/32d381edc7b38cc0569bbfd3c340f006/d9199/deployment-all-delete-create.png\" alt=\"service usage example\" title=\"service usage example\" loading=\"lazy\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n      </picture>\n  </a>\n    </span>\n\t<figcaption> Delete all old pods, and then create all new pods </figcaption>\n</figure>\n<hr></hr>\n<figure>\n\t<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/b3be12fbd77a0b3bd8fe4fb497d29274/07a9c/deployment-all-create-then-replace.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 40.416666666666664%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAAsSAAALEgHS3X78AAABpklEQVQoz1VSf2+bMBDl+3+M9a9qq5Q2UtdJrapqVapkyrqEEmEcfnRAEhIYtBQbk5C3w+mqzNKT7bt37x6Hjf1+jw7d2u12EEJASIHtdvtfXPPo3O1N02ielFLn8B7vYOBoNUohy1L8yTIoOn/ESaBt2497J5SmGxRFji3ljpehO5IbWdfkTKImoUO39t1h50hpwf2Rk5ZQq5rEBWqq/fdFhrtOcfbTxKVpoz+d4cpiGLFr3D+dYzDr43byBV40wTRaozexcEn5/tTGHXMwsC7w3ewRzon3GUkewijJlRMv4ISxRphmWGUR/MiGF9rwY4bilcbwJsAoz8JI78s8x2LtE48Rj+F5ySFVRTMkm2Hgw+MOXIehKl9RUTFnHHPuIqJiUQmKlQg8V/MCdw5VS5p1Du7MCRzLxeoww06QhSFOh2N8m1ooyxJSSIxmN/g6/AQvnqHIX5BnG/zyn3Ey+IEhNZKiQvGS4+6xh+vxKaKV30kdBOMkwch2YPqBfg6qVuDBEybsAYvkN/3xBjsauhfHeCAej2L9Ikpybc3HMPkImyzRgn8B52lWIdk16TYAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;\"></span>\n  <picture>\n        <source srcset=\"/static/b3be12fbd77a0b3bd8fe4fb497d29274/8ac56/deployment-all-create-then-replace.webp 240w,\n/static/b3be12fbd77a0b3bd8fe4fb497d29274/d3be9/deployment-all-create-then-replace.webp 480w,\n/static/b3be12fbd77a0b3bd8fe4fb497d29274/e46b2/deployment-all-create-then-replace.webp 960w,\n/static/b3be12fbd77a0b3bd8fe4fb497d29274/f992d/deployment-all-create-then-replace.webp 1440w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/webp\">\n        <source srcset=\"/static/b3be12fbd77a0b3bd8fe4fb497d29274/8ff5a/deployment-all-create-then-replace.png 240w,\n/static/b3be12fbd77a0b3bd8fe4fb497d29274/e85cb/deployment-all-create-then-replace.png 480w,\n/static/b3be12fbd77a0b3bd8fe4fb497d29274/d9199/deployment-all-create-then-replace.png 960w,\n/static/b3be12fbd77a0b3bd8fe4fb497d29274/07a9c/deployment-all-create-then-replace.png 1440w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/png\">\n        <img class=\"gatsby-resp-image-image\" src=\"/static/b3be12fbd77a0b3bd8fe4fb497d29274/d9199/deployment-all-create-then-replace.png\" alt=\"service usage example\" title=\"service usage example\" loading=\"lazy\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n      </picture>\n  </a>\n    </span>\n\t<figcaption> Create all new pods, and then delete all old pods </figcaption>\n</figure>\n<hr></hr>\n<figure>\n\t<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/3748cf441d26967ecb55ad5bb343df5c/5faa8/deployment-delete-one-and-add.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 42.91666666666667%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAAAsSAAALEgHS3X78AAAB1ElEQVQoz32RaW/TQBBA/f9/B19QVRBqSgFBD1oJSHPYKW18xGe8jo/S2GlF7Bx9TNwK8aFipZFGb9/Mzu5qm+2W1WrFer1iK/lms2ljtX6B/cfbbDfsltY0NeX8jqoq2eVN01Avl5TlvGV1/czql1hNVZYtW0rN46M0rGWjWixELtsJduJyJ1bVM2v+YU/FzY5J1DJAtaj+DgOPaHs9g85ozMHgisOTc3rWhLfGDZ2LLh8uvnIyeo1uDzk4/s6XQYczY59jfY8bv8epvs+p8Ybzq3d8vHxFdhehBbd3eFmBl+YoiThNcfOCcJah8ox0HgiPCeKUbK5QhUvyyyctYsm9NqJ0grp1qVe/paHrEkchaaKI4ynxNMK1bbLZjEyah0Ek+8ImDkV+S6JmhH4o3hTfC8TJiULJXb99U80YDpg4NrY0MXSDZJYwMnRsa4zjOOhDnUQO+zkyxLOwTLNlM/Gur0bima036PdZyF9on8wJepBgBZf8sI6kOOGz5TLwY+ywL+w9SimOHY9hoBh7XbrOkbCYMzeg502xgz7fzEMW9xVaX8Z3lFxNWYzDHkWRS2GENU2IEpub8JI8z9HlWjsviM0nT9goijFj8ZTNtd/l4eGePx/WlTngqY4iAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;\"></span>\n  <picture>\n        <source srcset=\"/static/3748cf441d26967ecb55ad5bb343df5c/8ac56/deployment-delete-one-and-add.webp 240w,\n/static/3748cf441d26967ecb55ad5bb343df5c/d3be9/deployment-delete-one-and-add.webp 480w,\n/static/3748cf441d26967ecb55ad5bb343df5c/e46b2/deployment-delete-one-and-add.webp 960w,\n/static/3748cf441d26967ecb55ad5bb343df5c/f992d/deployment-delete-one-and-add.webp 1440w,\n/static/3748cf441d26967ecb55ad5bb343df5c/6a202/deployment-delete-one-and-add.webp 1444w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/webp\">\n        <source srcset=\"/static/3748cf441d26967ecb55ad5bb343df5c/8ff5a/deployment-delete-one-and-add.png 240w,\n/static/3748cf441d26967ecb55ad5bb343df5c/e85cb/deployment-delete-one-and-add.png 480w,\n/static/3748cf441d26967ecb55ad5bb343df5c/d9199/deployment-delete-one-and-add.png 960w,\n/static/3748cf441d26967ecb55ad5bb343df5c/07a9c/deployment-delete-one-and-add.png 1440w,\n/static/3748cf441d26967ecb55ad5bb343df5c/5faa8/deployment-delete-one-and-add.png 1444w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/png\">\n        <img class=\"gatsby-resp-image-image\" src=\"/static/3748cf441d26967ecb55ad5bb343df5c/d9199/deployment-delete-one-and-add.png\" alt=\"service usage example\" title=\"service usage example\" loading=\"lazy\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n      </picture>\n  </a>\n    </span>\n\t<figcaption> Delete one, and create one, and so on </figcaption>\n</figure>\n<hr></hr>\n<figure>\n\t<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/b63e90f8013c2a1df5f7ad0f05da9ce0/8b936/deployment-rolling-update.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 47.5%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAAsSAAALEgHS3X78AAAB2ElEQVQoz21S2ZKbQAzk//8lz/uSw5tKbG9ly8t61zbYGBg7w3Aa8PjgdGc0Cbm7SpQkhJBabUgp0XUdCLfbDX3fo7peUZal9glFUeCqcsP7ART/bgQjCALUdY0oinA6nUAxDzhs20aapkiSBJa1QhiG4JzjeDxqfxji7+YGBVVV6+KypOIIh6xQjYVumCYZQhEiU75QubO86Nq2a3UjmviPCauqQqOMEIY7pJnALloiPUSI4xg8cRFme0RxhDSP4PAX1QVom05tJDU118vl14R1dYWnpnLCGA/WK+beBu+XE7w6M7ysP+PJeQtzfY8nawybzTB6fgORMjBh41hKCCH0j2kbGs64tQ1m/h4je4uPDsNsL/DO3mPOXEycZ3zxLJi+jUf7DhtuYrq6w8KfwtzeK+LUwcpCcz8c10DfYb7nGG8Zxi6D+VVgtHFh7gJ8cjkmPsejsomzwJIzfFBbbPgMCzb9zuGt/3l5vTI9yvMZhbIwy3A4SsRKJpmy6HDQcVqUCNIcuVQ1uUSWx4gV113baYW0bYs8z3FRXBrDdQie62LHmPbpqtZqhYY+aBqsLQuJ4oog5QlFXvxfNoPT/zASsO/7Wm8EIp0rbRIo53ke6qb+R9gDvgGGE/R/BoLWhAAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;\"></span>\n  <picture>\n        <source srcset=\"/static/b63e90f8013c2a1df5f7ad0f05da9ce0/8ac56/deployment-rolling-update.webp 240w,\n/static/b63e90f8013c2a1df5f7ad0f05da9ce0/d3be9/deployment-rolling-update.webp 480w,\n/static/b63e90f8013c2a1df5f7ad0f05da9ce0/e46b2/deployment-rolling-update.webp 960w,\n/static/b63e90f8013c2a1df5f7ad0f05da9ce0/338ac/deployment-rolling-update.webp 1368w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/webp\">\n        <source srcset=\"/static/b63e90f8013c2a1df5f7ad0f05da9ce0/8ff5a/deployment-rolling-update.png 240w,\n/static/b63e90f8013c2a1df5f7ad0f05da9ce0/e85cb/deployment-rolling-update.png 480w,\n/static/b63e90f8013c2a1df5f7ad0f05da9ce0/d9199/deployment-rolling-update.png 960w,\n/static/b63e90f8013c2a1df5f7ad0f05da9ce0/8b936/deployment-rolling-update.png 1368w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/png\">\n        <img class=\"gatsby-resp-image-image\" src=\"/static/b63e90f8013c2a1df5f7ad0f05da9ce0/d9199/deployment-rolling-update.png\" alt=\"service usage example\" title=\"service usage example\" loading=\"lazy\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n      </picture>\n  </a>\n    </span>\n\t<figcaption> Create several and delete several, and so on (rolling update) </figcaption>\n</figure>\n<hr></hr>\n<p>And actually, Deployment works by ReplicaSet:</p>\n<figure style=\"max-width: 400px\">\n\t<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 782px; \">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/3b61e9f04e0c79aa493e7f608d7d7b7e/2e195/deployment-replicaSet-pod.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 21.666666666666668%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAYAAACOXx+WAAAACXBIWXMAAAsSAAALEgHS3X78AAAA+0lEQVQY0y2P3U7CQBhEef8H8C+mRhO90CujIFHvNNFAJCAFIuAFP7ZdSgtt13a7ND3C4pecZDKTTL6plGVJlmXkef6PIk1TdpdrhVjNWMbOlh+jVZ6ZzI8TZuEaJ0qYBivW8tf4laIoSJIEITw8z2WxEATBEpVpJs6QauuY2/ejLYfUO6fMxDepTLkbjLnsDrHePrgZTrhu2QRRvC+Ucl/oug6+vyAMAyjBC6Y8dc+pNS2qDYtn+wIRzqEoue+POGsPOHltctUbc/DSYOQKKmbadqrW2rDTSinz/qbYEMkQmUWGWK7QG22yub+k1rZ5tL946PSof/YJEskfqlQmPvxtYi8AAAAASUVORK5CYII=&apos;); background-size: cover; display: block;\"></span>\n  <picture>\n        <source srcset=\"/static/3b61e9f04e0c79aa493e7f608d7d7b7e/8ac56/deployment-replicaSet-pod.webp 240w,\n/static/3b61e9f04e0c79aa493e7f608d7d7b7e/d3be9/deployment-replicaSet-pod.webp 480w,\n/static/3b61e9f04e0c79aa493e7f608d7d7b7e/c0b7e/deployment-replicaSet-pod.webp 782w\" sizes=\"(max-width: 782px) 100vw, 782px\" type=\"image/webp\">\n        <source srcset=\"/static/3b61e9f04e0c79aa493e7f608d7d7b7e/8ff5a/deployment-replicaSet-pod.png 240w,\n/static/3b61e9f04e0c79aa493e7f608d7d7b7e/e85cb/deployment-replicaSet-pod.png 480w,\n/static/3b61e9f04e0c79aa493e7f608d7d7b7e/2e195/deployment-replicaSet-pod.png 782w\" sizes=\"(max-width: 782px) 100vw, 782px\" type=\"image/png\">\n        <img class=\"gatsby-resp-image-image\" src=\"/static/3b61e9f04e0c79aa493e7f608d7d7b7e/2e195/deployment-replicaSet-pod.png\" alt=\"service usage example\" title=\"service usage example\" loading=\"lazy\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n      </picture>\n  </a>\n    </span>\n</figure>\n<ul>\n<li><a href=\"https://github.com/barry800414/k8s-example/tree/master/k8s/deployment\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Demo time !</a></li>\n</ul>\n<hr></hr>\n<h3 id=\"persistent-volume\" style=\"position:relative;\"><a href=\"#persistent-volume\" aria-label=\"persistent volume permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Persistent Volume</h3>\n<p>Pods can be deleted/removed at any time, and all the files inside pod will disappear by default. However, for some of service, persistent storage is crucial. (e.g. DB service)</p>\n<figure>\n\t<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/b23b3384947b362bdcf4afb79ec64ec3/01294/volume.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 28.750000000000004%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsSAAALEgHS3X78AAABZ0lEQVQY032RXU/TYBiG+zdJPJLfYeJv8MwDWDRiDAQDw2gQN4FE2q5D+76t/Rjrxrsy3Ec2gtsq3WgvaznTxCu58uQ+eXLnebRo1ERNBGoqaA/OCWITv2cQDWw6I1ko6Awld8uEP+R5/pcZeXZfmJVZ2zdecqC/pqpvsXv6gjdHG+x8rvDJq1BvVaiFG9SCTW7mIx7I+R/a/qHF2wOTnb0v7FZ19t5ZHB4Ljv1tmp0PSHWCHlbLhUUZVqtl4ao0y3KSQYtENVioc9L5FM31v3PZ7RJFbeI4ZjqZ4IUBdWebi8jHd1v4F4LJ7Aej4RilFNfXfa6u+izmPxm+f0pYeYx6tc5tUEP7KgVCSL7ZotRxXPSmxUd7i1bXxfc8ZNhgfNsvG6ZpynL50PJXMieuPsF4toZ8/ohZWEc7s09puAYNx8Aqpil1TOcMcXlC0LNo9yWeMknuZv/cq/gB6Tgi6TVJYpvV4obfMTquFyF3VDEAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;\"></span>\n  <picture>\n        <source srcset=\"/static/b23b3384947b362bdcf4afb79ec64ec3/8ac56/volume.webp 240w,\n/static/b23b3384947b362bdcf4afb79ec64ec3/d3be9/volume.webp 480w,\n/static/b23b3384947b362bdcf4afb79ec64ec3/e46b2/volume.webp 960w,\n/static/b23b3384947b362bdcf4afb79ec64ec3/f992d/volume.webp 1440w,\n/static/b23b3384947b362bdcf4afb79ec64ec3/18043/volume.webp 1615w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/webp\">\n        <source srcset=\"/static/b23b3384947b362bdcf4afb79ec64ec3/8ff5a/volume.png 240w,\n/static/b23b3384947b362bdcf4afb79ec64ec3/e85cb/volume.png 480w,\n/static/b23b3384947b362bdcf4afb79ec64ec3/d9199/volume.png 960w,\n/static/b23b3384947b362bdcf4afb79ec64ec3/07a9c/volume.png 1440w,\n/static/b23b3384947b362bdcf4afb79ec64ec3/01294/volume.png 1615w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/png\">\n        <img class=\"gatsby-resp-image-image\" src=\"/static/b23b3384947b362bdcf4afb79ec64ec3/d9199/volume.png\" alt=\"service usage example\" title=\"service usage example\" loading=\"lazy\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n      </picture>\n  </a>\n    </span>\n\t<figcaption> We need a persistent storage even pod was deleted and re-created </figcaption>\n</figure>\n<hr></hr>\n<figure>\n\t<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/61490ed023feef280c92bc909851b446/e84a7/persistent-volume-claim.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 46.25%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAAAsSAAALEgHS3X78AAAB0klEQVQoz2WSa2+aYBiG/YXLftuyZKcvO2TdMYtZtDZNq22tJ6xbQWiVWc8DUfCEglXxGkI1W/aQi+cOL9zv/T4hsrh3KHeTPicoWpJS/YjszXfytzHKnTOkTgqxlcJZ2Gxrs9n4eIGed8tYmReYly+Z65XgWWQ6H5LIH/LlOMbHxDcO4l/5EI8Sz0W5uHvn855k5TUTx3ww9Nh460CPSp+Rnz5GevKIqRwLDcezIeeFIvmCSianIFypiFKXlHBJUT3mV13hZ/WCkd3fJ/TvgXb1G1qnz2iePsc11NDQmpiU5CI1tYoiS6jVW9qNJudXJ1yrGSrlGkr1GmPY3Rsul8uAlefrdWi+W4vMXZucmKYoCQhSIUQUyJbPKLfS1DoySjPPaDrAe/jYsiwMw0DXdfp9IxzDlm3CwNm/vM06wFfMnRmmOQiwrD6jkcVqeb8/6mKxYL0O57jr+4ThTP4tzz/KbDbDtm3aHYO7hka720frDZlOp0iSSK/Xw3VdxuMxk8kEx3HCGYa/wf8Eu3se0cMCr94c+SR4+ymFpvdpNOoMBoOg53JZ8vkcmvY7NPw72c5o11erFT+kBsm0RCotkhWqfqrl/n3TNFEUGVmWgw229QfGCpf9NIKMegAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;\"></span>\n  <picture>\n        <source srcset=\"/static/61490ed023feef280c92bc909851b446/8ac56/persistent-volume-claim.webp 240w,\n/static/61490ed023feef280c92bc909851b446/d3be9/persistent-volume-claim.webp 480w,\n/static/61490ed023feef280c92bc909851b446/e46b2/persistent-volume-claim.webp 960w,\n/static/61490ed023feef280c92bc909851b446/25b5c/persistent-volume-claim.webp 1317w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/webp\">\n        <source srcset=\"/static/61490ed023feef280c92bc909851b446/8ff5a/persistent-volume-claim.png 240w,\n/static/61490ed023feef280c92bc909851b446/e85cb/persistent-volume-claim.png 480w,\n/static/61490ed023feef280c92bc909851b446/d9199/persistent-volume-claim.png 960w,\n/static/61490ed023feef280c92bc909851b446/e84a7/persistent-volume-claim.png 1317w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/png\">\n        <img class=\"gatsby-resp-image-image\" src=\"/static/61490ed023feef280c92bc909851b446/d9199/persistent-volume-claim.png\" alt=\"service usage example\" title=\"service usage example\" loading=\"lazy\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n      </picture>\n  </a>\n    </span>\n\t<figcaption> Inside kubernetes, the concept was splitted into PersistentVolume and PersistentVolumeClaim </figcaption>\n</figure>\n<hr></hr>\n<figure>\n\t<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/08d5536a26713e2604e3cdc325f69cf9/2b608/persistent-volume-flow.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 50.83333333333333%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAAsSAAALEgHS3X78AAAB10lEQVQoz4VSyY7TQBD1N3Lld7hzQkgcRuIKAiHBYRBiOYCYzFiyEkxCJrbjfe3Y8R47th9djSYwMBIll9vdrq5671VJ4zgiTVPQut/v4XkegiBAGIbCfd8X59M04S4b+haZdoHs+gu6JodEca5ro++P2O12MAwDlmVhu93CNE3Ytg3HcVAUBY/p0XUdDocDukOLbgCq4Br62X3oT+6hcReQmtSD/eYB9qaC/9kwDIJJkiTQdQ2O66HJGSL5JaLLZzhWDFKaxPh4/g4uRxTHMTabjUBGCHVdh65p2HLUtM+yTDChuNnsAuv1D3R8z4HiRhAJf2zquhbV6SKtURSBseSkZ11XJ7QUQ9SFttPIn0F8S/SiwIkfUhA1gS6TXsMw3qJsuTE0w0fCckH/bxMJCZ/j2DjyBIwxQY0aEfgB18iCH9s4dDXiJMPjs9d4+Og5zt9foSoLlGUpvKoqNE3zizIrK7xQljBi9k/FjTPH5eITvmkzTq+DYQYwrBC7tOCT4UKWZSwWC6iqKrQXCOPdHq8+KNhYPuIoFI2gprRNi+/GFeaqjPn6K45Df6sYzSaNV57nAmHbtr+bcmNUdbVaYbla8uQMeqTgrfIUqvP5pBH5ON495PTvJ+Ee8R2pxkXrAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;\"></span>\n  <picture>\n        <source srcset=\"/static/08d5536a26713e2604e3cdc325f69cf9/8ac56/persistent-volume-flow.webp 240w,\n/static/08d5536a26713e2604e3cdc325f69cf9/d3be9/persistent-volume-flow.webp 480w,\n/static/08d5536a26713e2604e3cdc325f69cf9/e46b2/persistent-volume-flow.webp 960w,\n/static/08d5536a26713e2604e3cdc325f69cf9/f992d/persistent-volume-flow.webp 1440w,\n/static/08d5536a26713e2604e3cdc325f69cf9/96506/persistent-volume-flow.webp 1540w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/webp\">\n        <source srcset=\"/static/08d5536a26713e2604e3cdc325f69cf9/8ff5a/persistent-volume-flow.png 240w,\n/static/08d5536a26713e2604e3cdc325f69cf9/e85cb/persistent-volume-flow.png 480w,\n/static/08d5536a26713e2604e3cdc325f69cf9/d9199/persistent-volume-flow.png 960w,\n/static/08d5536a26713e2604e3cdc325f69cf9/07a9c/persistent-volume-flow.png 1440w,\n/static/08d5536a26713e2604e3cdc325f69cf9/2b608/persistent-volume-flow.png 1540w\" sizes=\"(max-width: 960px) 100vw, 960px\" type=\"image/png\">\n        <img class=\"gatsby-resp-image-image\" src=\"/static/08d5536a26713e2604e3cdc325f69cf9/d9199/persistent-volume-flow.png\" alt=\"service usage example\" title=\"service usage example\" loading=\"lazy\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n      </picture>\n  </a>\n    </span>\n\t<figcaption> The work flow of using persistent storage in kubernetes </figcaption>\n</figure>\n<ul>\n<li><a href=\"https://github.com/barry800414/k8s-example/tree/master/k8s/persistentVolume\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Demo time !</a></li>\n</ul>\n<hr></hr>\n<h3 id=\"important-resource-types-recap\" style=\"position:relative;\"><a href=\"#important-resource-types-recap\" aria-label=\"important resource types recap permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Important resource types recap</h3>\n<ul>\n<li>Pod: basic working unit</li>\n<li>Service (NodePort, LoadBalancer) &#x26; Ingress: for networking</li>\n<li>ReplicaSet: to keep stable number of replica pods</li>\n<li>Deployment: to deploy application more gracefully</li>\n<li>Persistent Volume: to save data persistently</li>\n</ul>\n<h2 id=\"tips-for-inspecting-issues-in-kubernetes-cluster-while-on-duty\" style=\"position:relative;\"><a href=\"#tips-for-inspecting-issues-in-kubernetes-cluster-while-on-duty\" aria-label=\"tips for inspecting issues in kubernetes cluster while on duty permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Tips for inspecting issues in Kubernetes cluster while on duty</h2>\n<ul>\n<li>\n<p>Common tasks for onduty person:</p>\n<ul>\n<li>ensure applications running correctly</li>\n<li>scale up/down service if needed</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"how-to-monitor-whether-application-is-running-properly-\" style=\"position:relative;\"><a href=\"#how-to-monitor-whether-application-is-running-properly-\" aria-label=\"how to monitor whether application is running properly  permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>How to monitor whether application is running properly ?</h4>\n<ul>\n<li>Pod: status, age</li>\n<li>\n<p>Monitoring service like Grafana &#x26; Prometheus</p>\n<ul>\n<li>\n<p>worker: understand the source of jobs, usually a queue.</p>\n<ul>\n<li>how many tasks are there in a queue ?</li>\n<li>what is the producing / consuming velocity ?</li>\n<li>what is the oldest task in the queue ?</li>\n</ul>\n</li>\n<li>server: request per second / latency (response time)</li>\n<li>cronjob: log</li>\n</ul>\n</li>\n</ul>\n<h2 id=\"reference\" style=\"position:relative;\"><a href=\"#reference\" aria-label=\"reference permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Reference</h2>\n<ul>\n<li><a href=\"https://www.manning.com/books/kubernetes-in-action\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Kubernetes in Action</a></li>\n</ul>","fields":{"slug":"/posts/kubernetes-overview","tagSlugs":["/tag/kubernetes/","/tag/dev-ops/","/tag/deployment/","/tag/micro-services/"]},"frontmatter":{"date":"2021-03-30T19:12:04.772Z","description":"Kubernetes is one of the most important tools for managing the deployments of thousands of services in modern DevOps. With kubernetes, we can easily manage our application, and we can more effectively manage our computing resources (CPU, memory, storage). In this article, we will introduce the fundamental concepts pod, service, deployment and ingress.","tags":["Kubernetes","DevOps","Deployment","Micro services"],"title":"Basic Tutorial of Kubernetes","socialImage":{"publicURL":"/static/452a9717448efb8e150220b9c86ed451/social.jpeg"}}}},"pageContext":{"slug":"/posts/kubernetes-overview"}},"staticQueryHashes":["251939775","401334301","825871152"]}