{"id":2721,"date":"2026-10-24T09:39:23","date_gmt":"2026-10-24T09:39:23","guid":{"rendered":"https:\/\/wayhope.kro.kr\/?p=2721"},"modified":"2026-10-24T09:39:23","modified_gmt":"2026-10-24T09:39:23","slug":"kubernetes-%eb%b0%b0%ed%8f%ac-%eb%b0%8f-%eb%84%a4%ed%8a%b8%ec%9b%8c%ed%81%ac","status":"publish","type":"post","link":"https:\/\/wayhope.kro.kr\/?p=2721","title":{"rendered":"Kubernetes \ubc30\ud3ec \ubc0f \ub124\ud2b8\uc6cc\ud06c"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Kubernetes\uc5d0\uc11c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc548\uc815\uc801\uc73c\ub85c \uc6b4\uc601\ud558\ub824\uba74 \ucee8\ud14c\uc774\ub108\ub97c \uc2e4\ud589\ud558\ub294 \uac83\ub9cc\uc73c\ub85c\ub294 \ubd80\uc871\ud558\ub2e4. \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \ubc30\ud3ec \uc0c1\ud0dc\ub97c \uad00\ub9ac\ud558\uace0, \uc678\ubd80 \ud2b8\ub798\ud53d\uc744 \ub0b4\ubd80 Pod\ub85c \uc804\ub2ec\ud558\uba70, \uc11c\ube44\uc2a4 \uac04 \ud1b5\uc2e0\uacfc \uc124\uc815\uc744 \uccb4\uacc4\uc801\uc73c\ub85c \uad00\ub9ac\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Kubernetes\ub294 \uc774\ub7ec\ud55c \uc791\uc5c5\uc744 Deployment, ReplicaSet, Service, Ingress, ConfigMap, Secret \ub4f1\uc758 \ub9ac\uc18c\uc2a4\ub97c \ud1b5\ud574 \uc81c\uacf5\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac01 \ub9ac\uc18c\uc2a4\ub294 \uc11c\ub85c \ub2e4\ub978 \ucc45\uc784\uc744 \uac00\uc9c4\ub2e4. Deployment\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \ubc30\ud3ec \uc0c1\ud0dc\ub97c \uad00\ub9ac\ud558\uace0, ReplicaSet\uc740 \uc9c0\uc815\ub41c Pod \uc218\ub97c \uc720\uc9c0\ud55c\ub2e4. Service\ub294 Pod\uc5d0 \uc548\uc815\uc801\uc778 \ub124\ud2b8\uc6cc\ud06c \uc811\uadfc\uc810\uc744 \uc81c\uacf5\ud558\uba70, Ingress\ub294 \uc678\ubd80 HTTP \ubc0f HTTPS \uc694\uccad\uc744 \ud074\ub7ec\uc2a4\ud130 \ub0b4\ubd80 \uc11c\ube44\uc2a4\ub85c \ub77c\uc6b0\ud305\ud55c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Deployment\uc640 ReplicaSet<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Deployment<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Deployment\ub294 Kubernetes\uc5d0\uc11c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \ubc30\ud3ec\uc640 \uc5c5\ub370\uc774\ud2b8\ub97c \uad00\ub9ac\ud558\ub294 \ub9ac\uc18c\uc2a4\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ucee8\ud14c\uc774\ub108 \uc774\ubbf8\uc9c0, \uc2e4\ud589\ud560 Pod \uc218, \uc5c5\ub370\uc774\ud2b8 \uc804\ub7b5 \ub4f1\uc758 \uc6d0\ud558\ub294 \uc0c1\ud0dc\ub97c \uc120\uc5b8\ud558\uba74 Kubernetes\ub294 \uc2e4\uc81c \uc0c1\ud0dc\uac00 \uc6d0\ud558\ub294 \uc0c1\ud0dc\uc640 \uc77c\uce58\ud558\ub3c4\ub85d \uc870\uc815\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Deployment\uac00 \uad00\ub9ac\ud558\ub294 \uc8fc\uc694 \ud56d\ubaa9\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>ReplicaSet \uad00\ub9ac<\/strong>: \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc6d0\ud558\ub294 Pod \uc218\ub97c \uc720\uc9c0\ud558\ub3c4\ub85d ReplicaSet\uc744 \uc0dd\uc131\ud558\uace0 \uad00\ub9ac\ud55c\ub2e4.<\/li>\n\n\n\n<li><strong>\ub864\ub9c1 \uc5c5\ub370\uc774\ud2b8<\/strong>: \uae30\uc874 Pod\ub97c \ud55c\uaebc\ubc88\uc5d0 \uc885\ub8cc\ud558\uc9c0 \uc54a\uace0 \uc0c8 \ubc84\uc804\uc758 Pod\ub85c \uc810\uc9c4\uc801\uc73c\ub85c \uad50\uccb4\ud55c\ub2e4.<\/li>\n\n\n\n<li><strong>\ub864\ubc31<\/strong>: \ubc30\ud3ec \uc774\ub825\uc5d0 \ub530\ub77c \uc774\uc804 \ubc84\uc804\uc73c\ub85c \ub418\ub3cc\ub9b4 \uc218 \uc788\ub2e4.<\/li>\n\n\n\n<li><strong>\uc0c1\ud0dc \uad00\ub9ac<\/strong>: \uc120\uc5b8\ud55c \ubc30\ud3ec \uc0c1\ud0dc\uc640 \uc2e4\uc81c \uc2e4\ud589 \uc0c1\ud0dc\uc758 \ucc28\uc774\ub97c \uc9c0\uc18d\uc801\uc73c\ub85c \uc870\uc815\ud55c\ub2e4.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Deployment\ub294 \uc77c\ubc18\uc801\uc73c\ub85c \uc6f9 \uc11c\ubc84, API \uc11c\ubc84, \uac8c\uc784 \ud50c\ub7ab\ud3fc\uc758 \ubc31\uc5d4\ub4dc \uc11c\ubc84\ucc98\ub7fc \uc9c0\uc18d\uc801\uc73c\ub85c \uc2e4\ud589\ub418\uc5b4\uc57c \ud558\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">ReplicaSet<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">ReplicaSet\uc740 \uc9c0\uc815\ub41c \uc218\uc758 Pod\uac00 \uc2e4\ud589\ub418\ub3c4\ub85d \ubcf4\uc7a5\ud558\ub294 \ub9ac\uc18c\uc2a4\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 API \uc11c\ubc84 Pod\ub97c \uc5ec\ub7ec \uac1c \uc2e4\ud589\ud558\ub3c4\ub85d \uc124\uc815\ud558\uba74, \uc77c\ubd80 Pod\uac00 \uc885\ub8cc\ub418\ub354\ub77c\ub3c4 ReplicaSet\uc740 \ubd80\uc871\ud55c \uc218\ub9cc\ud07c \uc0c8\ub85c\uc6b4 Pod\ub97c \uc0dd\uc131\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ReplicaSet\uc758 \ud575\uc2ec \ucc45\uc784\uc740 <strong>Pod\uc758 \uac1c\uc218\ub97c \uc720\uc9c0\ud558\ub294 \uac83<\/strong>\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Deployment\uc640 ReplicaSet\uc758 \uad00\uacc4\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Deployment\ub294 \ubc30\ud3ec \ubc84\uc804\uacfc \uc5c5\ub370\uc774\ud2b8 \uc804\ub7b5\uc744 \uad00\ub9ac\ud55c\ub2e4.<\/li>\n\n\n\n<li>ReplicaSet\uc740 \ud2b9\uc815 Pod \ud15c\ud50c\ub9bf\uc744 \uae30\ubc18\uc73c\ub85c \uc6d0\ud558\ub294 Pod \uc218\ub97c \uc720\uc9c0\ud55c\ub2e4.<\/li>\n\n\n\n<li>Deployment\ub294 \uc0c8 \ubc84\uc804\uc744 \ubc30\ud3ec\ud560 \ub54c \uc0c8\ub85c\uc6b4 ReplicaSet\uc744 \uc0dd\uc131\ud558\uace0 \uae30\uc874 ReplicaSet\uc758 \uaddc\ubaa8\ub97c \uc870\uc815\ud55c\ub2e4.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c \uc77c\ubc18\uc801\uc778 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ubc30\ud3ec\uc5d0\uc11c\ub294 ReplicaSet\uc744 \uc9c1\uc811 \uad00\ub9ac\ud558\uae30\ubcf4\ub2e4 Deployment\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \uc801\uc808\ud558\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Deployment \uc120\uc5b8 \uc608\uc2dc<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e4\uc74c\uc740 Nginx \ucee8\ud14c\uc774\ub108\ub97c \uc2e4\ud589\ud558\ub294 Deployment \uc124\uc815\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apiVersion: apps\/v1\nkind: Deployment\nmetadata:\n  name: api-server\nspec:\n  replicas: 3\n  selector:\n    matchLabels:\n      app: api-server\n  strategy:\n    type: RollingUpdate\n    rollingUpdate:\n      maxSurge: 1\n      maxUnavailable: 0\n  template:\n    metadata:\n      labels:\n        app: api-server\n    spec:\n      containers:\n        - name: api-server\n          image: nginx:stable\n          ports:\n            - containerPort: 80<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>replicas<\/code>\ub294 \uc6d0\ud558\ub294 Pod \uc218\ub97c \uc9c0\uc815\ud55c\ub2e4. <code>selector<\/code>\ub294 Deployment\uac00 \uad00\ub9ac\ud560 Pod\ub97c \uc2dd\ubcc4\ud558\uba70, Pod \ud15c\ud50c\ub9bf\uc758 <code>labels<\/code>\uc640 \uc77c\uce58\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>maxSurge<\/code>\ub294 \uc5c5\ub370\uc774\ud2b8 \uc911 \uc6d0\ud558\ub294 Pod \uc218\ub97c \ucd08\uacfc\ud574 \ucd94\uac00\ub85c \uc0dd\uc131\ud560 \uc218 \uc788\ub294 Pod \uc218\ub97c \uc758\ubbf8\ud55c\ub2e4. <code>maxUnavailable<\/code>\uc740 \uc5c5\ub370\uc774\ud2b8 \uacfc\uc815\uc5d0\uc11c \uc0ac\uc6a9 \ubd88\uac00\ub2a5\ud55c \uc0c1\ud0dc\uac00 \ub420 \uc218 \uc788\ub294 Pod \uc218\ub97c \uc81c\ud55c\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc704 \uc124\uc815\uc5d0\uc11c\ub294 \uae30\uc874 Pod\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\ub294 \uc0c1\ud0dc\ub85c \ub9cc\ub4e4\uc9c0 \uc54a\uc73c\uba74\uc11c \uc0c8 Pod\ub97c \ucd94\uac00\ud574 \uc810\uc9c4\uc801\uc73c\ub85c \uad50\uccb4\ud558\ub3c4\ub85d \uc9c0\uc815\ud588\ub2e4. \ub2e4\ub9cc \uc2e4\uc81c \ubb34\uc911\ub2e8 \ubc30\ud3ec \uc5ec\ubd80\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc900\ube44 \uc0c1\ud0dc, \ud504\ub85c\uc138\uc2a4 \uc885\ub8cc \ucc98\ub9ac, \ud2b8\ub798\ud53d \uc804\ud658 \ubc29\uc2dd \ub4f1\uc5d0\ub3c4 \uc601\ud5a5\uc744 \ubc1b\ub294\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ub864\ub9c1 \uc5c5\ub370\uc774\ud2b8\uc640 \ub864\ubc31<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\ub864\ub9c1 \uc5c5\ub370\uc774\ud2b8\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc0c8 \ubc84\uc804\uc744 \ub2e8\uacc4\uc801\uc73c\ub85c \ubc30\ud3ec\ud558\ub294 \ubc29\uc2dd\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uae30\uc874 Pod\ub97c \ubaa8\ub450 \uc885\ub8cc\ud55c \ub4a4 \uc0c8 Pod\ub97c \uc0dd\uc131\ud558\ub294 \ubc29\uc2dd\uacfc \ub2ec\ub9ac, \uc0c8 \ubc84\uc804\uc758 Pod\uac00 \uc900\ube44\ub418\ub294 \uacfc\uc815\uc5d0\uc11c \uae30\uc874 \ubc84\uc804\uc758 Pod\ub97c \uc720\uc9c0\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ubc30\ud3ec \uacfc\uc815\uc5d0\uc11c \uace0\ub824\ud574\uc57c \ud560 \uc694\uc18c\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Readiness Probe<\/strong>: Pod\uac00 \uc2e4\uc81c\ub85c \uc694\uccad\uc744 \ucc98\ub9ac\ud560 \uc900\ube44\uac00 \ub418\uc5c8\ub294\uc9c0 \ud655\uc778\ud55c\ub2e4.<\/li>\n\n\n\n<li><strong>Liveness Probe<\/strong>: \ucee8\ud14c\uc774\ub108\uac00 \uc815\uc0c1\uc801\uc73c\ub85c \ub3d9\uc791\ud558\uace0 \uc788\ub294\uc9c0 \ud655\uc778\ud55c\ub2e4.<\/li>\n\n\n\n<li><strong>\ub9ac\uc18c\uc2a4 \uc81c\ud55c<\/strong>: \uc0c8 \ubc84\uc804\uc758 Pod\ub97c \ucd94\uac00\ub85c \uc2e4\ud589\ud560 \uc218 \uc788\ub294 CPU\uc640 \uba54\ubaa8\ub9ac\ub97c \ud655\ubcf4\ud55c\ub2e4.<\/li>\n\n\n\n<li><strong>\ud638\ud658\uc131<\/strong>: \uc774\uc804 \ubc84\uc804\uacfc \uc0c8 \ubc84\uc804\uc774 \ub3d9\uc77c\ud55c \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc2a4\ud0a4\ub9c8 \ubc0f API \uacc4\uc57d\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub3c4\ub85d \uc124\uacc4\ud55c\ub2e4.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\ubc30\ud3ec \ud6c4 \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud558\uba74 \ub2e4\uc74c \uba85\ub839\uc5b4\ub85c \uc774\uc804 \ub9ac\ube44\uc804\uc73c\ub85c \ub864\ubc31\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl rollout undo deployment\/api-server<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ubc30\ud3ec \uc0c1\ud0dc\ub294 \ub2e4\uc74c \uba85\ub839\uc5b4\ub85c \ud655\uc778\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl rollout status deployment\/api-server\nkubectl rollout history deployment\/api-server<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub864\ubc31\uc740 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uc774\ubbf8\uc9c0\uc640 Deployment \uc124\uc815\uc744 \uc774\uc804 \uc0c1\ud0dc\ub85c \ubcf5\uc6d0\ud558\ub294 \ub370 \uc720\uc6a9\ud558\ub2e4. \ud558\uc9c0\ub9cc \uc774\ubbf8 \uc2e4\ud589\ub41c \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc774\ub098 \uc678\ubd80 \uc2dc\uc2a4\ud15c\uc5d0 \ubc1c\uc0dd\ud55c \ubd80\uc791\uc6a9\uae4c\uc9c0 \uc790\ub3d9\uc73c\ub85c \ub418\ub3cc\ub9ac\uc9c0\ub294 \uc54a\ub294\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Service<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Service\uc758 \uc5ed\ud560<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Kubernetes\uc758 Pod\ub294 \uc0dd\uc131\uacfc \uc0ad\uc81c, \uc7ac\uc2dc\uc791, \uc2a4\ucf00\uc77c\ub9c1\uc5d0 \ub530\ub77c IP \uc8fc\uc18c\uac00 \ubcc0\uacbd\ub420 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud074\ub77c\uc774\uc5b8\ud2b8\uac00 \uac1c\ubcc4 Pod\uc758 IP \uc8fc\uc18c\ub97c \uc9c1\uc811 \uc0ac\uc6a9\ud55c\ub2e4\uba74 Pod\uac00 \uad50\uccb4\ub420 \ub54c\ub9c8\ub2e4 \uc5f0\uacb0 \uc815\ubcf4\ub97c \uac31\uc2e0\ud574\uc57c \ud55c\ub2e4. \uc774\ub7ec\ud55c \ubc29\uc2dd\uc740 \uc11c\ube44\uc2a4 \uc6b4\uc601\uc5d0 \uc801\ud569\ud558\uc9c0 \uc54a\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Service\ub294 \uc5ec\ub7ec Pod\ub97c \ub17c\ub9ac\uc801\uc778 \ub2e8\uc704\ub85c \ubb36\uace0, \uc548\uc815\uc801\uc778 \uc811\uadfc\uc810\uc744 \uc81c\uacf5\ud558\ub294 \ub9ac\uc18c\uc2a4\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Service\ub294 \ub77c\ubca8 \uc140\ub809\ud130\ub97c \ud1b5\ud574 \ub300\uc0c1 Pod\ub97c \uc2dd\ubcc4\ud558\uace0, \ud574\ub2f9 Pod\ub85c \ud2b8\ub798\ud53d\uc744 \uc804\ub2ec\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc8fc\uc694 \ubaa9\uc801\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\uc548\uc815\uc801\uc778 \uc811\uadfc\uc810 \uc81c\uacf5<\/strong>: Pod\uc758 IP\uac00 \ubcc0\uacbd\ub418\uc5b4\ub3c4 Service\uc758 \uc811\uadfc \uc8fc\uc18c\ub97c \uc720\uc9c0\ud55c\ub2e4.<\/li>\n\n\n\n<li><strong>\ud2b8\ub798\ud53d \ubd84\uc0b0<\/strong>: \uc120\ud0dd\ub41c \uc5ec\ub7ec Pod\uc5d0 \uc694\uccad\uc744 \uc804\ub2ec\ud55c\ub2e4.<\/li>\n\n\n\n<li><strong>\uc11c\ube44\uc2a4 \uac04 \ud1b5\uc2e0<\/strong>: \ub2e4\ub978 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \uac1c\ubcc4 Pod\uc758 \uc8fc\uc18c\ub97c \uc54c\uc9c0 \uc54a\uace0\ub3c4 \uc11c\ube44\uc2a4\ub97c \ud638\ucd9c\ud560 \uc218 \uc788\ub3c4\ub85d \ud55c\ub2e4.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Service\ub294 \uc77c\ubc18\uc801\uc73c\ub85c L4 \uc218\uc900\uc758 TCP \ub610\ub294 UDP \uc5f0\uacb0\uc744 \uc804\ub2ec\ud55c\ub2e4. HTTP \uacbd\ub85c\ub098 \ud638\uc2a4\ud2b8 \uc774\ub984\uc744 \uae30\uc900\uc73c\ub85c \uc138\ubc00\ud558\uac8c \ub77c\uc6b0\ud305\ud558\ub294 \uae30\ub2a5\uc740 \ubcf4\ud1b5 Ingress \ub610\ub294 Gateway API\uc640 \uac19\uc740 \ubcc4\ub3c4 \uacc4\uce35\uc5d0\uc11c \ucc98\ub9ac\ud55c\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Service \uc720\ud615<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Kubernetes\ub294 \uc0ac\uc6a9 \ubaa9\uc801\uc5d0 \ub530\ub77c \uc5ec\ub7ec Service \uc720\ud615\uc744 \uc81c\uacf5\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>ClusterIP<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud074\ub7ec\uc2a4\ud130 \ub0b4\ubd80\uc5d0\uc11c\ub9cc \uc811\uadfc\ud560 \uc218 \uc788\ub294 \uac00\uc0c1 IP\ub97c \uc81c\uacf5\ud55c\ub2e4. \ubcc4\ub3c4 \uc720\ud615\uc744 \uc9c0\uc815\ud558\uc9c0 \uc54a\uc558\uc744 \ub54c \uae30\ubcf8\uc801\uc73c\ub85c \uc0ac\uc6a9\ub418\ub294 \uc720\ud615\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub0b4\ubd80 API \uc11c\ubc84, \uc778\uc99d \uc11c\ubc84, \ub9e4\uce6d \uc11c\ubc84\ucc98\ub7fc \ud074\ub7ec\uc2a4\ud130 \ub0b4\ubd80\uc5d0\uc11c \ud638\ucd9c\ub418\ub294 \uc11c\ube44\uc2a4\uc5d0 \uc801\ud569\ud558\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>NodePort<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac01 \ub178\ub4dc\uc758 \uc9c0\uc815\ub41c \ud3ec\ud2b8\ub97c \ud1b5\ud574 Service\uc5d0 \uc811\uadfc\ud560 \uc218 \uc788\ub3c4\ub85d \ud55c\ub2e4. \uc77c\ubc18\uc801\uc73c\ub85c \uc678\ubd80 \ub85c\ub4dc \ubc38\ub7f0\uc11c\uac00 \uc5c6\ub294 \ud658\uacbd\uc5d0\uc11c \uc678\ubd80 \uc811\uadfc\uc744 \uad6c\uc131\ud558\uac70\ub098 \ud14c\uc2a4\ud2b8\ud560 \ub54c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc6b4\uc601 \ud658\uacbd\uc5d0\uc11c\ub294 \ubc29\ud654\ubcbd, \uc811\uadfc \uc81c\uc5b4, \ud3ec\ud2b8 \uad00\ub9ac \ub4f1\uc744 \ud568\uaed8 \uace0\ub824\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>LoadBalancer<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud074\ub77c\uc6b0\ub4dc \uc81c\uacf5\uc790\uc758 \ub85c\ub4dc \ubc38\ub7f0\uc11c\uc640 \uc5f0\ub3d9\ud574 \uc678\ubd80 \uc811\uadfc\uc810\uc744 \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4. \uc2e4\uc81c \ub3d9\uc791\uc740 \ud074\ub77c\uc6b0\ub4dc \ud658\uacbd\uacfc \uc124\uce58\ub41c \ucee8\ud2b8\ub864\ub7ec\uc5d0 \ub530\ub77c \ub2ec\ub77c\uc9c4\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>ExternalName<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc678\ubd80 DNS \uc774\ub984\uc744 Service \uc774\ub984\uc5d0 \uc5f0\uacb0\ud55c\ub2e4. \uc77c\ubc18\uc801\uc778 Pod \ud2b8\ub798\ud53d \ud504\ub85d\uc2dc \ubc29\uc2dd\uacfc\ub294 \ub2e4\ub974\uba70, DNS \ubcc4\uce6d\uc774 \ud544\uc694\ud55c \uacbd\uc6b0\uc5d0 \ud65c\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Service \uc120\uc5b8 \uc608\uc2dc<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>apiVersion: v1\nkind: Service\nmetadata:\n  name: api-service\nspec:\n  type: ClusterIP\n  selector:\n    app: api-server\n  ports:\n    - name: http\n      port: 80\n      targetPort: 80\n      protocol: TCP<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>port<\/code>\ub294 Service\uac00 \uc81c\uacf5\ud558\ub294 \ud3ec\ud2b8\uc774\uace0, <code>targetPort<\/code>\ub294 \ub300\uc0c1 Pod\uc5d0\uc11c \uc694\uccad\uc744 \uc804\ub2ec\ubc1b\ub294 \ud3ec\ud2b8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>selector<\/code>\ub294 <code>app: api-server<\/code> \ub77c\ubca8\uc744 \uac00\uc9c4 Pod\ub97c \ub300\uc0c1\uc73c\ub85c \uc9c0\uc815\ud55c\ub2e4. \ub530\ub77c\uc11c Deployment\uc5d0\uc11c \uc0dd\uc131\ud55c Pod\uc5d0 \ub3d9\uc77c\ud55c \ub77c\ubca8\uc774 \uc788\uc5b4\uc57c \uc815\uc0c1\uc801\uc73c\ub85c \uc5f0\uacb0\ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e4\uc74c\uacfc \uac19\uc774 \ud074\ub7ec\uc2a4\ud130 \ub0b4\ubd80\uc5d0\uc11c Service\ub97c \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;api-service<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e4\ub978 \ub124\uc784\uc2a4\ud398\uc774\uc2a4\uc5d0 \uc788\ub294 \uc11c\ube44\uc2a4\ub77c\uba74 \ub124\uc784\uc2a4\ud398\uc774\uc2a4\ub97c \ud3ec\ud568\ud55c DNS \uc774\ub984\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;api-service.backend<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Service\uc640 EndpointSlice<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Service\ub294 \ud2b8\ub798\ud53d\uc744 \uc804\ub2ec\ud560 \ub300\uc0c1\uc744 \uc2dd\ubcc4\ud558\uae30 \uc704\ud574 EndpointSlice \ub4f1\uc758 \ub9ac\uc18c\uc2a4\ub97c \ud65c\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">EndpointSlice\uc5d0\ub294 Service\uc640 \uc5f0\uacb0\ub41c Pod\uc758 \ub124\ud2b8\uc6cc\ud06c \uc5d4\ub4dc\ud3ec\uc778\ud2b8 \uc815\ubcf4\uac00 \uae30\ub85d\ub41c\ub2e4. \uc77c\ubc18\uc801\uc73c\ub85c Pod\uc758 \uc900\ube44 \uc0c1\ud0dc\uc640 \uc140\ub809\ud130 \uc77c\uce58 \uc5ec\ubd80 \ub4f1\uc5d0 \ub530\ub77c \ub300\uc0c1 \uc5d4\ub4dc\ud3ec\uc778\ud2b8\uac00 \uad00\ub9ac\ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Service\ub294 \uc874\uc7ac\ud558\uc9c0\ub9cc \uc694\uccad\uc774 \uc804\ub2ec\ub418\uc9c0 \uc54a\ub294 \uacbd\uc6b0\uc5d0\ub294 \ub2e4\uc74c\uc744 \ud655\uc778\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Service\uc758 <code>selector<\/code>\uc640 Pod\uc758 <code>labels<\/code>\uac00 \uc77c\uce58\ud558\ub294\uac00?<\/li>\n\n\n\n<li>\ub300\uc0c1 Pod\uac00 \uc815\uc0c1\uc801\uc73c\ub85c \uc900\ube44\ub418\uc5c8\ub294\uac00?<\/li>\n\n\n\n<li><code>port<\/code>\uc640 <code>targetPort<\/code>\uac00 \uc62c\ubc14\ub978\uac00?<\/li>\n\n\n\n<li>NetworkPolicy \ub610\ub294 \ubc29\ud654\ubcbd\uc774 \ud1b5\uc2e0\uc744 \ucc28\ub2e8\ud558\uc9c0 \uc54a\ub294\uac00?<\/li>\n\n\n\n<li>\uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \uc9c0\uc815\ub41c \uc778\ud130\ud398\uc774\uc2a4\uc640 \ud3ec\ud2b8\uc5d0\uc11c \uc694\uccad\uc744 \uc218\uc2e0\ud558\uace0 \uc788\ub294\uac00?<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Service \uac1d\uccb4\uac00 \uc0dd\uc131\ub418\uc5c8\ub2e4\ub294 \uc0ac\uc2e4\ub9cc\uc73c\ub85c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc815\uc0c1 \uc751\ub2f5\uae4c\uc9c0 \ubcf4\uc7a5\ub418\ub294 \uac83\uc740 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ingress<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Ingress\uc758 \uc5ed\ud560<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ingress\ub294 \ud074\ub7ec\uc2a4\ud130 \uc678\ubd80\uc5d0\uc11c \ub4e4\uc5b4\uc624\ub294 HTTP \ubc0f HTTPS \uc694\uccad\uc744 \ub0b4\ubd80 Service\ub85c \uc804\ub2ec\ud558\uae30 \uc704\ud55c \ub77c\uc6b0\ud305 \uaddc\uce59\uc744 \uc815\uc758\ud558\ub294 \ub9ac\uc18c\uc2a4\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Service\uac00 \ub0b4\ubd80 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc548\uc815\uc801\uc778 \uc811\uadfc\uc810\uc744 \uc81c\uacf5\ud55c\ub2e4\uba74, Ingress\ub294 \uc678\ubd80 \uc694\uccad\uc744 \uc5b4\ub5a4 Service\ub85c \uc804\ub2ec\ud560\uc9c0 \uacb0\uc815\ud558\ub294 \uc5ed\ud560\uc744 \ub2f4\ub2f9\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \ub2e4\uc74c\uacfc \uac19\uc740 \uc11c\ube44\uc2a4\ub97c \uc6b4\uc601\ud55c\ub2e4\uace0 \uac00\uc815\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>api.example.com<\/code>\uc740 API \uc11c\ubc84\ub85c \uc804\ub2ec\ud55c\ub2e4.<\/li>\n\n\n\n<li><code>admin.example.com<\/code>\uc740 \uad00\ub9ac\uc790 \uc6f9 \uc11c\ubc84\ub85c \uc804\ub2ec\ud55c\ub2e4.<\/li>\n\n\n\n<li><code>example.com<\/code>\uc740 \ud504\ub7f0\ud2b8\uc5d4\ub4dc \uc11c\ubc84\ub85c \uc804\ub2ec\ud55c\ub2e4.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub7ec\ud55c \ud638\uc2a4\ud2b8 \uae30\ubc18 \ub77c\uc6b0\ud305\uc744 Ingress \uaddc\uce59\uc73c\ub85c \uad6c\uc131\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ingress\ub294 \ub9ac\uc18c\uc2a4 \uc120\uc5b8\ub9cc\uc73c\ub85c \ub3d9\uc791\ud558\uc9c0 \uc54a\ub294\ub2e4. \uc2e4\uc81c \uc694\uccad\uc744 \ucc98\ub9ac\ud558\ub824\uba74 NGINX Ingress Controller\uc640 \uac19\uc740 Ingress Controller\uac00 \ud074\ub7ec\uc2a4\ud130\uc5d0 \uc124\uce58\ub418\uc5b4 \uc788\uc5b4\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ingress\ub294 Kubernetes\uc758 \uc804\ud1b5\uc801\uc778 HTTP \uc9c4\uc785\uc810 \ubaa8\ub378\uc774\uba70, \uc2e0\uaddc \ud658\uacbd\uc5d0\uc11c\ub294 Gateway API\ub3c4 \ub300\uc548\uc73c\ub85c \uac80\ud1a0\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Ingress \uc120\uc5b8 \uc608\uc2dc<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e4\uc74c \uc608\uc2dc\ub294 <code>api.example.com<\/code>\uc73c\ub85c \ub4e4\uc5b4\uc624\ub294 HTTP \uc694\uccad\uc744 <code>api-service<\/code>\ub85c \uc804\ub2ec\ud558\ub294 \uc124\uc815\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apiVersion: networking.k8s.io\/v1\nkind: Ingress\nmetadata:\n  name: api-ingress\nspec:\n  ingressClassName: nginx\n  rules:\n    - host: api.example.com\n      http:\n        paths:\n          - path: \/\n            pathType: Prefix\n            backend:\n              service:\n                name: api-service\n                port:\n                  number: 80<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>ingressClassName<\/code>\uc740 \uc694\uccad\uc744 \ucc98\ub9ac\ud560 Ingress Controller\uc758 \ud074\ub798\uc2a4\ub97c \uc9c0\uc815\ud55c\ub2e4. \uc608\uc2dc\uc758 <code>nginx<\/code> \ud074\ub798\uc2a4\uac00 \uc2e4\uc81c \ud074\ub7ec\uc2a4\ud130\uc5d0 \ub4f1\ub85d\ub418\uc5b4 \uc788\uc5b4\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>host<\/code>\ub294 \uc694\uccad\uc758 \ud638\uc2a4\ud2b8 \uc774\ub984\uc744 \uae30\uc900\uc73c\ub85c \ub77c\uc6b0\ud305\ud558\uba70, <code>path<\/code>\ub294 URL \uacbd\ub85c\ub97c \uae30\uc900\uc73c\ub85c \ub77c\uc6b0\ud305\ud55c\ub2e4. <code>backend<\/code>\uc5d0\ub294 \uc694\uccad\uc744 \uc804\ub2ec\ud560 Service\uc640 \ud3ec\ud2b8\ub97c \uc9c0\uc815\ud55c\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">HTTPS\uc640 TLS \uc778\uc99d\uc11c<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\uc678\ubd80\uc5d0\uc11c API\ub97c \ud638\ucd9c\ud560 \ub54c\ub294 HTTPS\ub97c \uc801\uc6a9\ud574 \ud1b5\uc2e0 \uad6c\uac04\uc744 \uc554\ud638\ud654\ud558\ub294 \uac83\uc774 \uc77c\ubc18\uc801\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ingress\ub294 TLS \uc124\uc815\uc744 \ud1b5\ud574 \uc778\uc99d\uc11c\ub97c \uc9c0\uc815\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>spec:\n  tls:\n    - hosts:\n        - api.example.com\n      secretName: api-tls<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \uc124\uc815\uc744 \uae30\uc874 Ingress\uc758 <code>spec<\/code>\uc5d0 \ucd94\uac00\ud558\uba74 \ub41c\ub2e4. <code>api-tls<\/code> Secret\uc5d0\ub294 \ud574\ub2f9 \ud638\uc2a4\ud2b8\uc5d0 \uc0ac\uc6a9\ud560 \uc778\uc99d\uc11c\uc640 \uac1c\uc778 \ud0a4\uac00 \uc62c\ubc14\ub978 \ud615\uc2dd\uc73c\ub85c \uc800\uc7a5\ub418\uc5b4 \uc788\uc5b4\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc778\uc99d\uc11c \ubc1c\uae09\uacfc \uac31\uc2e0\uc740 cert-manager \uac19\uc740 \ub3c4\uad6c\ub85c \uc790\ub3d9\ud654\ud560 \uc218 \uc788\ub2e4. \ub2e4\ub9cc \uc778\uc99d\uc11c \ubc1c\uae09 \ubc29\uc2dd, DNS \uc124\uc815, Ingress Controller \uad6c\uc131\uc5d0 \ub530\ub77c \ucd94\uac00 \uc124\uc815\uc774 \ud544\uc694\ud558\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ingress\ub97c \uad6c\uc131\ud560 \ub54c\ub294 \ub2e4\uc74c \uc0ac\ud56d\uc744 \ud568\uaed8 \uac80\ud1a0\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>DNS \ub808\ucf54\ub4dc\uac00 Ingress\uc758 \uc678\ubd80 \uc9c4\uc785\uc810\uc73c\ub85c \uc5f0\uacb0\ub418\ub294\uac00?<\/li>\n\n\n\n<li>TLS \uc778\uc99d\uc11c\uc758 \ud638\uc2a4\ud2b8 \uc774\ub984\uc774 \uc694\uccad \ub3c4\uba54\uc778\uacfc \uc77c\uce58\ud558\ub294\uac00?<\/li>\n\n\n\n<li>Ingress Controller\uac00 \uc815\uc0c1\uc801\uc73c\ub85c \uc2e4\ud589 \uc911\uc778\uac00?<\/li>\n\n\n\n<li>\uc694\uccad\uc744 \uc804\ub2ec\ud560 Service\uc640 \uc5d4\ub4dc\ud3ec\uc778\ud2b8\uac00 \uc815\uc0c1\uc778\uac00?<\/li>\n\n\n\n<li>\uc778\uc99d, \uc694\uccad \ud06c\uae30 \uc81c\ud55c, \ud0c0\uc784\uc544\uc6c3, \uc811\uadfc \uc81c\uc5b4 \uc815\ucc45\uc774 \uc801\uc808\ud55c\uac00?<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ingress\ub294 \uc77c\ubc18\uc801\uc778 HTTP \ubc0f HTTPS \ud2b8\ub798\ud53d\uc744 \ucc98\ub9ac\ud558\uae30\uc5d0 \uc801\ud569\ud558\uc9c0\ub9cc, \ubaa8\ub4e0 \ub124\ud2b8\uc6cc\ud06c \ud504\ub85c\ud1a0\ucf5c\uc744 \ud3ec\uad04\ud558\ub294 \ubc94\uc6a9 \ub77c\uc6b0\ud130\ub294 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">ConfigMap\uacfc Secret<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">ConfigMap<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">ConfigMap\uc740 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc124\uc815\uac12\uc744 \ucee8\ud14c\uc774\ub108 \uc774\ubbf8\uc9c0\uc640 \ubd84\ub9ac\ud574 \uad00\ub9ac\ud558\ub294 Kubernetes \ub9ac\uc18c\uc2a4\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc2e4\ud589 \ud658\uacbd\uc5d0 \ub530\ub77c \ub2ec\ub77c\uc9c0\ub294 \uc124\uc815\uc744 \uc774\ubbf8\uc9c0\uc5d0 \uc9c1\uc811 \ud3ec\ud568\ud558\uba74 \ud658\uacbd\ub9c8\ub2e4 \uc774\ubbf8\uc9c0\ub97c \ubcc4\ub3c4\ub85c \ube4c\ub4dc\ud574\uc57c \ud558\uac70\ub098 \uc124\uc815 \ubcc0\uacbd\uc744 \uc704\ud574 \uc774\ubbf8\uc9c0\ub97c \ub2e4\uc2dc \ubc30\ud3ec\ud574\uc57c \ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ConfigMap\uc744 \uc0ac\uc6a9\ud558\uba74 \ub3d9\uc77c\ud55c \uc774\ubbf8\uc9c0\ub97c \uac1c\ubc1c, \uc2a4\ud14c\uc774\uc9d5, \uc6b4\uc601 \ud658\uacbd\uc5d0\uc11c \uc7ac\uc0ac\uc6a9\ud558\uba74\uc11c \ud658\uacbd\ubcc4 \uc124\uc815\uc744 \ubd84\ub9ac\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc8fc\uc694 \ud65c\uc6a9 \ub300\uc0c1\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc2e4\ud589 \ubaa8\ub4dc<\/li>\n\n\n\n<li>\ub85c\uadf8 \ub808\ubca8<\/li>\n\n\n\n<li>\uc678\ubd80 API\uc758 \uc8fc\uc18c<\/li>\n\n\n\n<li>\uae30\ub2a5 \ud65c\uc131\ud654 \uc5ec\ubd80<\/li>\n\n\n\n<li>\ube44\ubc00 \uc815\ubcf4\uac00 \uc544\ub2cc \uc77c\ubc18\uc801\uc778 \uc124\uc815 \ud30c\uc77c<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">ConfigMap\uc740 \ud658\uacbd \ubcc0\uc218\ub97c \ud1b5\ud574 \uc8fc\uc785\ud558\uac70\ub098 \ud30c\uc77c \ud615\ud0dc\ub85c \ucee8\ud14c\uc774\ub108\uc5d0 \ub9c8\uc6b4\ud2b8\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">ConfigMap \uc120\uc5b8 \uc608\uc2dc<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: api-config\ndata:\n  NODE_ENV: production\n  LOG_LEVEL: info\n  API_TIMEOUT: \"5000\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Deployment\uc5d0\uc11c ConfigMap\uc758 \uac12\uc744 \ud658\uacbd \ubcc0\uc218\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>envFrom:\n  - configMapRef:\n      name: api-config<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \uc124\uc815\uc740 \ucee8\ud14c\uc774\ub108\uc758 \ud658\uacbd \ubcc0\uc218\ub85c ConfigMap\uc758 \uac12\uc744 \uc804\ub2ec\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud658\uacbd \ubcc0\uc218\ub85c \uc8fc\uc785\ub41c \uc124\uc815\uc740 ConfigMap\uc744 \uc218\uc815\ud558\ub354\ub77c\ub3c4 \uc774\ubbf8 \uc2e4\ud589 \uc911\uc778 \ucee8\ud14c\uc774\ub108\uc5d0 \uc790\ub3d9\uc73c\ub85c \ubc18\uc601\ub418\uc9c0 \uc54a\ub294\ub2e4. \uc0c8 \uac12\uc744 \uc801\uc6a9\ud558\ub824\uba74 \uc77c\ubc18\uc801\uc73c\ub85c Pod\ub97c \uc7ac\uc0dd\uc131\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud30c\uc77c \ud615\ud0dc\ub85c \ub9c8\uc6b4\ud2b8\ud558\ub294 \ubc29\uc2dd\uc740 \uac31\uc2e0\ub41c \ub0b4\uc6a9\uc774 \uc77c\uc815 \uc2dc\uac04 \ud6c4 \ubc18\uc601\ub420 \uc218 \uc788\uc9c0\ub9cc, \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \ud30c\uc77c\uc744 \ub2e4\uc2dc \uc77d\ub3c4\ub85d \uad6c\ud604\ub418\uc5b4 \uc788\uc5b4\uc57c \ud55c\ub2e4. <code>subPath<\/code>\ub85c \ub9c8\uc6b4\ud2b8\ud55c \ud30c\uc77c\uc740 \uc77c\ubc18\uc801\uc778 \ubcfc\ub968 \uac31\uc2e0 \ubc29\uc2dd\uc73c\ub85c \uc5c5\ub370\uc774\ud2b8\ub418\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Secret<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Secret\uc740 \ube44\ubc00\ubc88\ud638, API \ud0a4, \ud1a0\ud070, \uc778\uc99d\uc11c \ub4f1 \ubbfc\uac10\ud55c \uc815\ubcf4\ub97c \uad00\ub9ac\ud558\uae30 \uc704\ud55c Kubernetes \ub9ac\uc18c\uc2a4\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc77c\ubc18\uc801\uc778 \uc124\uc815\uac12\uc744 ConfigMap\uc73c\ub85c \uad00\ub9ac\ud55c\ub2e4\uba74, \uc678\ubd80\uc5d0 \ub178\ucd9c\ub418\uba74 \uc548 \ub418\ub294 \uc778\uc99d \uc815\ubcf4\ub294 Secret\uc73c\ub85c \ubd84\ub9ac\ud558\ub294 \uac83\uc774 \uae30\ubcf8 \uc6d0\uce59\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Secret\uc740 \ud658\uacbd \ubcc0\uc218 \ub610\ub294 \ud30c\uc77c\ub85c \ucee8\ud14c\uc774\ub108\uc5d0 \uc804\ub2ec\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc811\uc18d \ube44\ubc00\ubc88\ud638\ub098 \uc678\ubd80 \uc11c\ube44\uc2a4\uc758 API \ud0a4\ub97c \uc774\ubbf8\uc9c0 \ub0b4\ubd80\uc5d0 \ud558\ub4dc\ucf54\ub529\ud558\uc9c0 \uc54a\uace0 Secret\uc744 \ud1b5\ud574 \uc8fc\uc785\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Secret\uc758 \uc8fc\uc694 \ud65c\uc6a9 \ub300\uc0c1\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc778\uc99d \uc815\ubcf4<\/li>\n\n\n\n<li>\uc678\ubd80 API \uc778\uc99d \ud0a4<\/li>\n\n\n\n<li>\uc11c\ube44\uc2a4 \uac04 \ud1b5\uc2e0\uc5d0 \uc0ac\uc6a9\ud558\ub294 \ube44\ubc00 \uc815\ubcf4<\/li>\n\n\n\n<li>TLS \uc778\uc99d\uc11c\uc640 \uac1c\uc778 \ud0a4<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Secret\uc758 \ub370\uc774\ud130\ub294 YAML\uc5d0 \uc9c1\uc811 \uc791\uc131\ud558\uac70\ub098 \ubcc4\ub3c4 \uad00\ub9ac \uc2dc\uc2a4\ud15c\uc744 \ud1b5\ud574 \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4. \uc77c\ubc18\uc801\uc778 Secret YAML\uc5d0\uc11c\ub294 <code>data<\/code> \uac12\uc774 Base64\ub85c \uc778\ucf54\ub529\ub418\uc5b4 \uc788\uc744 \uc218 \uc788\uc9c0\ub9cc, <strong>Base64 \uc778\ucf54\ub529\uc740 \uc554\ud638\ud654\uac00 \uc544\ub2c8\ub2e4.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Secret\uc744 \uc0ac\uc6a9\ud55c\ub2e4\ub294 \uc774\uc720\ub9cc\uc73c\ub85c \ubbfc\uac10 \uc815\ubcf4\uac00 \uc790\ub3d9\uc73c\ub85c \uc548\uc804\ud574\uc9c0\ub294 \uac83\uc740 \uc544\ub2c8\ub2e4. \ub2e4\uc74c\uacfc \uac19\uc740 \ubcf4\ud638 \uc870\uce58\uac00 \ud544\uc694\ud558\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Kubernetes RBAC\uc73c\ub85c Secret \uc870\ud68c \uad8c\ud55c\uc744 \ucd5c\uc18c\ud654\ud55c\ub2e4.<\/li>\n\n\n\n<li>\uc800\uc7a5 \ub370\uc774\ud130\uc5d0 \ub300\ud55c \uc554\ud638\ud654\ub97c \uad6c\uc131\ud55c\ub2e4.<\/li>\n\n\n\n<li>Git \uc800\uc7a5\uc18c\uc5d0 \uc2e4\uc81c \ube44\ubc00 \uc815\ubcf4\ub97c \ucee4\ubc0b\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/li>\n\n\n\n<li>\ub85c\uadf8\uc640 \uc624\ub958 \uba54\uc2dc\uc9c0\uc5d0 \ube44\ubc00 \uc815\ubcf4\uac00 \ucd9c\ub825\ub418\uc9c0 \uc54a\ub3c4\ub85d \ud55c\ub2e4.<\/li>\n\n\n\n<li>\uc678\ubd80 Secret \uad00\ub9ac \uc2dc\uc2a4\ud15c\uacfc \uc5f0\ub3d9\ud558\ub294 \ubc29\uc2dd\uc744 \uac80\ud1a0\ud55c\ub2e4.<\/li>\n\n\n\n<li>\uc778\uc99d \uc815\ubcf4\uc758 \uad50\uccb4\uc640 \ud3d0\uae30 \uc808\ucc28\ub97c \ub9c8\ub828\ud55c\ub2e4.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">ConfigMap\uacfc Secret\uc740 \ubaa8\ub450 \uc124\uc815\uc744 \uc678\ubd80\ud654\ud558\ub294 \uc5ed\ud560\uc744 \ud558\uc9c0\ub9cc, Secret\uc740 \ubbfc\uac10 \uc815\ubcf4\uc5d0 \ub300\ud55c \uc811\uadfc \ud1b5\uc81c\uc640 \ubcf4\ud638\ub97c \uc804\uc81c\ub85c \uc0ac\uc6a9\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">DNS\uc640 \uc11c\ube44\uc2a4 \ub514\uc2a4\ucee4\ubc84\ub9ac<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\uc11c\ube44\uc2a4 \ub514\uc2a4\ucee4\ubc84\ub9ac\ub780?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\uc11c\ube44\uc2a4 \ub514\uc2a4\ucee4\ubc84\ub9ac\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \ud1b5\uc2e0\ud560 \ub300\uc0c1 \uc11c\ube44\uc2a4\uc758 \uc704\uce58\ub97c \ub3d9\uc801\uc73c\ub85c \ucc3e\ub294 \uae30\ub2a5\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ubd84\uc0b0 \uc2dc\uc2a4\ud15c\uc5d0\uc11c\ub294 \uc11c\ube44\uc2a4\uac00 \uc5ec\ub7ec Pod\ub85c \uad6c\uc131\ub418\uace0, Pod\uc758 IP \uc8fc\uc18c\uac00 \ubcc0\uacbd\ub418\uac70\ub098 \uc778\uc2a4\ud134\uc2a4 \uc218\uac00 \ub298\uc5b4\ub0a0 \uc218 \uc788\ub2e4. \uc774\ub7ec\ud55c \ud658\uacbd\uc5d0\uc11c \ubaa8\ub4e0 \ud074\ub77c\uc774\uc5b8\ud2b8\uac00 \uac01 Pod\uc758 IP \uc8fc\uc18c\ub97c \uc9c1\uc811 \uad00\ub9ac\ud558\ub294 \ubc29\uc2dd\uc740 \ud655\uc7a5\uc131\uacfc \uc6b4\uc601 \ud3b8\uc758\uc131\uc774 \ub5a8\uc5b4\uc9c4\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Kubernetes\ub294 Service\uc640 DNS\ub97c \ud65c\uc6a9\ud574 \uc11c\ube44\uc2a4\uc758 \uc704\uce58\ub97c \uc774\ub984\uc73c\ub85c \ucc3e\uc744 \uc218 \uc788\ub3c4\ub85d \uc9c0\uc6d0\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 API \uc11c\ubc84\uac00 \uc778\uc99d \uc11c\ubc84\uc5d0 \uc694\uccad\uc744 \ubcf4\ub0b4\uc57c \ud55c\ub2e4\uba74 \uc778\uc99d \uc11c\ubc84 Pod\uc758 IP\ub97c \uc9c1\uc811 \uc9c0\uc815\ud558\ub294 \ub300\uc2e0 \ub2e4\uc74c\uacfc \uac19\uc740 Service \uc774\ub984\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;auth-service<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac19\uc740 \ub124\uc784\uc2a4\ud398\uc774\uc2a4\uc5d0\uc11c\ub294 \uc77c\ubc18\uc801\uc73c\ub85c Service \uc774\ub984\ub9cc\uc73c\ub85c \uc811\uadfc\ud560 \uc218 \uc788\ub2e4. \ub2e4\ub978 \ub124\uc784\uc2a4\ud398\uc774\uc2a4\uc5d0 \uc788\ub294 \uc11c\ube44\uc2a4\ub294 \ub124\uc784\uc2a4\ud398\uc774\uc2a4\ub97c \ud3ec\ud568\ud55c \uc774\ub984\uc744 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;auth-service.backend<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud074\ub7ec\uc2a4\ud130\uc758 \uae30\ubcf8 \ub3c4\uba54\uc778\uc774 <code>cluster.local<\/code>\uc778 \ud658\uacbd\uc5d0\uc11c\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uc815\uaddc\ud654\ub41c DNS \uc774\ub984\uc744 \uc0ac\uc6a9\ud560 \uc218\ub3c4 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>auth-service.backend.svc.cluster.local<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uae30\ubcf8 \ud074\ub7ec\uc2a4\ud130 \ub3c4\uba54\uc778\uc740 \ud658\uacbd\uc5d0 \ub530\ub77c \ub2e4\ub97c \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kubernetes DNS\uc758 \ub3d9\uc791<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Kubernetes \ud074\ub7ec\uc2a4\ud130\uc5d0\uc11c\ub294 \uc77c\ubc18\uc801\uc73c\ub85c CoreDNS\uac00 \ud074\ub7ec\uc2a4\ud130 \ub0b4\ubd80 DNS \uc11c\ube44\uc2a4\ub97c \ub2f4\ub2f9\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc11c\ube44\uc2a4 \ub514\uc2a4\ucee4\ubc84\ub9ac\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \ud750\ub984\uc73c\ub85c \ub3d9\uc791\ud55c\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 Service\uc758 DNS \uc774\ub984\uc744 \uc0ac\uc6a9\ud574 \uc694\uccad\ud55c\ub2e4.<\/li>\n\n\n\n<li>\ucee8\ud14c\uc774\ub108\uc758 DNS \uc124\uc815\uc5d0 \ub530\ub77c DNS \uc9c8\uc758\uac00 \uc804\ub2ec\ub41c\ub2e4.<\/li>\n\n\n\n<li>CoreDNS\uac00 Kubernetes \ub9ac\uc18c\uc2a4 \uc815\ubcf4\ub97c \uae30\ubc18\uc73c\ub85c Service \uc774\ub984\uc744 \ud574\uc11d\ud55c\ub2e4.<\/li>\n\n\n\n<li>\ud074\ub77c\uc774\uc5b8\ud2b8\ub294 \ud574\uc11d\ub41c \uc8fc\uc18c\ub97c \uc774\uc6a9\ud574 Service\uc5d0 \uc5f0\uacb0\ud55c\ub2e4.<\/li>\n\n\n\n<li>Service\ub294 \uad6c\uc131\ub41c \uc5d4\ub4dc\ud3ec\uc778\ud2b8 \uc911 \uc801\uc808\ud55c Pod\ub85c \ud2b8\ub798\ud53d\uc744 \uc804\ub2ec\ud55c\ub2e4.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\uc77c\ubc18\uc801\uc778 ClusterIP Service\uc758 DNS \uc774\ub984\uc740 \ud574\ub2f9 Service\uc758 \uac00\uc0c1 IP \uc8fc\uc18c\ub85c \ud574\uc11d\ub41c\ub2e4. \uc774\ud6c4 Service\uc758 \ub124\ud2b8\uc6cc\ud06c \ucc98\ub9ac \uacc4\uce35\uc774 \uc2e4\uc81c Pod \uc5d4\ub4dc\ud3ec\uc778\ud2b8\ub85c \ud2b8\ub798\ud53d\uc744 \uc804\ub2ec\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ubc18\uba74 Headless Service\ub294 <code>clusterIP: None<\/code>\uc73c\ub85c \uc124\uc815\ud558\uba70, \uc77c\ubc18\uc801\uc778 ClusterIP\ub97c \uc81c\uacf5\ud558\uc9c0 \uc54a\ub294\ub2e4. \uc774 \uacbd\uc6b0 DNS \uc751\ub2f5\uc5d0 \uac1c\ubcc4 Pod\uc758 \uc8fc\uc18c\uac00 \ud3ec\ud568\ub420 \uc218 \uc788\uc5b4 StatefulSet\uc774\ub098 \uc9c1\uc811\uc801\uc778 \uc5d4\ub4dc\ud3ec\uc778\ud2b8 \ud0d0\uc0c9\uc774 \ud544\uc694\ud55c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c \uc720\uc6a9\ud558\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Headless Service \uc608\uc2dc<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>apiVersion: v1\nkind: Service\nmetadata:\n  name: game-server\nspec:\n  clusterIP: None\n  selector:\n    app: game-server\n  ports:\n    - name: tcp\n      port: 7000\n      targetPort: 7000<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \ubc29\uc2dd\uc740 \ud074\ub77c\uc774\uc5b8\ud2b8\uac00 \uac1c\ubcc4 Pod\uc758 \uc8fc\uc18c\ub97c \uc54c\uc544\uc57c \ud558\uac70\ub098, \uac01 Pod\ub97c \uad6c\ubd84\ud574 \ud1b5\uc2e0\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\uc5d0 \ud65c\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e4\ub9cc Headless Service\ub294 \uc790\uccb4\uc801\uc73c\ub85c \ud2b8\ub798\ud53d\uc744 \ubd84\uc0b0\ud558\ub294 \uac00\uc0c1 IP\ub97c \uc81c\uacf5\ud558\uc9c0 \uc54a\ub294\ub2e4. \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 DNS \uc751\ub2f5\uc5d0 \ud3ec\ud568\ub41c \uc8fc\uc18c\ub97c \uc5b4\ub5bb\uac8c \uc120\ud0dd\ud558\uace0 \uc5f0\uacb0\ud560\uc9c0 \uace0\ub824\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">DNS\uc640 \ub124\ud2b8\uc6cc\ud06c \ubb38\uc81c \ud574\uacb0<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\uc11c\ube44\uc2a4 \uc774\ub984\uc73c\ub85c \ud1b5\uc2e0\uc774 \ub418\uc9c0 \uc54a\ub294\ub2e4\uba74 DNS \ubb38\uc81c\uc640 \uc2e4\uc81c \ub124\ud2b8\uc6cc\ud06c \uc5f0\uacb0 \ubb38\uc81c\ub97c \uad6c\ubd84\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uba3c\uc800 Pod \ub0b4\ubd80\uc5d0\uc11c DNS \uc774\ub984\uc774 \ud574\uc11d\ub418\ub294\uc9c0 \ud655\uc778\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl exec -it deploy\/api-server -- nslookup auth-service<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc2e4\uc81c \ucee8\ud14c\uc774\ub108 \uc774\ubbf8\uc9c0\uc5d0 <code>nslookup<\/code>\uc774 \uc5c6\uc744 \uc218 \uc788\uc73c\ubbc0\ub85c, \ud544\uc694\ud55c \uacbd\uc6b0 \uc9c4\ub2e8\uc6a9 \ucee8\ud14c\uc774\ub108\ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uadf8\ub2e4\uc74c Service\uc640 \uc5d4\ub4dc\ud3ec\uc778\ud2b8\ub97c \ud655\uc778\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl get svc\nkubectl get endpointslice\nkubectl get pods --show-labels<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">DNS\uac00 \uc815\uc0c1\uc801\uc73c\ub85c \ud574\uc11d\ub418\ub354\ub77c\ub3c4 \uc5f0\uacb0\uc774 \uc2e4\ud328\ud560 \uc218 \uc788\ub2e4. \uc774 \uacbd\uc6b0 Service\uc758 \uc140\ub809\ud130, Pod\uc758 \uc900\ube44 \uc0c1\ud0dc, \ud3ec\ud2b8 \uc124\uc815, NetworkPolicy, \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc218\uc2e0 \uc8fc\uc18c \ub4f1\uc744 \ud655\uc778\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DNS \uc751\ub2f5\uc740 \uce90\uc2dc\ub420 \uc218 \uc788\uc73c\ubbc0\ub85c, Pod \uad50\uccb4\ub098 \uc8fc\uc18c \ubcc0\uacbd\uc774 \ubc1c\uc0dd\ud55c \uc9c1\ud6c4\uc5d0\ub294 \ud074\ub77c\uc774\uc5b8\ud2b8\uc758 DNS \uce90\uc2dc \uc815\ucc45\ub3c4 \uc601\ud5a5\uc744 \uc904 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ubc30\ud3ec \ubc0f \ub124\ud2b8\uc6cc\ud06c \uad6c\uc131\uc758 \uc804\uccb4 \ud750\ub984<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Kubernetes\uc5d0\uc11c \uc678\ubd80 \uc694\uccad\uc774 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \ub3c4\ub2ec\ud558\ub294 \uc77c\ubc18\uc801\uc778 \ud750\ub984\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Client\n  |\n  v\nDNS\n  |\n  v\nIngress Controller\n  |\n  v\nIngress Rule\n  |\n  v\nService\n  |\n  v\nPod\n  |\n  v\nApplication<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac01 \uad6c\uc131 \uc694\uc18c\uc758 \uc5ed\ud560\uc744 \ubd84\ub9ac\ud558\uba74 \uc7a5\uc560 \uc6d0\uc778\uc744 \ubd84\uc11d\ud558\uae30 \uc26c\uc6cc\uc9c4\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>DNS<\/strong>\ub294 \ub3c4\uba54\uc778 \uc774\ub984\uc744 \ub124\ud2b8\uc6cc\ud06c \uc8fc\uc18c\ub85c \ud574\uc11d\ud55c\ub2e4.<\/li>\n\n\n\n<li><strong>Ingress Controller<\/strong>\ub294 \uc678\ubd80 HTTP \ubc0f HTTPS \uc694\uccad\uc744 \ucc98\ub9ac\ud55c\ub2e4.<\/li>\n\n\n\n<li><strong>Ingress<\/strong>\ub294 \uc694\uccad\uc744 \uc5b4\ub5a4 Service\ub85c \uc804\ub2ec\ud560\uc9c0 \uaddc\uce59\uc744 \uc815\uc758\ud55c\ub2e4.<\/li>\n\n\n\n<li><strong>Service<\/strong>\ub294 \uc548\uc815\uc801\uc778 \uc811\uadfc\uc810\uc744 \uc81c\uacf5\ud558\uace0 \ub300\uc0c1 Pod\ub85c \ud2b8\ub798\ud53d\uc744 \uc804\ub2ec\ud55c\ub2e4.<\/li>\n\n\n\n<li><strong>Pod<\/strong>\ub294 \ucee8\ud14c\uc774\ub108\ub97c \uc2e4\ud589\ud558\uba70 \uc2e4\uc81c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uad6c\ub3d9\ud55c\ub2e4.<\/li>\n\n\n\n<li><strong>Deployment\uc640 ReplicaSet<\/strong>\uc740 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \ubc30\ud3ec \uc0c1\ud0dc\uc640 Pod \uc218\ub97c \uad00\ub9ac\ud55c\ub2e4.<\/li>\n\n\n\n<li><strong>ConfigMap\uacfc Secret<\/strong>\uc740 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc124\uc815\uacfc \ubbfc\uac10 \uc815\ubcf4\ub97c \ubd84\ub9ac\ud574 \uad00\ub9ac\ud55c\ub2e4.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\ub0b4\ubd80 \uc11c\ube44\uc2a4 \uac04 \ud1b5\uc2e0\uc5d0\uc11c\ub294 Ingress\ub97c \uac70\uce58\uc9c0 \uc54a\uace0 Service\uc758 DNS \uc774\ub984\uc73c\ub85c \uc9c1\uc811 \ud1b5\uc2e0\ud558\ub294 \uac83\uc774 \uc77c\ubc18\uc801\uc774\ub2e4. \ubaa8\ub4e0 \ub0b4\ubd80 \uc694\uccad\uc744 \uc678\ubd80 \uc9c4\uc785\uc810\uc73c\ub85c \uc6b0\ud68c\uc2dc\ud0a4\uba74 \ubd88\ud544\uc694\ud55c \ub124\ud2b8\uc6cc\ud06c \uacbd\ub85c\uc640 \uc6b4\uc601 \ubcf5\uc7a1\uc131\uc774 \uc99d\uac00\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uac8c\uc784 \uc11c\ubc84 \uc6b4\uc601\uc5d0\uc11c\uc758 \ud65c\uc6a9<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784 \ud50c\ub7ab\ud3fc\uc5d0\uc11c\ub294 \uc11c\ube44\uc2a4\uc758 \ud2b9\uc131\uc5d0 \ub530\ub77c Kubernetes \ub9ac\uc18c\uc2a4\ub97c \uad6c\ubd84\ud574 \uc124\uacc4\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>HTTP API \uc11c\ubc84<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Deployment\ub85c \uc2e4\ud589 \uac1c\uc218\ub97c \uad00\ub9ac\ud558\uace0, ClusterIP Service\ub85c \ub0b4\ubd80 \uc811\uadfc\uc810\uc744 \uc81c\uacf5\ud55c\ub2e4. \uc678\ubd80\uc5d0\uc11c \uc811\uadfc\ud574\uc57c \ud558\ub294 API\ub294 Ingress \ub610\ub294 Gateway\ub97c \ud1b5\ud574 \ub178\ucd9c\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\ub9e4\uce6d \uc11c\ubc84<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub9e4\uce6d \uc694\uccad\uc744 \ucc98\ub9ac\ud558\ub294 API\uc640 \uc2e4\uc81c \ub9e4\uce6d \uc791\uc5c5\uc744 \uc218\ud589\ud558\ub294 \uc11c\ubc84\ub97c \ubd84\ub9ac\ud560 \uc218 \uc788\ub2e4. \uc11c\ube44\uc2a4 \uac04 \ud1b5\uc2e0\uc740 DNS \uc774\ub984\uc744 \uc0ac\uc6a9\ud558\uace0, \ucc98\ub9ac\ub7c9 \uc99d\uac00\uc5d0 \ub530\ub77c Deployment\uc758 Pod \uc218\ub97c \uc870\uc815\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\uc2e4\uc2dc\uac04 \uac8c\uc784 \uc11c\ubc84<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">TCP \ub610\ub294 UDP \uae30\ubc18 \uac8c\uc784 \uc11c\ubc84\ub294 \uc77c\ubc18\uc801\uc778 HTTP Ingress\ub9cc\uc73c\ub85c \ucda9\ubd84\ud558\uc9c0 \uc54a\uc744 \uc218 \uc788\ub2e4. \uc0ac\uc6a9\ud558\ub294 \ud504\ub85c\ud1a0\ucf5c\uacfc \uc5f0\uacb0 \ubc29\uc2dd\uc5d0 \ub530\ub77c LoadBalancer, NodePort, Gateway \ub610\ub294 \ubcc4\ub3c4 \ub124\ud2b8\uc6cc\ud06c \uad6c\uc131\uc774 \ud544\uc694\ud558\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">WebSocket\uc740 HTTP \uae30\ubc18 \uc5f0\uacb0\uc5d0\uc11c \uc2dc\uc791\ud558\ubbc0\ub85c Ingress Controller\uc758 \uc9c0\uc6d0 \uc5ec\ubd80, \uc5f0\uacb0 \uc720\uc9c0 \uc2dc\uac04, \ud0c0\uc784\uc544\uc6c3, \uc5f0\uacb0 \uc885\ub8cc \ucc98\ub9ac \ub4f1\uc744 \uac80\ud1a0\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\uc778\uc99d \ubc0f \uc124\uc815 \uad00\ub9ac<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc778\uc99d \uc11c\ubc84\uc758 \ub0b4\ubd80 \uc8fc\uc18c\ub294 Service DNS \uc774\ub984\uc73c\ub85c \uad00\ub9ac\ud558\uace0, \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ube44\ubc00\ubc88\ud638\uc640 \uc678\ubd80 API \ud0a4\ub294 Secret\uc73c\ub85c \ubd84\ub9ac\ud55c\ub2e4. ConfigMap\uc5d0\ub294 \ub85c\uadf8 \ub808\ubca8\uc774\ub098 \uc77c\ubc18\uc801\uc778 \uc2e4\ud589 \ud658\uacbd \uc124\uc815\uc744 \uc800\uc7a5\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\ubb34\uc911\ub2e8 \ubc30\ud3ec<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Readiness Probe\ub97c \ud1b5\ud574 \uc0c8 Pod\uac00 \uc694\uccad\uc744 \ucc98\ub9ac\ud560 \uc900\ube44\uac00 \ub418\uc5c8\ub294\uc9c0 \ud655\uc778\ud558\uace0, \ub864\ub9c1 \uc5c5\ub370\uc774\ud2b8 \uc815\ucc45\uc744 \uc124\uc815\ud55c\ub2e4. WebSocket\ucc98\ub7fc \uc7a5\uc2dc\uac04 \uc720\uc9c0\ub418\ub294 \uc5f0\uacb0\uc774 \uc788\ub2e4\uba74 \uae30\uc874 Pod \uc885\ub8cc \uc2dc \uc5f0\uacb0\uc744 \uc815\ub9ac\ud558\ub294 \ubc29\uc2dd\uacfc \ud074\ub77c\uc774\uc5b8\ud2b8 \uc7ac\uc811\uc18d \uc815\ucc45\ub3c4 \uc124\uacc4\ud574\uc57c \ud55c\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kubernetes\uc5d0\uc11c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc548\uc815\uc801\uc73c\ub85c \uc6b4\uc601\ud558\ub824\uba74 \ucee8\ud14c\uc774\ub108\ub97c \uc2e4\ud589\ud558\ub294 \uac83\ub9cc\uc73c\ub85c\ub294 \ubd80\uc871\ud558\ub2e4. \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \ubc30\ud3ec \uc0c1\ud0dc\ub97c \uad00\ub9ac\ud558\uace0, \uc678\ubd80 \ud2b8\ub798\ud53d\uc744 \ub0b4\ubd80 Pod\ub85c \uc804\ub2ec\ud558\uba70, \uc11c\ube44\uc2a4 \uac04 \ud1b5\uc2e0\uacfc \uc124\uc815\uc744 \uccb4\uacc4\uc801\uc73c\ub85c \uad00\ub9ac\ud574\uc57c \ud55c\ub2e4. Kubernetes\ub294 \uc774\ub7ec\ud55c \uc791\uc5c5\uc744 Deployment, ReplicaSet, Service, Ingress, ConfigMap, Secret \ub4f1\uc758 \ub9ac\uc18c\uc2a4\ub97c \ud1b5\ud574 \uc81c\uacf5\ud55c\ub2e4. \uac01 \ub9ac\uc18c\uc2a4\ub294 \uc11c\ub85c \ub2e4\ub978 \ucc45\uc784\uc744 \uac00\uc9c4\ub2e4. Deployment\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \ubc30\ud3ec \uc0c1\ud0dc\ub97c \uad00\ub9ac\ud558\uace0, ReplicaSet\uc740 \uc9c0\uc815\ub41c Pod \uc218\ub97c \uc720\uc9c0\ud55c\ub2e4. Service\ub294 Pod\uc5d0 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2721","post","type-post","status-publish","format-standard","hentry","category-dev-logs"],"_links":{"self":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts\/2721","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2721"}],"version-history":[{"count":1,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts\/2721\/revisions"}],"predecessor-version":[{"id":2722,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts\/2721\/revisions\/2722"}],"wp:attachment":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2721"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2721"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2721"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}