{"componentChunkName":"component---src-templates-post-template-jsx","path":"/history/posts/2022-04-02--001","result":{"data":{"site":{"siteMetadata":{"title":"Blog by Eunyoung","subtitle":"작업 기록 블로그","copyright":"© All rights reserved.","author":{"name":"EunYoung","twitter":"#"},"disqusShortname":"","url":"https://ssongey.github.io"}},"markdownRemark":{"id":"325dc15d-856a-5de5-9e1f-299e1c052bb7","html":"<p><span class=\"title__sub1\"> 1. Pod </span>\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/6c42acfc822b288d1ca9645f368f7017/71ba4/02-001-01.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 41.66666666666667%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAABYlAAAWJQFJUiTwAAAB00lEQVQozz2SW2+bQBBG/f9/SR/ah1ZqK6WxlDR10jRVE8cYsI0Bx1yMAYMvwC4Xn25Qm4eRdr/ZOfvtzgyElFSyQdQtRSU5nipOpejjWFS9VsqaQqioBF3XYq9jZrZPFKeURYFUDCEEdV0zqNRmvtqiLTzm3oa7pwm3j8/cP+vc/tG5/jlmsvCxgh1evIdzp84G/HjQ2W63VFX1Fq/ggWwkj/oDo9vvbAuXfRcSHZZY4ZgwjXCDFXbgEp08vDRUvDPrMMV+2RDHyZuzV2DvsKgKotLiJFIsbYzvLCi7iESYBLarNI3VRCPLHbzMo2vPan1AtwLclxDP80iSRAHL/8ASu7zGbb7wS//MSPvEb/8b5vGCyfodZvSBmdKnyyHWxqJtzkjl6slY46w8XNfBsizyPKdpGgalSprpHc/BBV+Hl3y8ueH98IrR4grjMGSyu+TJf+Bueo+2tGnbDqGeZywDtNkK03JZ2ltW7knleoeShZuyfMkJowNrP8QwDWZzR3WxIt41xJkg2Uuyo1BFTf9f92OH2cLBMHSmU50s++fwWFY4XkigRqBuW3b7PckuJ80yNTbq1q6hUZBXkKwltSqqVTf9TdqPT5jk+MGhd9h1NX8Ba3xRph8GFpcAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"02 001 01\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/6c42acfc822b288d1ca9645f368f7017/d9199/02-001-01.png\"\n        srcset=\"/devHistoryBlog/static/6c42acfc822b288d1ca9645f368f7017/8ff5a/02-001-01.png 240w,\n/devHistoryBlog/static/6c42acfc822b288d1ca9645f368f7017/e85cb/02-001-01.png 480w,\n/devHistoryBlog/static/6c42acfc822b288d1ca9645f368f7017/d9199/02-001-01.png 960w,\n/devHistoryBlog/static/6c42acfc822b288d1ca9645f368f7017/07a9c/02-001-01.png 1440w,\n/devHistoryBlog/static/6c42acfc822b288d1ca9645f368f7017/71ba4/02-001-01.png 1870w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>한 파드내에서 같은 포트의 컨테이너를 가질 수 없다.</li>\n<li>두 컨테이너 container1과 container2 는 한 호스트로 묶여 있다.</li>\n<li>때문에 같은 파드의 각 컨테이너 내에서 다른 컨테이너로 접근시에 localhost 으로 접근할 수 있다.</li>\n<li>파드 생성시에 고유의 아이피가 할당 된다.</li>\n<li>이 아이피는 클러스터 내에서만 접근이 가능하며 외부에서는 접근이 불가능하다.</li>\n<li>파드 재 생성시마다 IP가 계속 바뀐다.</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">apiVersion</span><span class=\"token punctuation\">:</span> v1\n<span class=\"token key atrule\">kind</span><span class=\"token punctuation\">:</span> Pod\n<span class=\"token key atrule\">metadata</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> pod1\n  <span class=\"token key atrule\">labels</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">type</span><span class=\"token punctuation\">:</span> web <span class=\"token comment\"># 서비스, 디플로이먼트 등 매핑을 위한 라벨링</span>\n<span class=\"token key atrule\">spec</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">containers</span><span class=\"token punctuation\">:</span>\n  <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> container\n    <span class=\"token key atrule\">image</span><span class=\"token punctuation\">:</span> kubetm/app<span class=\"token punctuation\">:</span>v1\n    <span class=\"token key atrule\">ports</span><span class=\"token punctuation\">:</span>\n    <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">containerPort</span><span class=\"token punctuation\">:</span> <span class=\"token number\">8080</span>\n  <span class=\"token key atrule\">terminationGracePeriodSeconds</span><span class=\"token punctuation\">:</span> <span class=\"token number\">0</span> <span class=\"token comment\"># 파드 삭제시 기본적으로 30초 후에 삭제가 되는데, 파드를 바로 삭제하기 위한 설정 </span></code></pre></div>\n<br/>\n<p><span class=\"title__sub1\"> 2. Label </span>\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/06e421128776350b6f3032bb3578f7a2/00e09/02-001-02.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 32.08333333333333%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAABYlAAAWJQFJUiTwAAABc0lEQVQY00WP227TUBBF8/994icqVSoiCKjEQwUSbUrcAnUa17n4Ft9zQuzYPr4nLKzwwMMe7VnS7JkZvcznzHWNtEioOkkzKJMJTf/fd8eKQy5Z2xFeEFMUkr7vyfKS59cNi7WLZbsDzxnpjsbXn7e8vX3HL+sBO/jORLlhs31itbnnXvmIL1SSLONRNbEdl6qqaNuWvCiZ6S76ykaI7ZmP4txn5jwy/jJGdRSscMrk6QZn+4O198Dd9AOb+Jmub1lZEUvDIcsO58C6bpgtXFw/Jk2Soa8Zue4LyrcrPl1eoCrXLJRL7q4vMGbv0ZQrJuM3WNpnqrYhjPd4fkhVlvRdR9M0LMwAbeURx+JfoBzKbnjn1fPRg4hUFpxOHdXeQywn7IwpbS4o65blMLy2Q6I4Js9zjseeaJucuRA7pJSM0iFsvlgxVTVEXlF3PX+Ari4o9+GgaPByWHJiuztgOCGmaRAE4fnKWKR4ocC0JbvfFX8Blq+3NQcvEWYAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"02 001 02\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/06e421128776350b6f3032bb3578f7a2/d9199/02-001-02.png\"\n        srcset=\"/devHistoryBlog/static/06e421128776350b6f3032bb3578f7a2/8ff5a/02-001-02.png 240w,\n/devHistoryBlog/static/06e421128776350b6f3032bb3578f7a2/e85cb/02-001-02.png 480w,\n/devHistoryBlog/static/06e421128776350b6f3032bb3578f7a2/d9199/02-001-02.png 960w,\n/devHistoryBlog/static/06e421128776350b6f3032bb3578f7a2/07a9c/02-001-02.png 1440w,\n/devHistoryBlog/static/06e421128776350b6f3032bb3578f7a2/00e09/02-001-02.png 1854w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>라벨은 파드뿐만 아니라 모든 오브젝트에 달 수 있다</li>\n<li>보통은 파드에 많이 사용</li>\n<li>목적에 따라 오브젝트들을 분리하고, 서비스로 연결하기 위함(묶어서 사용하기 위함)</li>\n<li>라벨은 key와 value로 선언한다</li>\n<li>한 파드에 여러개의 라벨을 달 수 있다.</li>\n</ul>\n<br/>\n<p><span class=\"title__sub1\"> 3. Node Schedule </span>\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/f416109bda2a23b1347b3abdb1a440cf/7e318/02-001-03.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 27.083333333333332%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAABYlAAAWJQFJUiTwAAABNElEQVQY0zWQ207CUBRE+///4rO+GCWxCApSCsW2ll5OW7E3qGAv9GCWJyTuZL3MJDM7o5VlRVGUOB8uTvDG17dNOxT833kYCJKCNKto2o5BSqXJqy5/L4TKi+IdXddyPp/RjI3LaGpw+6ijLwws12JqLLh/mjC3HFVWMJ9v8N5tmqqgqw9XWsXwc1SBOV4Q07YNgyrRHsYj7vQ7Xt0xQb5l9p5wM1rzsnIx3S1VmmCbDsbCJg4E1S6jSHeKhFoE7Pc1ayciDENOpxNamrtEOws/2VDVKdFnqYIEztYny3KO+wqhgmeTJZ614dMPyUVMFvjUaUzf96xsgecLmuYHbWVPmC3H6M8GxnLN1nNZmib6dIZhrjgcDtTHBpFmiCigLAukVPupLaW8cLlIhHoiVn7fd/wB8zBt3VKVqQcAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"02 001 03\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/f416109bda2a23b1347b3abdb1a440cf/d9199/02-001-03.png\"\n        srcset=\"/devHistoryBlog/static/f416109bda2a23b1347b3abdb1a440cf/8ff5a/02-001-03.png 240w,\n/devHistoryBlog/static/f416109bda2a23b1347b3abdb1a440cf/e85cb/02-001-03.png 480w,\n/devHistoryBlog/static/f416109bda2a23b1347b3abdb1a440cf/d9199/02-001-03.png 960w,\n/devHistoryBlog/static/f416109bda2a23b1347b3abdb1a440cf/07a9c/02-001-03.png 1440w,\n/devHistoryBlog/static/f416109bda2a23b1347b3abdb1a440cf/7e318/02-001-03.png 1892w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>파드는 여러 노드들 중에 한 노드에 올라간다.</li>\n<li>노드에 올라가는 방법으로는 2가지가 있는데, 한개는 스케줄러가가 자동으로 선택하는 방법과 직접 명시해주는 방법이 있다.</li>\n<li>직접: 노드에 라벨을 달고 파드 생성시에 선택</li>\n<li>자동 : 생성할 파드의 필요 리소스 사용량에 따라 노드 스케줄러가 판단하여 노드를 지정</li>\n</ul>\n<br/>\n<p><span class=\"title__sub1\"> 4. Service </span>\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/793fa54572d1401fd4e34b5259a7100d/41870/02-001-04.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 26.666666666666668%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAABYlAAAWJQFJUiTwAAABRUlEQVQY0x2QO0/CYBSG+a0OLixu/hIXYzRB4yDoJMHEyyJqU6Att16+UkppC9hCuToYQx4/Orw5w8n7nvc5Bd2bY41X9INlLlOqN8qoNWPO7lWual0+rBRnvMDRFNovDwhdwR5ndEWCUhe8KwFNPZL+jMLBPJxtGEzWeJPD3ODGa8LFL0fHRS5vKkzX+3x3UbrjtvKI4YSM0j/coc2n5lAfLLHiLSJaUej6S7zpjwzZ5mEHeVOp2Y7iySnnpTLRai+bL7guV6m+KhgiliV2kmRO3RCoDRXDHuNEawpmFOMnLn4aSPQl7UFGx5PYXoJmBpjeFD/OEEFC3wlomx59P80DbXmk1RuhGEPa8kgeaIQ9PgZ3aOEbivXNzZPDdU3wXLf4Ui0amouqCRq6K//kovdDdPubljlBs2cSP6HjpojJFlMW+gffs1637OolgAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"02 001 04\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/793fa54572d1401fd4e34b5259a7100d/d9199/02-001-04.png\"\n        srcset=\"/devHistoryBlog/static/793fa54572d1401fd4e34b5259a7100d/8ff5a/02-001-04.png 240w,\n/devHistoryBlog/static/793fa54572d1401fd4e34b5259a7100d/e85cb/02-001-04.png 480w,\n/devHistoryBlog/static/793fa54572d1401fd4e34b5259a7100d/d9199/02-001-04.png 960w,\n/devHistoryBlog/static/793fa54572d1401fd4e34b5259a7100d/07a9c/02-001-04.png 1440w,\n/devHistoryBlog/static/793fa54572d1401fd4e34b5259a7100d/41870/02-001-04.png 1788w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>서비스도 파드와 마찬가지고 자신의 Cluster IP를 가지고 있다.</li>\n<li>서비스와 연결된 파드들은 서비스의 Cluster IP를 통해서 접근이 가능하다.</li>\n<li>파드는 언제든지 죽을 수 있고 재 생성이 될 수 있는 오브젝트이기 때문에 파드의 IP는 신뢰성이 떨어진다.</li>\n<li>서비스는 사용자가 건들지 않으면 삭제되거나 재생성되지 않는다.</li>\n<li>때문에 서비스 IP를 사용한다</li>\n<li>서비스에서 파드의 접근을 도와주는 방식은 크게 3가지가 있다.</li>\n</ul>\n<p><span class=\"title__sub2\"> 4.1. Cluster IP </span>\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/32158fc8fd5e7117891aa309b2b1219a/7ca1f/02-001-05.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 30.83333333333333%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAABYlAAAWJQFJUiTwAAABWElEQVQY0z2Q626bQBSE/f7vUvUJKlX5UffiNMQxMcFgTGKb+x2WhcX5shC1K50/M2fnzMxqur1TVDV7y8J2HOq2Y1QT/16UVvw1PZI0Q0pJ3/fLjOOwcN5bRJblDMOgsZGVkCNhWvJsH3kwLU7niKKRtP3I7X0+1mI8n4jj+L+gEGIRPPgxfwyby+W64DO/eg1zdm6I6Ubs9j6GfcE6l5i2R1ZUiF7ycrwSJ6l2IRm1k9nNNCl9PMVyz9RVpQXlp2AjBjxNfNue+HK34+sPCyOSeEGDGBS9XrLcQIsGOmK5TJIkNE1NWXfY3pWqKlBq+BSsuxHnNeZuY/B9/YvNwebn/T3rzQNpXnK7TTy9nLV7B9/36URH27b6c0/VdOydC55XUBZicbmau4rymkfb4vfWxA2PrI0tT+6BTvei1EgQ50v51zAjjrol+hxbKaX7rwiiWuO9xhQfpO7BCUWkrtsAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"02 001 05\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/32158fc8fd5e7117891aa309b2b1219a/d9199/02-001-05.png\"\n        srcset=\"/devHistoryBlog/static/32158fc8fd5e7117891aa309b2b1219a/8ff5a/02-001-05.png 240w,\n/devHistoryBlog/static/32158fc8fd5e7117891aa309b2b1219a/e85cb/02-001-05.png 480w,\n/devHistoryBlog/static/32158fc8fd5e7117891aa309b2b1219a/d9199/02-001-05.png 960w,\n/devHistoryBlog/static/32158fc8fd5e7117891aa309b2b1219a/07a9c/02-001-05.png 1440w,\n/devHistoryBlog/static/32158fc8fd5e7117891aa309b2b1219a/7ca1f/02-001-05.png 1890w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>외부에서 접근이 불가능하다.</li>\n<li>서비스가 트레픽은 분산시켜 Pod에 연결해준다.</li>\n<li>type 은 기본적으로 ClusterIP 이다.</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"shell\"><pre class=\"language-shell\"><code class=\"language-shell\">$ <span class=\"token function\">curl</span> <span class=\"token number\">171.96</span>.10.17:9000/health_check</code></pre></div>\n<br/>\n<p><span class=\"title__sub2\"> 4.2. Node Port </span>\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/80cfd850e17929772d350d619151d60d/e8950/02-001-06.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 30.83333333333333%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAABYlAAAWJQFJUiTwAAABVElEQVQY0z2R206DQBCG+/4Po4mJ8cILLzw0Go2trRJaoRxbYKEKUmCh7eeAh0k2k+zs/PPtP6OmbYkShesHrGPF4Xik6zr2+z2NbvE3Gdk2R2tNK2//ztKNMS2fLMuGWtM0Qx7VusN0Eh6mJjfjCa8LnyBriLY1uu2YGi6240tDTVXLqSppbHgXQWsVUBT5IFZLrc+jSgSNleJ2ZnF6M+f88Z0XO2bhyWQh9dYp4SZBi2ArBD1F/4Mg2uIGsQwohwH/gj3h+P6Ji6szDMdjujQ4vzzh5XXJEbD9mInhEasPlHxdpSm78osky3meu4RBzm7Xk/8K9p6F4ZqH8T0b8dATL2+v74iTlD58IZy+2Vj2avCyLMuBpvjaMTM9ZvMIa1mK5z/0Iy0G/0VZy2V3IFHpsKS60eRFOSxGpZ+kaSUUmsO+I1KfzE0HY+EQRh9Sy8TPgm/CdMIoT8lM8gAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"02 001 06\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/80cfd850e17929772d350d619151d60d/d9199/02-001-06.png\"\n        srcset=\"/devHistoryBlog/static/80cfd850e17929772d350d619151d60d/8ff5a/02-001-06.png 240w,\n/devHistoryBlog/static/80cfd850e17929772d350d619151d60d/e85cb/02-001-06.png 480w,\n/devHistoryBlog/static/80cfd850e17929772d350d619151d60d/d9199/02-001-06.png 960w,\n/devHistoryBlog/static/80cfd850e17929772d350d619151d60d/07a9c/02-001-06.png 1440w,\n/devHistoryBlog/static/80cfd850e17929772d350d619151d60d/29114/02-001-06.png 1920w,\n/devHistoryBlog/static/80cfd850e17929772d350d619151d60d/e8950/02-001-06.png 2000w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>Cluster IP의 특징을 모두 가지고 있다.</li>\n<li>\n<p>모든 노드에 같은 Port가 할당이 된다.</p>\n<ul>\n<li>주의할 점은 타겟 Pod가 있는 노드들에만 Port가 할당되는 것이 아니라 <span class=\"text-mark__red\">모든 노드에 Port가 할당된다.</span></li>\n</ul>\n</li>\n<li>할당된 NodeIP:Port 들이 해당 서비스로 연결이 된다.</li>\n<li>외부에서 NodeIP:Port 로 접근이 가능하다.</li>\n<li>\n<p>nodePort 값은 옵셔널이고, 생략할 경우 자동으로 할당된다.</p>\n<ul>\n<li>Node Port의 범위 : 30000~32767</li>\n</ul>\n</li>\n<li>\n<p>외부에서 Node1 IP: Port 로 접근을 했을 경우</p>\n<ul>\n<li>Node1에 있는 Pod로 연결되지 않고,</li>\n<li>해당 서비스와 연결되어 있는 노드들 중 하나에게 트래픽을 전달한다.</li>\n<li>externalTrafficPolicy: Local 옵션을 사용하면 요청한 NodeIP에 있는 Pod로 트래픽을 전달한다.</li>\n</ul>\n</li>\n<li>\n<p>순서</p>\n<ul>\n<li><span class=\"text-mark__green\"> External -> NodeIP:Port -> Service -> Pod </span> </li>\n</ul>\n</li>\n</ul>\n<br/>\n<p><span class=\"title__sub2\"> 4.3. Load Balancer </span>\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/40433749d7668e1b99e7b674b6a83e81/7e318/02-001-07.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 33.75%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAABYlAAAWJQFJUiTwAAABf0lEQVQozz2Re2+bQBDE/f2/T9WHEzmpVLVRlIY6tTEuj0ADxrzOGDie7q/HNc1K88/t7czs7MILM9abPYbp4h8LimpA1ANtP3E6N1huRJoVdF2r0GkMQ8+5lkSJUD1B0zTqbWAcRxaWX3D3fcvywWRlBliHGi86kwiJKGuM7TNJmmnCtm2RUmrCJC9Z7wJcL6Asy1ehgcVy9ZVPX5bcPH7j1nhiZdzw7uM1661D1w9sfr3w+yWkV4R9/8/hOA7kp4pHJRbHR+3wjdC2Ha4+vGe/N8mzlM+rK+7v7jkpVdn1OP6RIMqo1IoaVa1cNnpl046Ik1SRSb2BJkRV1o7ceinXVsQub/hf8wfTOfDw5PAchMSpIMtzcoW5t3MiTOtAUcxxvDrMxJmy6UjLBtMN2boBYZxqB3PItnK4sTwC3+ckKrV2/wbbjzF+evxY+0ThiWlSRxmnSQ/CH60QHHMNUVYMKqtZORO1urgkS+dL9zrDeU62vepLlWGtD3W5XPgLs8kNCEOO9mEAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"02 001 07\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/40433749d7668e1b99e7b674b6a83e81/d9199/02-001-07.png\"\n        srcset=\"/devHistoryBlog/static/40433749d7668e1b99e7b674b6a83e81/8ff5a/02-001-07.png 240w,\n/devHistoryBlog/static/40433749d7668e1b99e7b674b6a83e81/e85cb/02-001-07.png 480w,\n/devHistoryBlog/static/40433749d7668e1b99e7b674b6a83e81/d9199/02-001-07.png 960w,\n/devHistoryBlog/static/40433749d7668e1b99e7b674b6a83e81/07a9c/02-001-07.png 1440w,\n/devHistoryBlog/static/40433749d7668e1b99e7b674b6a83e81/7e318/02-001-07.png 1892w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>Node Port의 특징을 모두 가지고 있다.</li>\n<li>로드밸런서가 트래픽을 분산시켜 연결되어 있는 노드에게 전달한다.</li>\n</ul>\n<br/>\n<p><span class=\"title__sub2\"> ■ Sample Service Yaml </span></p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">apiVersion</span><span class=\"token punctuation\">:</span> v1\n<span class=\"token key atrule\">kind</span><span class=\"token punctuation\">:</span> Service\n<span class=\"token key atrule\">metadata</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> svc<span class=\"token punctuation\">-</span><span class=\"token number\">3</span>\n<span class=\"token key atrule\">spec</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">selector</span><span class=\"token punctuation\">:</span>             <span class=\"token comment\"># Pod의 Label과 매칭</span>\n    <span class=\"token key atrule\">app</span><span class=\"token punctuation\">:</span> pod\n  <span class=\"token key atrule\">ports</span><span class=\"token punctuation\">:</span>\n  <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">port</span><span class=\"token punctuation\">:</span> <span class=\"token number\">9000</span>          <span class=\"token comment\"># Service 자체 Port</span>\n    <span class=\"token key atrule\">targetPort</span><span class=\"token punctuation\">:</span> <span class=\"token number\">8080</span>    <span class=\"token comment\"># Pod의 Container Port</span>\n  <span class=\"token key atrule\">type</span><span class=\"token punctuation\">:</span> ClusterIP<span class=\"token punctuation\">,</span> NodePort<span class=\"token punctuation\">,</span> LoadBalancer  <span class=\"token comment\"># 생략시 ClusterIP</span>\n  <span class=\"token key atrule\">externalTrafficPolicy</span><span class=\"token punctuation\">:</span> Local<span class=\"token punctuation\">,</span> Cluster    <span class=\"token comment\"># 트래픽 분배 역할</span></code></pre></div>\n<br/>\n<h4>Referenece</h4>\n<p>Kubernetes Service</p>\n<ul>\n<li><a href=\"https://kubernetes.io/docs/concepts/services-networking/service/\">https://kubernetes.io/docs/concepts/services-networking/service/</a>  </li>\n</ul>\n<p>Kubernetes NodePort vs LoadBalancer vs Ingress?</p>\n<ul>\n<li><a href=\"https://medium.com/google-cloud/kubernetes-nodeport-vs-loadbalancer-vs-ingress-when-should-i-use-what-922f010849e0\">https://medium.com/google-cloud/kubernetes-nodeport-vs-loadbalancer-vs-ingress-when-should-i-use-what-922f010849e0</a></li>\n</ul>\n<br/>\n<p><span class=\"title__sub1\"> 5. ConfigMap, Secret </span></p>\n<ul>\n<li>image 별로 환경변수값을 정의하는것은 비효율적이므로 외부에 환경 변수를 담기위해 ConfigMap과 Secret을 사용한다.</li>\n<li>key와 value로 정의하여 사용 </li>\n</ul>\n<br/>\n<p><span class=\"title__sub2\"> 5.1. ConfigMap vs Secret </span></p>\n<ul>\n<li>ConfigMap은 일반적인 값, Secret은 보안적인 값을 저장(패스워드/ 인증키)</li>\n<li>Secret 값을 넣을때 base64 인코딩을 해서 값을 넣어야 한다는 규칙을 가지고 있다.</li>\n<li>Secret 값은 파드로 주입이 될때 자동으로 base64 디코딩이 되어 컨테이너 내 환경변수에 세팅이 된다.</li>\n<li>일반적인 값들은 쿠버네티스 DB에 저장이 되는데, Secret 값은 메모리에 저장이 된다. (메모리에 저장되기 때문에 보안에 유리)</li>\n<li>ConfigMap의 경우 key, value 값을 무한하게 넣을 수 있는데 반해, 한 Secret당 최대 1M까지만 저장이 가능하다.</li>\n<li>Secret은 메모리에 넣어두기 때문에 많이 만들게 되면 시스템 자원에 영향을 미치게 된다.</li>\n</ul>\n<br/>\n<p><span class=\"title__sub2\"> 5.2. 상수를 환경변수에 정의하여 사용 </span>\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/72d85b283c8c81283ab89ba8e4c8e88d/d3b46/02-001-08.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 29.166666666666668%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAABYlAAAWJQFJUiTwAAABTklEQVQY032Q3ZaaQBCEff/3yE3yDrnYJCd/a9asWX+iougsIMgADjjDDPBlJLlOn1Onuy+6qqsmvzcbjkJwVQrh++EQUlYV1jmcR9f19P3g0TMMvnt0fr6XSAqm8x15nmOMGTF5eJrz9uGReZiQJgm752+I5Q9aJdGtI8uvHiVNXWOtI/V7LisvZEfCx+ctRSFpW/uXcJHkvPn8nS/7wH/UEK8+IWbv0TKm1panl5DlasvlknHThumvA7v9EX1rKK8NwfFMml1Q3uFIOPQG10l/nBK+btkEG1RzwXtEm5b5+sQpPqHqaiRcBRFxnPz7qmW2PPHiBaMoQmvNxPU3Pq4WvPv6k/16Srr+QKkEDNBaiywVRVlgWjNaLio1Zlb7CDqf8TkrmS1CxGuM9QIT1zlknXKuYuQ1QlYCY29j8F3f8b+6E94Fg2NClqWj5T+oasSt3d9BiQAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"02 001 08\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/72d85b283c8c81283ab89ba8e4c8e88d/d9199/02-001-08.png\"\n        srcset=\"/devHistoryBlog/static/72d85b283c8c81283ab89ba8e4c8e88d/8ff5a/02-001-08.png 240w,\n/devHistoryBlog/static/72d85b283c8c81283ab89ba8e4c8e88d/e85cb/02-001-08.png 480w,\n/devHistoryBlog/static/72d85b283c8c81283ab89ba8e4c8e88d/d9199/02-001-08.png 960w,\n/devHistoryBlog/static/72d85b283c8c81283ab89ba8e4c8e88d/07a9c/02-001-08.png 1440w,\n/devHistoryBlog/static/72d85b283c8c81283ab89ba8e4c8e88d/d3b46/02-001-08.png 1690w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>파드 생성시에 해당 파드에 정의된 ConfigMap, Secret 값을 가져와서 컨테이너 내 환경변수에 세팅을 한다.</li>\n</ul>\n<br/>\n<p><span class=\"title__sub2\"> 5.3. 파일을 환경변수에 정의하여 사용 </span>\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/59fffe4b02e39a15ce13eae77dc0186d/11a8f/02-001-09.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 52.916666666666664%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAABYlAAAWJQFJUiTwAAACQklEQVQoz12TyXLTYBCE/fTceAVegAsXuLgIFeKAszghON7iRbJlyZK1WJu1yx8jmYQq/qquKUnz9/T0jDqqqtK/vsbQNvieA6ea73cjboYKg8cnHh5/4QchJyDLC5pjexGDZ4WlqhNFEVmWvaFjmCbfbgZcP40YvCzx04yrwQsX9wsmoxHjh5/s1nPqJCDP85Zw74Zc3k6ZLVQhDEmShDRNW3TCLOdDf8z77oB3X27ojte8nso32Pz4xOTiI2r/M3mWtu+DKGH4ssXYmdi23RI16lrCVKr6YYR9cNm6Ku7RIEwtgsRi+PuR7WZF7LvEgSctnxVmImKxNluY1p4gCP4pLMqzL1kZ4FcLkspD0Sc4gSE+9dCsORQZpzyiKEvqk7h5qlC3NnNFR1ktUVT1zctOXpwJk8pB8W8ZjnVeZkvUhY6VjfCK+ZsFr4R1XWHuPaYro205Fh+LIn9VWLbJaeWzcC/pP13Ru+/Su+3yrH/FyxWaEdcy/Sb3JISlxObyaG7QG8yZLrZtgWZonTCOCOID0TGS9fCJE580j8mrlCQ9CsRsGUb61/S6FuKilPZSLMfneaoync5Q1fVZob7bsdtLBWvHVtuiCRzbIfADaceR3XTxBIfDgePxSFVVgpIgjHkYrRlOVuxtt1XXEsaSFKdhqyaOY7kUt+Y2Cf+jEL8bwiYWeYZuetzJDzCeKZimdR7KSqRqO5WNJlHTWC6X8vG8X67rYsla7EW9I8+mZbVFGw+blsPoKN652HtT8qx2wf8A23g6TLhCm00AAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"02 001 09\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/59fffe4b02e39a15ce13eae77dc0186d/d9199/02-001-09.png\"\n        srcset=\"/devHistoryBlog/static/59fffe4b02e39a15ce13eae77dc0186d/8ff5a/02-001-09.png 240w,\n/devHistoryBlog/static/59fffe4b02e39a15ce13eae77dc0186d/e85cb/02-001-09.png 480w,\n/devHistoryBlog/static/59fffe4b02e39a15ce13eae77dc0186d/d9199/02-001-09.png 960w,\n/devHistoryBlog/static/59fffe4b02e39a15ce13eae77dc0186d/11a8f/02-001-09.png 1272w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>파일을 통으로 ConfigMap에 넣어 사용할 수 있다.</li>\n<li>파일명이 key, 파일 내용이 value가 된다.</li>\n<li>명령어를 이용하여 파일을 secret으로 만들 경우, 자동으로 base64 인코딩이 되므로 2중 인코딩이 되지 않도록 주의하자.</li>\n<li>파드 생성시에 해당 파드에 정의된 ConfigMap, Secret 값을 가져와서 컨테이너 내 환경변수에 세팅을 한다.</li>\n</ul>\n<br/>\n<p><span class=\"title__sub2\"> 5.3. 파일 마운트의 경우 </span>\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/570fb2ece37f538c002f3044d41f0d1e/f32b7/02-001-10.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 48.75000000000001%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAABYlAAAWJQFJUiTwAAACBUlEQVQoz52S23PSYBDF+dt91v/B8bGPfVArdqZjrVXEQlOu4VZIQkKAQELut5+bYEef3ZkzSb7db3POnm0UZUmFEmpkec7fkPOyrN+KopBcVp8lScpc27I0dmzsPYHvk6ZpjcbjY5eewD1IwnOlvkAZTmkpKvOlwe3dHfraIk4z0rwgzVLCKOFxpDGePHM8usRxTBRF9bOxWpvcKGOa7SeaD320o89oseG6PUN9XrMcdpgqPzHnQwp/TyIsKnzrzOmrS3Rtha4bBEEgzBMa1ink9acWb5ptXl1+5aI95t+wutfMbi5QPrxDf2iSZcJUsNBsdGuPtT0QC7uqWd0wEpp+EOIcHazDEidY44YWXmyz1Gf0+0+4kguD0/misCtlLDvHrVmqk6qmj2EYZ8l5cTYhzjycTCXjiG6rGNsp42mP++5nmZlHETiUyUnY5eRinHfyuXuY8aOr0lGGaCLd8zwaL64G6R4z7DKYmLS6czw3FvdT1mlLWIVnz8XxSm4tO01YicujmYluWCwWc2zbrhpmdbGfbZl4H7m6/8Lb91d8Hyis7CcG7iVpEdU7VTV8kaybe25/TVis1pjWRhhq+LI+jbjaH/ljlIQcfEvmt63hnCwc+T4EG1mZpK5J/tRWO1lJ7gxWdHozcVlnt9udZ8h/RDXDXPZxs3PFZQfH2XMSdtUofgM+8PDG7DhOVgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"02 001 10\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/570fb2ece37f538c002f3044d41f0d1e/d9199/02-001-10.png\"\n        srcset=\"/devHistoryBlog/static/570fb2ece37f538c002f3044d41f0d1e/8ff5a/02-001-10.png 240w,\n/devHistoryBlog/static/570fb2ece37f538c002f3044d41f0d1e/e85cb/02-001-10.png 480w,\n/devHistoryBlog/static/570fb2ece37f538c002f3044d41f0d1e/d9199/02-001-10.png 960w,\n/devHistoryBlog/static/570fb2ece37f538c002f3044d41f0d1e/f32b7/02-001-10.png 1136w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>원본 파일과 마운트가 되어 있으므로, <span class=\"text-mark__red\">ConfigMap이 수정이 되면 바로 반영이 된다.</span></li>\n<li>이게 5.2과 가장 큰 차이점이다.</li>\n</ul>\n<br/>\n<p><span class=\"title__sub1\"> 6. Volume </span>\n<span class=\"title__sub2\"> 6.1. emptyDir </span>\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/68ffa9bd1a8d45d4e4d29510aa947228/7161f/02-001-11.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 61.24999999999999%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAACRUlEQVQoz5WT64vaUBDF/f//ln4ohVLoh8J2l7JV10dM1GjiqvHGPEyieZmX/nqN3VIolHbgEG6Ye+6ZmTOd6/XKv+IWpyRHWwrMzR7/EHDOc6qqoigKmqahw3/GMc7pq2tmizVpkpBlGbkkPZ/P1HVNp5asVVNTyUNRli3K6u1c/fxXtbjl3r43hbbj4ToOQgiOx2OrsCUUtuDx4YnBqMepsohrwdZV2XgqycVqETcWYWGS5BFl2TBZWCgLmSdcgiAgSbP24ZbQCwWTzRdW4TMxMyJUvGaMX+r4+RIrUnBTnbBecMz8tmzXPTAYLlhOZ2jDIbuVSR6f7j2MMgcnWGOYc7S5VLZds4q+ERVb7L2DqutsrB1hKogyl2sjB2PbjBQTRVli6Aah55L7HrUsu+PHW4YvQx4+SXzuMnyeobgfCGodIS/2lSHGasUhWxNk4k4oe9cdGvRfNPrdPpoyJtrbNLLsjp/sULyPiOiV+eErPesdI+89uv+I6Q2Y2d8x3BdeZUvCdN+WvLekwu8K5mjMvNfDnk3JDz7N5ULnKH31urJYLkymms50ukTsPMIwJskKrjLpItE0l3b6jXREKhWOtQ2jiYE+X3Jw9veSb0NJpI8cz0fsXXb2Hu8QSvOmRKeY/Fy0ZG84l3fz+pbguSsHoi4x5zqGOiG0tm2O9GHdSm2u8pLchtaXdf0HSrkNlVR5Lc6sVZ3B0wChqWyVESdjQSGnXP/aFLlVv6/X3+IiCVPXY2Pu8HY2J9ehCA6UclNuwn4A4u2IxsRNS4gAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"02 001 11\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/68ffa9bd1a8d45d4e4d29510aa947228/d9199/02-001-11.png\"\n        srcset=\"/devHistoryBlog/static/68ffa9bd1a8d45d4e4d29510aa947228/8ff5a/02-001-11.png 240w,\n/devHistoryBlog/static/68ffa9bd1a8d45d4e4d29510aa947228/e85cb/02-001-11.png 480w,\n/devHistoryBlog/static/68ffa9bd1a8d45d4e4d29510aa947228/d9199/02-001-11.png 960w,\n/devHistoryBlog/static/68ffa9bd1a8d45d4e4d29510aa947228/7161f/02-001-11.png 1182w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>container 들끼리 데이터 공유를 하기 위해 volume을 사용</li>\n<li>최초 해당 볼륨이 생성될때 항상 비어있기 때문에 emptyDir로 명칭한다.</li>\n<li>pod 안에 생성이 되기 때문에 파드 생성시에 만들어지고, 삭제시 없어짐</li>\n<li>해당 볼륨에는 일시적인 사용목적에 의한 데이터를 넣는다.</li>\n</ul>\n<br/>\n<p><span class=\"title__sub2\"> 6.2. hostPath </span>\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/ebe8232c0ca11b573d653f582c5c16b1/08485/02-001-12.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 33.33333333333333%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAABYlAAAWJQFJUiTwAAABg0lEQVQoz3WQ2W7aQBiF/f4P0zeIUtSWIMAUiPctHpvV8YYXbMekXwdUqRdVRzo3c3SW/yjvWUZzvVJVNW3TUdctfd8z3m7cuSRNaa8d17Zj/Phk6EfGccQTZ6LdgepScpX6YRgeUAIhyMsLQkRkaU7gvZHn+UPk+AGB/D+cTkSRIJMBd3TSwI8SRHykyDNp2P41nE10Xp5NtrqKsXtmsv5CuHMfDQ3NZzoxWM117HDB2n3C3amUZU6SVai64HDOSYuaVAaVZYmiznQpcFmtVTT/hY3xRBw5fMiGpu7xc26zWZl4noMIPVxrKy9IuVwa1hsbSzfIz8nj7DsU0zExfnxjtfyKFS/Q/e8cjqE0vEmTiPXSZrHYompTXu0ptq+SFzltXrBVDcyNRiLDhj87Km+hILQdIuET7CxcYZAVGaf3lOXylfnMxDIFYu9IbkMQWzR1RXpM0DSPcxzTyM37sqDvOhT+86q6oZCbdEP/D/fr8yYNSqJwT+R7JPs9l/OJD9nwN/a8BawWBBGNAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"02 001 12\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/ebe8232c0ca11b573d653f582c5c16b1/d9199/02-001-12.png\"\n        srcset=\"/devHistoryBlog/static/ebe8232c0ca11b573d653f582c5c16b1/8ff5a/02-001-12.png 240w,\n/devHistoryBlog/static/ebe8232c0ca11b573d653f582c5c16b1/e85cb/02-001-12.png 480w,\n/devHistoryBlog/static/ebe8232c0ca11b573d653f582c5c16b1/d9199/02-001-12.png 960w,\n/devHistoryBlog/static/ebe8232c0ca11b573d653f582c5c16b1/07a9c/02-001-12.png 1440w,\n/devHistoryBlog/static/ebe8232c0ca11b573d653f582c5c16b1/29114/02-001-12.png 1920w,\n/devHistoryBlog/static/ebe8232c0ca11b573d653f582c5c16b1/08485/02-001-12.png 2014w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>한 호스트 즉, 노드의 path를 볼륨으로 사용 </li>\n<li>pod에서 해당 노드의 path를 마운트하여 사 용하므로 pod가 삭제가 되어도 노드에 있는 데이터는 삭제되지 않는다.</li>\n<li>\n<p>다만 파드가 재 생성될때 다른 노드에 생성이 될 수 있으므로 기존 노드에 사용하던 볼륨을 마운트 할 수는 없다.</p>\n<ul>\n<li>사용자가 직접 각 노드의 볼륨들을 마운트 시키면 된다.</li>\n<li>하지만, 쿠버네티스가 하는게 아니라 사용자가 직접 작업을 하므로 실수가 발생할 수 있다.</li>\n</ul>\n</li>\n<li>파드 자신이 할당되어 있는 호스트(노드)의 데이터를 읽거나 쓸때 사용한다.</li>\n<li>\n<p>hostPath Type</p>\n<ul>\n<li>DirectoryOrCreate : 실제 경로가 없다면 생성</li>\n<li>Directory : 실제 경로가 있어야됨</li>\n<li>FileOrCreate : 실제 경로에 파일이 없다면 생성</li>\n<li>File : 실제 파일이 었어야함</li>\n</ul>\n</li>\n</ul>\n<br/>\n<p><span class=\"title__sub2\"> 6.3. PVC/PV </span>\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/3a570b0153cd4c78f8ff27cacfe52527/84ee5/02-001-13.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 45.833333333333336%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAABYlAAAWJQFJUiTwAAACJElEQVQozz2SWW/TQBRG89N55wXxyAOiQuIFKBVNN9E2TddQkz1N49iOnXiNt3jJ5tL2MGklNLq6M/feOfpm9JVm+ZI4e41ZviKc5Th+TJQuXs6byJcFcb7+P+eKvjONCJKcZFGQvvQ3swtKIzdHtnIUJ0d15nTVKRfSPX0jFrU5upsxjTKGhsfISVHsOTctleptn57scT/0aXYnyFqM5SWUjGlG817nZ3mfRk97hfgF9a5K+eCIzsDAFmp6soEyCaic33BaqTI0Z7jGHLlpIF10cUfiZdYG6Lto075QecFgPOTOWNFSM64aY06vB/S0GZqTcNLJ+Vzu8v7TEduVEdIgpNUeE6drqmfXnBxeYk4iAQwslLCBnp0hhwNu1DmH1xYfvpzyqx7R1AssP+V2EFOpTziuKVy2Hfpmzlhq45/sUZcaXFWvsG0B1AKNQXKG+vAVJWpR7RVs/y7YOjT5XnugercQwIz+OEXqjvmxs0t57wDZXlDZ3mX37RuCYIhnjgQwpiTbFi2zQ9u9RHYMav2UvduA41bKvhQhyQl2kHPUSPi40+LdVoVv5zZ1OUYdTelrOp1RD20ywRj7lLxoiW7GDBWT2p8uim4JO6xwA/Hpfohi2HhhysYNhiuyGdCRTVF3MfQAQ0B1bYqqOrjejNJqLfyVCBWeh2GaeEHMqihIslzsIxEh0Szl8fGvqGUEUUwYx/hhzFLcfRbr6fnpJa+KNf8A3CKIVYiO1acAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"02 001 13\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/3a570b0153cd4c78f8ff27cacfe52527/d9199/02-001-13.png\"\n        srcset=\"/devHistoryBlog/static/3a570b0153cd4c78f8ff27cacfe52527/8ff5a/02-001-13.png 240w,\n/devHistoryBlog/static/3a570b0153cd4c78f8ff27cacfe52527/e85cb/02-001-13.png 480w,\n/devHistoryBlog/static/3a570b0153cd4c78f8ff27cacfe52527/d9199/02-001-13.png 960w,\n/devHistoryBlog/static/3a570b0153cd4c78f8ff27cacfe52527/84ee5/02-001-13.png 1076w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>파드에 영속성 있는 볼륨을 제공하기 위한 오브젝트</li>\n<li>실제 필요할때 다시 공부</li>\n</ul>\n<br/>\n<p><span class=\"title__sub1\"> 7. Namespace/ ResourceQuota/ LimitRange</span>\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/8538cef1c0e44910a18723a66d98cf30/0940f/02-001-15.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 47.5%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAABYlAAAWJQFJUiTwAAACYUlEQVQozz2T2W7TUBCG/XpcIHFRJCTgLeANuOKiCKkVIMQFFBXRBgpVuqeFtjQtDVkakqiQlTQhaeK4duIlXpKPsUFY+j3njOef4/lnjqKbDiPbxRoH/2G7Ph3VoNrq0+gMxPboDAx+yTrEyHExbQfLGWNYY8IcQ9sTrodSrl/QaF9Qqp9RrGUFOVTjSgJdBkMLbWSLtSOSFu5NSXKlUUvvclHNcJKvkTgtcZQvoEqcMuirdLp1jnMfOMzEOM2vMjJ7hM90EhAEPpMgCHf/AI6hUk2uclFOCq9K4qQg3KQcaKI0LzX6uinkKBZNd6i3NSntEtOyCHw/StruDqg0ezQ7HVzfi2IDywhff4lymO1KybGdJOunRTqax9jzOc6es7SZYjmxRqHeYmhN8f2ATydF3u18Y2Ejzl5BpZD/QWplHrV2TKaqc+/pFtlyG8XxpvSufIyRLzpNcMZhiZ6IDF3VRBe/IX5f/jTEQcljMzOmWNGpN1VMUzQ2rChZqLXyvWHyau0rG7kGiXSJinTUn0zZzl4yH9tnPVPjuFCWjnp0r1xiOYP3RV2gEc9rdCotLjWTNztxWv0+yuxWnmuPt5l5cciNhxvM7ebomxZ3Fw65/nyfW/OfuTUbp9jucd5WmXl7xJ2NDLcFN5eTZGtt0j/7PFhM0ejqKL8HQxYPUjxa2WHpMCdajqJGpKstnmzuM/dxjy+FBq4Iro/GvNzOcf9ZLMLrxBma4Ug/wimYRD1QTBliRwbVshzGMpi2G8jgejhibRnayC+BpnwzRV/Xn4puchlEO0/WlvCHwg+hywX5AyDk0ylKGU6SAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"02 001 15\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/8538cef1c0e44910a18723a66d98cf30/d9199/02-001-15.png\"\n        srcset=\"/devHistoryBlog/static/8538cef1c0e44910a18723a66d98cf30/8ff5a/02-001-15.png 240w,\n/devHistoryBlog/static/8538cef1c0e44910a18723a66d98cf30/e85cb/02-001-15.png 480w,\n/devHistoryBlog/static/8538cef1c0e44910a18723a66d98cf30/d9199/02-001-15.png 960w,\n/devHistoryBlog/static/8538cef1c0e44910a18723a66d98cf30/0940f/02-001-15.png 1154w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>클러스터에서 사용할 수 있는 리소스는 한정적이기 때문에 네이스페이스별로 리소스를 한정하여 사요하도록 하는 오브젝트</li>\n<li>ResourceQuota는 Namespace 뿐만 아니라 Cluster 전체에 부여할 수 있는 권한이지만, LimitRange의 경우 Namespace내에서만 사용 가능</li>\n</ul>\n<br/>\n<p><span class=\"title__sub2\"> 7.1. Namespace </span>\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/d2184de7167f2ae556ef4307d1e23a03/541fe/02-001-16.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 31.25%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAABYlAAAWJQFJUiTwAAABf0lEQVQY0yXQS3OaABSGYf//vquuMt20zbSTNjPJUK0JNhFFJUq9gdwERTAgDGK8kOQtSc/M2T7fOV+l2Ca85Cmb0Gc6mWIaFmkUorZueGj/IfEN7EXEj/qQaneBE+54m+L4xGLVZhnKTNV72qLAoFWn0tHOEYdn6FYNVbqmd/+dJHQYyzdo3VvylYa1TLgUJ9QVvwSf/oOnnOv2Ry7uPhAvZRythqv/piLb32joZxgzgcDsYmi3ZJHHsCViqhL7tYHrJwhNA2myIUiLd/B4esY0AzR1hiIrdCSZflehEkRHVo8nRlOPhqTQlIeEqyWd5hX9xiWZ2cNapFxUR9z1/PLN7Tt4OBVMPI2xN0U0Tb42BWrjv1RmZT8zL0ZZbPjU+smXnkAYR/QHv8oVyF0VK8j4/KAjjkK8VdnhS8GpeC6DLGzXYjCfUe0LyGYJZrsD2e5IvN1jrec4jx55nhEYKpEzYh/PWacHFDtC15fEbgDblNe3M30fbBMsA1wPkpR/Lkitbkz6nwMAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"02 001 16\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/d2184de7167f2ae556ef4307d1e23a03/d9199/02-001-16.png\"\n        srcset=\"/devHistoryBlog/static/d2184de7167f2ae556ef4307d1e23a03/8ff5a/02-001-16.png 240w,\n/devHistoryBlog/static/d2184de7167f2ae556ef4307d1e23a03/e85cb/02-001-16.png 480w,\n/devHistoryBlog/static/d2184de7167f2ae556ef4307d1e23a03/d9199/02-001-16.png 960w,\n/devHistoryBlog/static/d2184de7167f2ae556ef4307d1e23a03/07a9c/02-001-16.png 1440w,\n/devHistoryBlog/static/d2184de7167f2ae556ef4307d1e23a03/541fe/02-001-16.png 1654w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>\n<p>한 네임스페이스 안에서 같은 종류의 오브젝트들은 같은 이름을 가질 수 없다.</p>\n<ul>\n<li>에러: 파일 배포 실패 (pods “podName” already exists)</li>\n</ul>\n</li>\n<li>\n<p>타 네임스페이스의 자원과 분리가 되어 관리가 된다.</p>\n<ul>\n<li>파드의 라벨링으로 서비스와 연결을 하는데, 서로 다른 네임스페이스에 있을 경우 연결이 되지 않는다.</li>\n</ul>\n</li>\n<li>네임스페이스 삭제시, 그 안의 자원들도 모두 삭제가 된다.</li>\n<li>각 네임스페이스의 파드의 IP끼리는 기본적으로 통신은 되지만, network policy 오브젝트를 이용하여 막을 수 있다.  </li>\n</ul>\n<br/>\n<p><span class=\"title__sub2\"> 7.2. ResourceQuota </span>\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/534f5e6bbda09e7bedb9a587caf3937a/9c1e6/02-001-17.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 30.41666666666667%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAABYlAAAWJQFJUiTwAAABX0lEQVQY002QC4vaQBRG8/9/Tyl9gFhWi4vWuFmNNY/NY81jYmJinppUT4cUlg58zFy4c+6ZUfImIK18mltG2dxwgoyn2YKv3yc43juWn/C6f+N4DKjrCm2ro5su7lFQXEpEHKO+bDmlGW3borwlS34HM9LapigqdDtkOntmMp0TRALdCllt9oRBQNM0aJqGZdlk4iTrliiK+LVWiSS46zqU09klTExpl1CkKRsnkgYWhmFQlhVl3SFOZ4a+Hw3W6ma0LYSQxjWpvLPb7fA8dzwrG/+Vlb3m3HoU8km7eM+zseA91xF5zv/r/mdA8xJUS36FZRJKu1z2qKqK7/vjAGVifmbufsLN5ySRx9T4xur4Baf6QZSn/0D3+8d+labXaydzpR8GOmn9tN6yeNEpLxcUM1pixgtEeaBuKg7hEiP6iZutpHE5gh6PxwdwGHqZYUwv4bfbDTsQHGwHIWL+AtyOu5c5egJQAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"02 001 17\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/534f5e6bbda09e7bedb9a587caf3937a/d9199/02-001-17.png\"\n        srcset=\"/devHistoryBlog/static/534f5e6bbda09e7bedb9a587caf3937a/8ff5a/02-001-17.png 240w,\n/devHistoryBlog/static/534f5e6bbda09e7bedb9a587caf3937a/e85cb/02-001-17.png 480w,\n/devHistoryBlog/static/534f5e6bbda09e7bedb9a587caf3937a/d9199/02-001-17.png 960w,\n/devHistoryBlog/static/534f5e6bbda09e7bedb9a587caf3937a/07a9c/02-001-17.png 1440w,\n/devHistoryBlog/static/534f5e6bbda09e7bedb9a587caf3937a/9c1e6/02-001-17.png 1734w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>네임스페이스의 자원한계를 설정하는 오브젝트</li>\n<li>\n<p>리소스쿼타가 지정된 네임스페이스에 파드를 생성할때는 꼭 스펙 명시를 해야한다.</p>\n<ul>\n<li>하지 않을 경우 해당 네임스페이스로 pod 생성이 되지 않는다.</li>\n<li>에러: must specify limits.memory, requests.memory</li>\n<li>limitRange에 default가 설정되어 있을 경우에는 상관없다.</li>\n</ul>\n</li>\n<li>현재 namespace에 사용된 requests 를 넘는 파드 생성 요청시 오류가 난다.</li>\n<li>\n<p>주의할 점은 ResourceQuota 생성 전에 이미 파드가 만들어져 있으면, 해당 파드들에게는 영향이 가지 않는다</p>\n<ul>\n<li>따라서 ResourceQuota 생성 전에 파드들을 지우는게 안전하다.</li>\n<li>그렇지 않을 경우, ResourceQuota 설정보다 over하여 네임스페이스에 파드들이 생성된다. </li>\n</ul>\n</li>\n<li>\n<p>제한 가능한 항목</p>\n<ul>\n<li>Compute Resource: cpu, memory, storage</li>\n<li>Objects Count: Pod, Service, ConfigMap… 등 k8s 버전이 높아짐에 따라 제한할 수 있는 오브젝트가 늘어남</li>\n</ul>\n</li>\n</ul>\n<br/>\n<p><span class=\"title__sub2\"> 7.3. LimitRange </span>\n\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/305473c5ef43ec665cf2c7dc4f67450a/94cea/02-001-18.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 39.166666666666664%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAABYlAAAWJQFJUiTwAAABl0lEQVQoz32SeW+bQBDF+f6fp1LTQ1UrRUorN0nrK9jlMGCTNeDFnAs28OuaOP2r7Uizh3b2zZs3Y6Bt6Af+acNA07Z0XXe9DvTX+FgWTKY2juMipaTVcUamUtJiz6mraE/n8SFJEvK8GD9ewIQQVFU9gl2zjOvhWPK4cImiSL9XNE2D8eB95qf/lrhYchAJXx8XfLn7zpPl60QVzk4Q7QWqrkeWXd/r/QWwrBS2JyjKkrquUEphLMM5M/+erA44JhIvlGx2CWGUUdaKH6bF2g/ZypxKNaxdwXRpEwRbzucTlrcn0En3Yq9Ba4xb+yNTcYNsVuRVw93DLe8+veGXu6ZWLWF8YLaytF4pvWZo+xGm5XFM5cjY3UasHEGwjUmPGUZaxJqNQ15IZJ5wY35gEr5nl8+RWc0302VhbSiKUjM6jzpegHpd+qB9o4Emsw0r+5nnSGJc9E2S+EWDVrGJnggOcw7ljtO555jlWr9q7OBrp/8MQN/haXmm5nZk2Chd8sB/RuavUzRc/XLu8cMEU7OLNbtSN+c3LmpfMdY9jS8AAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"02 001 18\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/305473c5ef43ec665cf2c7dc4f67450a/d9199/02-001-18.png\"\n        srcset=\"/devHistoryBlog/static/305473c5ef43ec665cf2c7dc4f67450a/8ff5a/02-001-18.png 240w,\n/devHistoryBlog/static/305473c5ef43ec665cf2c7dc4f67450a/e85cb/02-001-18.png 480w,\n/devHistoryBlog/static/305473c5ef43ec665cf2c7dc4f67450a/d9199/02-001-18.png 960w,\n/devHistoryBlog/static/305473c5ef43ec665cf2c7dc4f67450a/07a9c/02-001-18.png 1440w,\n/devHistoryBlog/static/305473c5ef43ec665cf2c7dc4f67450a/29114/02-001-18.png 1920w,\n/devHistoryBlog/static/305473c5ef43ec665cf2c7dc4f67450a/94cea/02-001-18.png 1940w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>파드가 네임스페이스에 들어올 수 있는지 체크</li>\n<li>\n<p>설정값</p>\n<ul>\n<li>min: 최소 메모리값</li>\n<li>max: 해당 네임스페이스로 들어올 수 있는 파드의 최대 메모리 값<br>\n-> Pod1의 경우 limit memory값이 5Gi이므로 생성이 불가능한다.</li>\n<li>maxLimitRequestRatio: request값과 limit값의 최대 비율<br>\n-> Pod2의 경우 reuqest와 limit의 비율이 3을 넘어가므로 생성이 불가능한다.</li>\n<li>defaultRequest/ default: 스펙이 없는 pod가 들어올 경우 해당 값으로 세팅이 된다.<br>\n-> Pod3의 경우 스펙이 없으므로 default 스펙을 따라간다.</li>\n</ul>\n</li>\n</ul>","fields":{"tagSlugs":["/tags/k-8-s/","/tags/object/"],"slug":"/history/posts/2022-04-02--001"},"frontmatter":{"title":"[K8S] 기본 오브젝트","tags":["k8s","object"],"date":"2022-04-02","description":"대세는 쿠버네티스"}}},"pageContext":{"slug":"/history/posts/2022-04-02--001"}},"staticQueryHashes":[]}