{"id":8340,"date":"2024-01-13T13:46:19","date_gmt":"2024-01-13T04:46:19","guid":{"rendered":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=8340"},"modified":"2024-01-13T15:27:31","modified_gmt":"2024-01-13T06:27:31","slug":"kubernetes-%ec%9a%a9%ec%96%b4-%ec%a0%95%eb%a6%ac","status":"publish","type":"post","link":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=8340","title":{"rendered":"Kubernetes \uc6a9\uc5b4 \uc815\ub9ac"},"content":{"rendered":"<h1>Kubernetes \uc6a9\uc5b4 \uc815\ub9ac<\/h1>\n<h2>\ud3ec\ud2b8(Port)<\/h2>\n<p>NodePort -&gt; Port -&gt; targetPort(=containerPort)<\/p>\n<ul>\n<li>\n<p>NodePort<br \/>\n\uc678\ubd80\uc5d0\uc11c Node \uc5d0 \uc811\uc18d\ud558\uae30 \uc704\ud55c \ud3ec\ud2b8\uc785\ub2c8\ub2e4.<br \/>\n\uac1c\ubc1c\uc790 PC \uc758 \uacbd\uc6b0 localhost \uac00 \ub418\uba70, \ud074\ub77c\uc6b0\ub4dc\uc758 \uacbd\uc6b0 \uc778\uc2a4\ud134\uc2a4\uc5d0 \ud560\ub2f9\ub418\ub294 \uc544\uc774\ud53c(\ud37c\ube14\ub9ad IP)\uc785\ub2c8\ub2e4.<\/p>\n<\/li>\n<li>\n<p>Port<br \/>\n\ud074\ub7ec\uc2a4\ud130 \ub0b4\ubd80\uc5d0\uc11c \uc0ac\uc6a9\ub418\ub294 \ud3ec\ud2b8\uc785\ub2c8\ub2e4.<br \/>\nNodePort-targetPort \uc5f0\uacb0\uc744 \uc704\ud574\uc11c\ub9cc \uc0ac\uc6a9\ub418\uace0, \uc678\ubd80\uc5d0\uc11c\ub294 \uc811\uadfc\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n<\/li>\n<li>\n<p>targetPort<br \/>\nDeployment \uc5d0 \uc811\uadfc\ud558\uae30 \uc704\ud55c \ud3ec\ud2b8\uc785\ub2c8\ub2e4.<br \/>\ncontainerPort \uc640 \uc77c\uce58\uc2dc\ucf1c \uc90d\ub2c8\ub2e4.<\/p>\n<\/li>\n<li>\n<p>containerPort<br \/>\n\ucee8\ud14c\uc774\ub108 \uc774\ubbf8\uc9c0\uc758 \ud3ec\ud2b8\uc785\ub2c8\ub2e4. (Optional)<\/p>\n<\/li>\n<\/ul>\n<h2>Label, Selector<\/h2>\n<p>Label \uc740 key-value \ud615\ud0dc\uc758 \uac12\uc785\ub2c8\ub2e4.<br \/>\n\uc0ac\uc6a9\uc790\uc5d0\uac8c \uc758\ubbf8\uac00 \uc788\uace0, \uc2dc\uc2a4\ud15c\uc5d0\ub294 \uc9c1\uc811\uc801\uc778 \uc758\ubbf8\ub294 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-yaml\">&quot;metadata&quot;: {\n  &quot;labels&quot;: {\n    &quot;key1&quot; : &quot;value1&quot;,\n    &quot;key2&quot; : &quot;value2&quot;\n  }\n}<\/code><\/pre>\n<p>Selector \ub294 \uc624\ube0c\uc81d\ud2b8\ub97c \ucc3e\uae30 \uc704\ud55c \ub3c4\uad6c\uc785\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-yaml\">selector:\n  matchLabels:\n    app: server<\/code><\/pre>\n<h2>Selector<\/h2>\n<p>Pod \ub294 spec.selector \uac00 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-yaml\">apiVersion: v1\nkind: Pod\nmetadata:\n name: myapp-pod\n labels:\n   app: myapp\nspec:\n containers:\n - name: myapp-container\n   image: busybox\n   command: [&#039;sh&#039;, &#039;-c&#039;, &#039;echo Hello Kubernetes! &amp;&amp; sleep 3600&#039;]<\/code><\/pre>\n<p>Deployment, ReplicaSet, StatefulSet, DaemonSet \uc740 spec.template \uc744 \ucc3e\uc544\uac11\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-yaml\">apiVersion: apps\/v1\nkind: Deployment\nmetadata:\n  name: nginx-deployment\n  labels:\n    app: nginx\nspec:\n  replicas: 3\n  selector:\n    matchLabels:\n      app: nginx\n  template:\n    metadata:\n      labels:\n        app: nginx\n    spec:\n      containers:\n      - name: nginx\n        image: nginx:1.14.2\n        ports:\n        - containerPort: 80<\/code><\/pre>\n<p>Service \ub294 spec.selector \uac00 \uc788\uc744\uc218\ub3c4 \uc5c6\uc744\uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<br \/>\n\uc788\ub294 \uacbd\uc6b0\ub294 spec.template \ub97c \ucc3e\uc544\uac11\ub2c8\ub2e4.<br \/>\n\uc5c6\ub294 \uacbd\uc6b0\ub294 Endpoints \ub97c \uc218\ub3d9\uc73c\ub85c \uc0dd\uc131\ud574 \uc8fc\uc5b4\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-yaml\">apiVersion: v1\nkind: Endpoints\nmetadata:\n  name: my-service\nsubsets:\n  - addresses:\n      - ip: 192.0.2.42\n    ports:\n      - port: 9376<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Kubernetes \uc6a9\uc5b4 \uc815\ub9ac \ud3ec\ud2b8(Port) NodePort -&gt; Port -&gt; targetPort(=containerPort) NodePort \uc678\ubd80\uc5d0\uc11c Node \uc5d0 \uc811\uc18d\ud558\uae30 \uc704\ud55c \ud3ec\ud2b8\uc785\ub2c8\ub2e4. \uac1c\ubc1c\uc790 PC \uc758 \uacbd\uc6b0 localhost \uac00 \ub418\uba70, \ud074\ub77c\uc6b0\ub4dc\uc758 \uacbd\uc6b0 \uc778\uc2a4\ud134\uc2a4\uc5d0 \ud560\ub2f9\ub418\ub294 \uc544\uc774\ud53c(\ud37c\ube14\ub9ad IP)\uc785\ub2c8\ub2e4. Port \ud074\ub7ec\uc2a4\ud130 \ub0b4\ubd80\uc5d0\uc11c \uc0ac\uc6a9\ub418\ub294 \ud3ec\ud2b8\uc785\ub2c8\ub2e4. NodePort-targetPort \uc5f0\uacb0\uc744 \uc704\ud574\uc11c\ub9cc \uc0ac\uc6a9\ub418\uace0, \uc678\ubd80\uc5d0\uc11c\ub294 \uc811\uadfc\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. targetPort Deployment \uc5d0 \uc811\uadfc\ud558\uae30 \uc704\ud55c \ud3ec\ud2b8\uc785\ub2c8\ub2e4. containerPort \uc640 \uc77c\uce58\uc2dc\ucf1c \uc90d\ub2c8\ub2e4. containerPort \ucee8\ud14c\uc774\ub108 \uc774\ubbf8\uc9c0\uc758\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=8340\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[],"class_list":["post-8340","post","type-post","status-publish","format-standard","hentry","category-kubernetes"],"_links":{"self":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/8340","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8340"}],"version-history":[{"count":4,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/8340\/revisions"}],"predecessor-version":[{"id":8344,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/8340\/revisions\/8344"}],"wp:attachment":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8340"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8340"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8340"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}