Skip to content

Commit

Permalink
Translate concepts/services-networking/dns-pod-service in Korean
Browse files Browse the repository at this point in the history
  • Loading branch information
SoHye Choi committed Sep 21, 2019
1 parent 5dc2b2a commit 1934b9b
Show file tree
Hide file tree
Showing 3 changed files with 256 additions and 0 deletions.
4 changes: 4 additions & 0 deletions content/ko/docs/concepts/services-networking/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: "μ„œλΉ„μŠ€, λ‘œλ“œλ°ΈλŸ°μ‹±, λ„€νŠΈμ›Œν‚Ή"
weight: 60
---
232 changes: 232 additions & 0 deletions content/ko/docs/concepts/services-networking/dns-pod-service.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,232 @@
---
title: μ„œλΉ„μŠ€ 및 νŒŒλ“œμš© DNS
content_template: templates/concept
weight: 20
---
{{% capture overview %}}
이 νŽ˜μ΄μ§€λŠ” μΏ λ²„λ„€ν‹°μŠ€κ°€ μ§€μ›ν•˜λŠ” DNS κ°œμš”μ— κ΄€ν•΄ μ„€λͺ…ν•œλ‹€.
{{% /capture %}}

{{% capture body %}}

## μ†Œκ°œ
μΏ λ²„λ„€ν‹°μŠ€ DNSλŠ” ν΄λŸ¬μŠ€ν„°μ˜ μ„œλΉ„μŠ€μ™€ DNS νŒŒλ“œλ₯Ό κ΄€λ¦¬ν•˜λ©°, κ°œλ³„ μ»¨ν…Œμ΄λ„ˆλ“€μ΄ DNS λ„€μž„μ„ 해석할 λ•Œ DNS
μ„œλΉ„μŠ€μ˜ IPλ₯Ό μ‘λ‹΅ν•˜λ„λ‘ kubeletsλ₯Ό κ΅¬μ„±ν•œλ‹€.

### DNS λ„€μž„μ΄ ν• λ‹Ήλ˜λŠ” 것듀

ν΄λŸ¬μŠ€ν„° λ‚΄μ˜ DNS μ„œλ²„λ₯Ό ν¬ν•¨ν•œ λͺ¨λ“  μ„œλΉ„μŠ€λŠ” DNS λ„€μž„μ΄ ν• λ‹Ήλœλ‹€. 기본적으둜 ν΄λΌμ΄μ–ΈνŠΈ νŒŒλ“œμ˜ DNS 검색
λ¦¬μŠ€νŠΈλŠ” νŒŒλ“œ 자체의 λ„€μž„μŠ€νŽ˜μ΄μŠ€μ™€ ν΄λŸ¬μŠ€ν„°μ˜ κΈ°λ³Έ 도메인을 ν¬ν•¨ν•œλ‹€. 이 μ˜ˆμ‹œλŠ” λ‹€μŒκ³Ό κ°™λ‹€:

μΏ λ²„λ„€ν‹°μŠ€ λ„€μž„μŠ€νŽ˜μ΄μŠ€ `bar`에 `foo`λΌλŠ” μ„œλΉ„μŠ€κ°€ μžˆλ‹€. λ„€μž„μŠ€νŽ˜μ΄μŠ€ `bar`μ—μ„œ running μƒνƒœμΈ νŒŒλ“œλŠ”
λ‹¨μˆœν•˜κ²Œ `foo`λ₯Ό μ‘°νšŒν•˜λŠ” DNS 쿼리λ₯Ό ν†΅ν•΄μ„œ μ„œλΉ„μŠ€ `foo`λ₯Ό 찾을 수 μžˆλ‹€.
λ„€μž„μŠ€νŽ˜μ΄μŠ€ `quux`μ—μ„œ μ‹€ν–‰ 쀑인 νŒŒλ“œλŠ” `foo.bar`λ₯Ό μ‘°νšŒν•˜λŠ” DNS 쿼리λ₯Ό ν†΅ν•΄μ„œ 이 μ„œλΉ„μŠ€λ₯Ό 찾을 수 μžˆλ‹€.

λ‹€μŒ μ ˆμ—μ„œλŠ” μΏ λ²„λ„€ν‹°μŠ€ DNSμ—μ„œ μ§€μ›ν•˜λŠ” λ ˆμ½”λ“œ μœ ν˜•κ³Ό λ ˆμ΄μ•„μ›ƒμ„ μžμ„Ένžˆ μ„€λͺ…ν•œλ‹€. 이 외에 λ™μž‘ν•˜λŠ” λ ˆμ΄μ•„μ›ƒ,
λ„€μž„ λ˜λŠ” μΏΌλ¦¬λŠ” κ΅¬ν˜„ μ„ΈλΆ€ μ •λ³΄λ‘œ κ°„μ£Όν•˜λ©° κ²½κ³  없이 변경될 수 μžˆλ‹€. μ΅œμ‹  μ—…λ°μ΄νŠΈμ— λŒ€ν•œ μžμ„Έν•œ μ„€λͺ…은 λ‹€μŒ
링크λ₯Ό 톡해 μ°Έμ‘°ν•  수 μžˆλ‹€.
[μΏ λ²„λ„€ν‹°μŠ€ DNS 기반 μ„œλΉ„μŠ€ λ””μŠ€μ»€λ²„λ¦¬](https://github.com/kubernetes/dns/blob/master/docs/specification.md).

## DNS 기반 μ„œλΉ„μŠ€

### A λ ˆμ½”λ“œ

ν—€λ“œλ¦¬μŠ€ μ„œλΉ„μŠ€κ°€ μ•„λ‹Œ "λ…Έλ©€" μ„œλΉ„μŠ€λŠ” `my-svc.my-namespace.svc.cluster-domain.example`
ν˜•μ‹μ˜ 이름을 가진 DNS A λ ˆμ½”λ“œκ°€ ν• λ‹Ήλœλ‹€. μ΄λŠ” μ„œλΉ„μŠ€μ˜ ν΄λŸ¬μŠ€ν„° IP둜 ν•΄μ„λœλ‹€.

ν΄λŸ¬μŠ€ν„° IPκ°€ μ—†λŠ” "ν—€λ“œλ¦¬μŠ€" μ„œλΉ„μŠ€ λ˜ν•œ `my-svc.my-namespace.svc.cluster-domain.example`
ν˜•μ‹μ˜ 이름을 가진 DNS A λ ˆμ½”λ“œκ°€ ν• λ‹Ήλœλ‹€. λ…Έλ©€ μ„œλΉ„μŠ€μ™€λŠ” λ‹€λ₯΄κ²Œ μ΄λŠ” μ„œλΉ„μŠ€μ— μ˜ν•΄ μ„ νƒλœ νŒŒλ“œλ“€μ˜ IP μ§‘ν•©μœΌλ‘œ ν•΄μ„λœλ‹€.
ν΄λΌμ΄μ–ΈνŠΈλŠ” ν•΄μ„λœ IP μ§‘ν•©μ—μ„œ IPλ₯Ό 직접 μ„ νƒν•˜κ±°λ‚˜ ν‘œμ€€ λΌμš΄λ“œλ‘œλΉˆμ„ 톡해 선택할 수 μžˆλ‹€.

### SRV λ ˆμ½”λ“œ

SRV λ ˆμ½”λ“œλŠ” λ…Έλ©€ μ„œλΉ„μŠ€ λ˜λŠ” [ν—€λ“œλ¦¬μŠ€ μ„œλΉ„μŠ€](/docs/concepts/services-networking/service/#headless-services)에
μ†ν•˜λŠ” λ„€μž„λ“œ 포트λ₯Ό μœ„ν•΄ λ§Œλ“€μ–΄μ‘Œλ‹€. 각각의 λ„€μž„λ“œ ν¬νŠΈμ— λŒ€ν•΄μ„œ SRV λ ˆμ½”λ“œλŠ” λ‹€μŒκ³Ό 같은 ν˜•μ‹μ„ κ°€μ§ˆ 수 μžˆλ‹€. `_my-port-name._my-port-protocol.my-svc.my-namespace.svc.cluster-domain.example`.
μ •κ·œ μ„œλΉ„μŠ€μ˜ 경우, μ΄λŠ” 포트 λ²ˆν˜Έμ™€ 도메인 λ„€μž„μœΌλ‘œ ν•΄μ„λœλ‹€: `my-svc.my-namespace.svc.cluster-domain.example`.
ν—€λ“œλ¦¬μŠ€ μ„œλΉ„μŠ€μ˜ 경우, μ„œλΉ„μŠ€λ₯Ό μ§€μ›ν•˜λŠ” 각 νŒŒλ“œμ— λŒ€ν•΄ ν•˜λ‚˜μ”© 볡수 μ‘λ‹΅μœΌλ‘œ ν•΄μ„λ˜λ©° 이 응닡은 νŒŒλ“œμ˜ 포트 λ²ˆν˜Έμ™€ 도메인 이름을 ν¬ν•¨ν•œλ‹€: `auto-generated-name.my-svc.my-namespace.svc.cluster-domain.example`.


## νŒŒλ“œ

### νŒŒλ“œμ˜ ν˜ΈμŠ€νŠΈλ„€μž„ ν•„λ“œμ™€ μ„œλΈŒλ„λ©”μΈ ν•„λ“œ

νŒŒλ“œκ°€ μƒμ„±λ˜λ©΄ ν˜ΈμŠ€νŠΈλ„€μž„μ€ ν•΄λ‹Ή νŒŒλ“œμ˜ `metadata.name` 값이 λœλ‹€.
νŒŒλ“œ μŠ€νŽ™(Pod spec)μ—λŠ” 선택적 ν•„λ“œμΈ `hostname`이 μžˆλ‹€. 이 ν•„λ“œλŠ” νŒŒλ“œμ˜ ν˜ΈμŠ€νŠΈλ„€μž„μ„ 지정할 수 μžˆλ‹€.
νŒŒλ“œμ˜ 이름이 μ§€μ •λ˜λ©΄ νŒŒλ“œμ˜ 이름보닀 νŒŒλ“œμ˜ ν˜ΈμŠ€νŠΈλ„€μž„μ΄ μš°μ„ μ‹œλœλ‹€. 예λ₯Ό λ“€μ–΄ `hostname` ν•„λ“œκ°€
"`my-host`"둜 μ„€μ •λœ νŒŒλ“œλŠ” ν˜ΈμŠ€νŠΈλ„€μž„μ΄ "`my-host`"둜 μ„€μ •λœλ‹€.

λ˜ν•œ, νŒŒλ“œ μŠ€νŽ™(Pod spec)μ—λŠ” 선택적 ν•„λ“œμΈ `subdomain`이 μžˆλ‹€. 이 ν•„λ“œλŠ” μ„œλΈŒλ„λ©”μΈμ„ 지정할 수 μžˆλ‹€.
예λ₯Ό λ“€μ–΄ "`my-namespace`" λ„€μž„μŠ€νŽ˜μ΄μŠ€μ—μ„œ, `hostname` ν•„λ“œκ°€ "`foo`"둜 μ„€μ •λ˜κ³ , `subdomain`
ν•„λ“œκ°€ "`bar`"둜 μ„€μ •λœ νŒŒλ“œλŠ” 전체 μ£Όμ†Œ 도메인 λ„€μž„ (FQDN)을 κ°€μ§€κ²Œ λœλ‹€: "`foo.bar.my-namespace.svc.cluster-domain.example`".

μ˜ˆμ‹œ:

```yaml
apiVersion: v1
kind: Service
metadata:
name: default-subdomain
spec:
selector:
name: busybox
clusterIP: None
ports:
- name: foo # Actually, no port is needed.
port: 1234
targetPort: 1234
---
apiVersion: v1
kind: Pod
metadata:
name: busybox1
labels:
name: busybox
spec:
hostname: busybox-1
subdomain: default-subdomain
containers:
- image: busybox:1.28
command:
- sleep
- "3600"
name: busybox
---
apiVersion: v1
kind: Pod
metadata:
name: busybox2
labels:
name: busybox
spec:
hostname: busybox-2
subdomain: default-subdomain
containers:
- image: busybox:1.28
command:
- sleep
- "3600"
name: busybox
```
νŒŒλ“œμ™€ λ™μΌν•œ λ„€μž„μŠ€νŽ˜μ΄μŠ€ 내에 같은 μ„œλΈŒλ„λ©”μΈ 이름을 가진 ν—€λ“œλ¦¬μŠ€ μ„œλΉ„μŠ€κ°€ μžˆλ‹€λ©΄, ν΄λŸ¬μŠ€ν„°μ˜ KubeDNS
μ„œλ²„λŠ” νŒŒλ“œμ˜ 전체 μ£Όμ†Œ ν˜ΈμŠ€νŠΈλ„€μž„(fully qualified hostname)인 A λ ˆμ½”λ“œλ₯Ό λ°˜ν™˜ν•œλ‹€.
예λ₯Ό λ“€μ–΄ ν˜ΈμŠ€νŠΈλ„€μž„μ΄ "`busybox-1`"이고, μ„œλΈŒλ„λ©”μΈμ΄ "`default-subdomain`"이고,
같은 λ„€μž„μŠ€νŽ˜μ΄μŠ€ λ‚΄ ν—€λ“œλ¦¬μŠ€ μ„œλΉ„μŠ€μ˜ 이름이 "`default-subdomain`"이면, νŒŒλ“œλŠ” λ‹€μŒκ³Ό 같이 자기 μžμ‹ μ˜
FQDN을 μ–»κ²Œ λœλ‹€: "`busybox-1.default-subdomain.my-namespace.svc.cluster-domain.example`".
DNSλŠ” μœ„ FQDN에 λŒ€ν•΄ νŒŒλ“œμ˜ IPλ₯Ό κ°€λ¦¬ν‚€λŠ” A λ ˆμ½”λ“œλ₯Ό μ œκ³΅ν•œλ‹€. "`busybox1`"와 "`busybox2`" νŒŒλ“œ λͺ¨λ‘
각 νŒŒλ“œλ₯Ό ꡬ뢄 κ°€λŠ₯ν•œ A λ ˆμ½”λ“œλ₯Ό 가지고 μžˆλ‹€.

μ—”λ“œν¬μΈνŠΈ κ°μ²΄λŠ” `hostname` ν•„λ“œλ₯Ό μž„μ˜μ˜ μ—”λ“œν¬μΈνŠΈ IP μ£Όμ†Œλ‘œ 지정할 수 μžˆλ‹€.

{{< note >}}
A λ ˆμ½”λ“œλŠ” νŒŒλ“œμ˜ μ΄λ¦„μœΌλ‘œ μƒμ„±λ˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— νŒŒλ“œμ˜ A λ ˆμ½”λ“œλ₯Ό μƒμ„±ν•˜κΈ° μœ„ν•΄μ„œλŠ” `hostname` ν•„λ“œλ₯Ό μž‘μ„±ν•΄μ•Ό ν•œλ‹€.
`hostname` ν•„λ“œλŠ” μ—†κ³  `subdomain` ν•„λ“œλ§Œ μžˆλŠ” νŒŒλ“œλŠ” νŒŒλ“œμ˜ IP μ£Όμ†Œλ₯Ό κ°€λ¦¬ν‚€λŠ” ν—€λ“œλ¦¬μŠ€ μ„œλΉ„μŠ€μ˜
A λ ˆμ½”λ“œλ§Œ 생성할 수 μžˆλ‹€. (`default-subdomain.my-namespace.svc.cluster-domain.example`)
λ˜ν•œ λ ˆμ½”λ“œλ₯Ό 가지기 μœ„ν•΄μ„œλŠ” νŒŒλ“œκ°€ μ€€λΉ„λ˜μ–΄μ•Ό ν•œλ‹€. 그렇지 μ•Šμ€ 경우, μ„œλΉ„μŠ€μ—μ„œ `publishNotReadyAddresses=True`κ°€ ν™œμ„±ν™”λœλ‹€.
{{< /note >}}

### νŒŒλ“œμ˜ DNS μ •μ±…

DNS 정책은 νŒŒλ“œ λ³„λ‘œ μ„€μ •ν•  수 μžˆλ‹€. ν˜„μž¬ μΏ λ²„λ„€ν‹°μŠ€λŠ” λ‹€μŒκ³Ό 같은 νŒŒλ“œλ³„ DNS 정책을 μ§€μ›ν•œλ‹€.
이 정책듀은 νŒŒλ“œ μŠ€νŽ™(Pod Spec)의 `dnsPolicy` ν•„λ“œμ—μ„œ 지정할 수 μžˆλ‹€.

- "`Default`": νŒŒλ“œλŠ” νŒŒλ“œκ°€ μ‹€ν–‰λ˜κ³  μžˆλŠ” λ…Έλ“œλ‘œλΆ€ν„° name resolution 섀정을 μƒμ†λ°›λŠ”λ‹€.
μžμ„Έν•œ λ‚΄μš©μ€ [related discussion](/docs/tasks/administer-cluster/dns-custom-nameservers/#inheriting-dns-from-the-node)
μ—μ„œ 확인할 수 μžˆλ‹€.
- "`ClusterFirst`": "`www.kubernetes.io`"와 같이 ν΄λŸ¬μŠ€ν„° 도메인 suffix ꡬ성과 μΌμΉ˜ν•˜μ§€
μ•ŠλŠ” DNS μΏΌλ¦¬λŠ” λ…Έλ“œμ—μ„œ μƒμ†λœ μ—…μŠ€νŠΈλ¦Ό λ„€μž„μ„œλ²„λ‘œ μ „λ‹¬λœλ‹€. ν΄λŸ¬μŠ€ν„° κ΄€λ¦¬μžλŠ” μΆ”κ°€ μŠ€ν… 도메인과
μ—…μŠ€νŠΈλ¦Ό DNS μ„œλ²„λ₯Ό ꡬ좕할 수 μžˆλ‹€. κ·ΈλŸ¬ν•œ 경우 DNS 쿼리λ₯Ό μ–΄λ–»κ²Œ μ²˜λ¦¬ν•˜λŠ”μ§€μ— λŒ€ν•œ μžμ„Έν•œ λ‚΄μš©μ€ [related discussion](/docs/tasks/administer-cluster/dns-custom-nameservers/#impacts-on-pods)
μ—μ„œ 확인할 수 μžˆλ‹€.
- "`ClusterFirstWithHostNet`": hostNetworkμ—μ„œ running μƒνƒœμΈ νŒŒλ“œμ˜ 경우 DNS 정책인
"`ClusterFirstWithHostNet`"을 λͺ…μ‹œμ μœΌλ‘œ μ„€μ •ν•΄μ•Ό ν•œλ‹€.
- "`None`": 이 정책은 νŒŒλ“œκ°€ μΏ λ²„λ„€ν‹°μŠ€ ν™˜κ²½μ˜ DNS 섀정을 λ¬΄μ‹œν•˜λ„λ‘ ν•œλ‹€. λͺ¨λ“  DNS 섀정은 νŒŒλ“œ μŠ€νŽ™(Pod Spec)
내에 `dnsConfig`ν•„λ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ μ œκ³΅ν•΄μ•Ό ν•œλ‹€.
μ•„λž˜ 절인 [νŒŒλ“œμ˜ DNS μ„€μ •](#νŒŒλ“œμ˜-dns-μ„€μ •)μ—μ„œ μžμ„Έν•œ λ‚΄μš©μ„ 확인할 수 μžˆλ‹€.

{{< note >}}
"Default"λŠ” κΈ°λ³Έ DNS 정책이 μ•„λ‹ˆλ‹€. `dnsPolicy`κ°€ λͺ…μ‹œμ μœΌλ‘œ μ§€μ •λ˜μ–΄μžˆμ§€ μ•Šλ‹€λ©΄
β€œClusterFirst”가 κΈ°λ³Έκ°’μœΌλ‘œ μ‚¬μš©λœλ‹€.
{{< /note >}}

μ•„λž˜ μ˜ˆμ‹œλŠ” `hostNetwork`ν•„λ“œκ°€ `true`둜 μ„€μ •λ˜μ–΄ μžˆμ–΄μ„œ
DNS 정책이 "`ClusterFirstWithHostNet`"으둜 μ„€μ •λœ νŒŒλ“œλ₯Ό 보여쀀닀.

```yaml
apiVersion: v1
kind: Pod
metadata:
name: busybox
namespace: default
spec:
containers:
- image: busybox:1.28
command:
- sleep
- "3600"
imagePullPolicy: IfNotPresent
name: busybox
restartPolicy: Always
hostNetwork: true
dnsPolicy: ClusterFirstWithHostNet
```

### νŒŒλ“œμ˜ DNS μ„€μ •

μ‚¬μš©μžλ“€μ€ νŒŒλ“œμ˜ DNS 섀정을 ν†΅ν•΄μ„œ 직접 νŒŒλ“œμ˜ DNSλ₯Ό μ„ΈνŒ…ν•  수 μžˆλ‹€.

`dnsConfig` ν•„λ“œλŠ” 선택적이고, `dnsPolicy` μ„ΈνŒ…κ³Ό ν•¨κ»˜ λ™μž‘ν•œλ‹€. μ΄λ•Œ,
νŒŒλ“œμ˜ `dnsPolicy`의 값이 "`None`"으둜 μ„€μ •λ˜μ–΄ μžˆμ–΄μ•Ό `dnsConfig` ν•„λ“œλ₯Ό 지정할 수 μžˆλ‹€.

μ‚¬μš©μžλŠ” `dnsConfig` ν•„λ“œμ—μ„œ λ‹€μŒκ³Ό 같은 속성듀을 지정할 수 μžˆλ‹€:

- `nameservers`: νŒŒλ“œμ˜ DNS μ„œλ²„κ°€ μ‚¬μš©ν•  IP μ£Όμ†Œλ“€μ˜ λͺ©λ‘μ΄λ‹€. νŒŒλ“œμ˜ `dnsPolicy`κ°€ "`None`" 으둜
μ„€μ •λœ κ²½μš°μ—λŠ” 적어도 ν•˜λ‚˜μ˜ IP μ£Όμ†Œκ°€ ν¬ν•¨λ˜μ–΄μ•Ό ν•˜λ©°, 그렇지 μ•ŠμœΌλ©΄ 이 속성은 μƒλž΅ν•  수 μžˆλ‹€.
`nameservers`에 λ‚˜μ—΄λœ μ„œλ²„λŠ” μ§€μ •λœ DNS 정책을 톡해 μƒμ„±λœ κΈ°λ³Έ λ„€μž„ μ„œλ²„μ™€ 합쳐지며 μ€‘λ³΅λ˜λŠ” μ£Όμ†ŒλŠ” μ œκ±°λœλ‹€.
- `searches`: νŒŒλ“œμ˜ ν˜ΈμŠ€νŠΈλ„€μž„μ„ μ°ΎκΈ° μœ„ν•œ DNS 검색 λ„λ©”μΈμ˜ λͺ©λ‘μ΄λ‹€. 이 속성은 μƒλž΅μ΄ κ°€λŠ₯ν•˜λ©°,
값을 μ§€μ •ν•œ 경우 λ‚˜μ—΄λœ 검색 도메인은 μ§€μ •λœ DNS 정책을 톡해 μƒμ„±λœ κΈ°λ³Έ 검색 도메인에 합쳐진닀.
병합 μ‹œ μ€‘λ³΅λ˜λŠ” 도메인은 제거되며, μΏ λ²„λ„€ν‹°μŠ€λŠ” μ΅œλŒ€ 6개의 검색 도메인을 ν—ˆμš©ν•˜κ³  μžˆλ‹€.
- `options`: `name` 속성(ν•„μˆ˜)κ³Ό `value` 속성(선택)을 κ°€μ§ˆ 수 μžˆλŠ” κ°μ²΄λ“€μ˜ 선택적 λͺ©λ‘μ΄λ‹€.
이 μ†μ„±μ˜ λ‚΄μš©μ€ μ§€μ •λœ DNS μ •μ±…μ—μ„œ μƒμ„±λœ μ˜΅μ…˜μœΌλ‘œ λ³‘ν•©λœλ‹€. 이 μ†μ„±μ˜ λ‚΄μš©μ€ μ§€μ •λœ DNS 정책을
톡해 μƒμ„±λœ μ˜΅μ…˜μœΌλ‘œ 합쳐지며, 병합 μ‹œ μ€‘λ³΅λ˜λŠ” ν•­λͺ©μ€ μ œκ±°λœλ‹€.

λ‹€μŒμ€ μ»€μŠ€ν…€ DNS μ„ΈνŒ…μ„ ν•œ νŒŒλ“œμ˜ μ˜ˆμ‹œμ΄λ‹€:

{{< codenew file="service/networking/custom-dns.yaml" >}}

μœ„μ—μ„œ νŒŒλ“œκ°€ μƒμ„±λ˜λ©΄, μ»¨ν…Œμ΄λ„ˆ `test`의 `/etc/resolv.conf` νŒŒμΌμ—λŠ” λ‹€μŒκ³Ό 같은 λ‚΄μš©μ΄ μΆ”κ°€λœλ‹€.

```
nameserver 1.2.3.4
search ns1.svc.cluster-domain.example my.dns.search.suffix
options ndots:2 edns0
```
IPv6 셋업을 μœ„ν•΄μ„œ 검색 κ²½λ‘œμ™€ λ„€μž„ μ„œλ²„ 셋업은 λ‹€μŒκ³Ό κ°™μ•„μ•Ό ν•œλ‹€:
```shell
kubectl exec -it dns-example -- cat /etc/resolv.conf
```
좜λ ₯은 λ‹€μŒκ³Ό 같은 ν˜•μ‹μΌ 것이닀:
```shell
nameserver fd00:79:30::a
search default.svc.cluster-domain.example svc.cluster-domain.example cluster-domain.example
options ndots:5
```

### κΈ°λŠ₯ 지원 μ—¬λΆ€

νŒŒλ“œ DNS ꡬ성 및 DNS μ •μ±… "`None`"에 λŒ€ν•œ 지원 μ •λ³΄λŠ” μ•„λž˜μ—μ„œ 확인 ν•  수 μžˆλ‹€.

| k8s 버전 | κΈ°λŠ₯ 지원 |
| :---------: |:-----------:|
| 1.14 | μ•ˆμ • |
| 1.10 | 베타 (κΈ°λ³Έ)|
| 1.9 | μ•ŒνŒŒ |

{{% /capture %}}

{{% capture whatsnext %}}

DNS ꡬ성 관리에 λŒ€ν•œ 지침은 [Configure DNS Service](/docs/tasks/administer-cluster/dns-custom-nameservers/)μ—μ„œ 확인 ν•  수 μžˆλ‹€.

{{% /capture %}}


20 changes: 20 additions & 0 deletions content/ko/examples/service/networking/custom-dns.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
apiVersion: v1
kind: Pod
metadata:
namespace: default
name: dns-example
spec:
containers:
- name: test
image: nginx
dnsPolicy: "None"
dnsConfig:
nameservers:
- 1.2.3.4
searches:
- ns1.svc.cluster-domain.example
- my.dns.search.suffix
options:
- name: ndots
value: "2"
- name: edns0

0 comments on commit 1934b9b

Please sign in to comment.