You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[API 호환성](docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md/#api-compatibility) 및 [Kubelet 장치 매니저 API 버전](docs/reference/node/device-plugin-api-versions.md)을 참조한다.
@@ -27,25 +25,27 @@ DNS 변환(DNS resolution) 절차를 사용자 정의하는 방법을 설명한
27
25
## 소개
28
26
29
27
DNS는 _애드온 관리자_ 인 [클러스터 애드온](https://releases.k8s.io/master/cluster/addons/README.md)을
30
-
사용하여 자동으로 시작되는 쿠버네티스
31
-
내장 서비스이다.
32
-
33
-
쿠버네티스 v1.12 부터, CoreDNS는 kube-dns를 대체하여 권장되는 DNS 서버이다. 만약 사용자의 클러스터가 원래 kube-dns를 사용하였을 경우,
34
-
CoreDNS 대신 `kube-dns` 를 계속 사용할 수도 있다.
28
+
사용하여 자동으로 시작되는 쿠버네티스 내장 서비스이다.
35
29
36
30
{{< note >}}
37
31
CoreDNS 서비스는 `metadata.name` 필드에 `kube-dns` 로 이름이 지정된다.
38
-
이를 통해, 기존의 `kube-dns` 서비스 이름을 사용하여 클러스터 내부의 주소를 확인하는 워크로드에 대한 상호 운용성이 증가된다. `kube-dns` 로 서비스 이름을 사용하면, 해당 DNS 공급자가 어떤 공통 이름으로 실행되고 있는지에 대한 구현 세부 정보를 추상화한다.
32
+
그 의도는 기존의 `kube-dns` 서비스 이름을 사용하여
33
+
클러스터 내부의 주소를 확인하는 워크로드에 대한 상호 운용성이 증가된다.
34
+
`kube-dns` 로 서비스 이름을 사용하면,
35
+
해당 DNS 공급자가 어떤 공통 이름으로 실행되고 있는지에 대한 구현 세부 정보를 추상화한다.
39
36
{{< /note >}}
40
37
41
-
CoreDNS를 디플로이먼트(Deployment)로 실행하고 있을 경우, 일반적으로 고정 IP 주소를 갖는 쿠버네티스 서비스로 노출된다.
42
-
Kubelet 은 `--cluster-dns=<dns-service-ip>` 플래그를 사용하여 DNS 확인자 정보를 각 컨테이너에 전달한다.
38
+
CoreDNS를 디플로이먼트(Deployment)로 실행하고 있을 경우,
39
+
일반적으로 고정 IP 주소를 갖는 쿠버네티스 서비스로 노출된다.
40
+
Kubelet 은 `--cluster-dns=<dns-service-ip>` 플래그를 사용하여
41
+
DNS 확인자 정보를 각 컨테이너에 전달한다.
43
42
44
43
DNS 이름에도 도메인이 필요하다. 사용자는 kubelet 에 있는 `--cluster-domain=<default-local-domain>` 플래그를
45
44
통하여 로컬 도메인을 설정할 수 있다.
46
45
47
-
DNS 서버는 정방향 조회(A 및 AAAA 레코드), 포트 조회(SRV 레코드), 역방향 IP 주소 조회(PTR 레코드) 등을 지원한다.
48
-
더 자세한 내용은 [서비스 및 파드용 DNS](/ko/docs/concepts/services-networking/dns-pod-service/)를 참고한다.
46
+
DNS 서버는 정방향 조회(A 및 AAAA 레코드), 포트 조회(SRV 레코드),
47
+
역방향 IP 주소 조회(PTR 레코드) 등을 지원한다. 더 자세한 내용은
48
+
[서비스 및 파드용 DNS](/ko/docs/concepts/services-networking/dns-pod-service/)를 참고한다.
49
49
50
50
만약 파드의 `dnsPolicy` 가 `default` 로 지정되어 있는 경우,
51
51
파드는 자신이 실행되는 노드의 이름 변환(name resolution) 구성을 상속한다.
@@ -59,15 +59,16 @@ DNS 상속을 위해 `/etc/resolv.conf` 이외의 파일을 지정할 경우 유
59
59
60
60
## CoreDNS
61
61
62
-
CoreDNS는 [dns 명세](https://github.com/kubernetes/dns/blob/master/docs/specification.md)를 준수하며 클러스터 DNS 역할을 할 수 있는, 범용적인 권한을 갖는 DNS 서버이다.
Corefile의 구성은 CoreDNS의 아래 [플러그인](https://coredns.io/plugins)을 포함한다.
103
104
104
105
* [errors](https://coredns.io/plugins/errors/): 오류가 표준 출력(stdout)에 기록된다.
105
-
* [health](https://coredns.io/plugins/health/): CoreDNS의 상태(healthy)가 `http://localhost:8080/health` 에 기록된다. 이 확장 구문에서 `lameduck` 은 프로세스를 비정상 상태(unhealthy)로 만들고, 프로세스가 종료되기 전에 5초 동안 기다린다.
106
-
* [ready](https://coredns.io/plugins/ready/): 8181 포트의 HTTP 엔드포인트가, 모든 플러그인이 준비되었다는 신호를 보내면 200 OK 를 반환한다.
107
-
* [kubernetes](https://coredns.io/plugins/kubernetes/): CoreDNS가 쿠버네티스의 서비스 및 파드의 IP를 기반으로 DNS 쿼리에 대해 응답한다. 해당 플러그인에 대한 [세부 사항](https://coredns.io/plugins/kubernetes/)은 CoreDNS 웹사이트에서 확인할 수 있다. `ttl` 을 사용하면 응답에 대한 사용자 정의 TTL 을 지정할 수 있으며, 기본값은 5초이다. 허용되는 최소 TTL은 0초이며, 최대값은 3600초이다. 레코드가 캐싱되지 않도록 할 경우, TTL을 0으로 설정한다.
108
-
`pods insecure`옵션은 _kube-dns_ 와의 하위 호환성을 위해 제공된다. `pods verified` 옵션을 사용하여, 일치하는 IP의 동일 네임스페이스(Namespace)에 파드가 존재하는 경우에만 A 레코드를 반환하게 할 수 있다. `pods disabled` 옵션은 파드 레코드를 사용하지 않을 경우 사용된다.
109
-
* [prometheus](https://coredns.io/plugins/metrics/): CoreDNS의 메트릭은 [프로메테우스](https://prometheus.io/) 형식(OpenMetrics 라고도 알려진)의 `http://localhost:9153/metrics` 에서 사용 가능하다.
110
-
* [forward](https://coredns.io/plugins/forward/): 쿠버네티스 클러스터 도메인에 없는 쿼리들은 모두 사전에 정의된 리졸버(/etc/resolv.conf)로 전달된다.
* [loop](https://coredns.io/plugins/loop/): 간단한 전달 루프(loop)를 감지하고, 루프가 발견되면 CoreDNS 프로세스를 중단(halt)한다.
113
-
* [reload](https://coredns.io/plugins/reload): 변경된 Corefile을 자동으로 다시 로드하도록 한다. 컨피그맵 설정을 변경한 후에 변경 사항이 적용되기 위하여 약 2분정도 소요된다.
114
-
* [loadbalance](https://coredns.io/plugins/loadbalance): 응답에 대하여 A, AAAA, MX 레코드의 순서를 무작위로 선정하는 라운드-로빈 DNS 로드밸런서이다.
127
+
* [loop](https://coredns.io/plugins/loop/): 간단한 전달 루프(loop)를 감지하고,
128
+
루프가 발견되면 CoreDNS 프로세스를 중단(halt)한다.
129
+
* [reload](https://coredns.io/plugins/reload): 변경된 Corefile을 자동으로 다시 로드하도록 한다.
130
+
컨피그맵 설정을 변경한 후에 변경 사항이 적용되기 위하여 약 2분정도 소요된다.
131
+
* [loadbalance](https://coredns.io/plugins/loadbalance): 응답에 대하여 A,
132
+
AAAA, MX 레코드의 순서를 무작위로 선정하는 라운드-로빈 DNS 로드밸런서이다.
115
133
116
134
사용자는 컨피그맵을 변경하여 기본 CoreDNS 동작을 변경할 수 있다.
117
135
118
136
### CoreDNS를 사용하는 스텁 도메인(Stub-domain)과 업스트림 네임서버(nameserver)의 설정
119
137
120
-
CoreDNS는 [포워드 플러그인](https://coredns.io/plugins/forward/)을 사용하여 스텁 도메인 및 업스트림 네임서버를 구성할 수 있다.
138
+
CoreDNS는 [포워드 플러그인](https://coredns.io/plugins/forward/)을 사용하여
139
+
스텁 도메인 및 업스트림 네임서버를 구성할 수 있다.
121
140
122
141
#### 예시
123
-
만약 클러스터 운영자가 10.150.0.1 에 위치한 [Consul](https://www.consul.io/) 도메인 서버를 가지고 있고, 모든 Consul 이름의 접미사가 .consul.local 인 경우, CoreDNS에서 이를 구성하기 위해 클러스터 관리자는 CoreDNS 컨피그맵에서 다음 구문을 생성한다.
142
+
143
+
만약 클러스터 운영자가 10.150.0.1 에 위치한 [Consul](https://www.consul.io/) 도메인 서버를 가지고 있고,
144
+
모든 Consul 이름의 접미사가 .consul.local 인 경우, CoreDNS에서 이를 구성하기 위해
145
+
클러스터 관리자는 CoreDNS 컨피그맵에서 다음 구문을 생성한다.
124
146
125
147
```
126
148
consul.local:53 {
127
-
errors
128
-
cache 30
129
-
forward . 10.150.0.1
130
-
}
149
+
errors
150
+
cache 30
151
+
forward . 10.150.0.1
152
+
}
131
153
```
132
154
133
-
모든 비 클러스터의 DNS 조회가 172.16.0.1 의 특정 네임서버를 통과하도록 할 경우, `/etc/resolv.conf` 대신 `forward` 를 네임서버로 지정한다.
155
+
모든 비 클러스터의 DNS 조회가 172.16.0.1 의 특정 네임서버를 통과하도록 할 경우,
156
+
`/etc/resolv.conf` 대신 `forward` 를 네임서버로 지정한다.
134
157
135
158
```
136
159
forward . 172.16.0.1
@@ -167,88 +190,12 @@ data:
167
190
}
168
191
```
169
192
170
-
`Kubeadm` 툴은 kube-dns 컨피그맵에서 동일한 설정의 CoreDNS 컨피그맵으로의
171
-
자동 변환을 지원한다.
172
-
173
193
{{< note >}}
174
-
kube-dns는 스텁 도메인 및 네임서버(예: ns.foo.com)에 대한 FQDN을 허용하지만 CoreDNS에서는 이 기능을 지원하지 않는다.
194
+
CoreDNS는 스텁 도메인 및 네임서버(예: ns.foo.com)에 대한 FQDN을 지원하지 않는다.
175
195
변환 과정에서, 모든 FQDN 네임서버는 CoreDNS 설정에서 생략된다.
176
196
{{< /note >}}
177
197
178
-
## kube-dns에 대응되는 CoreDNS 설정
179
-
180
-
CoreDNS는 kube-dns 이상의 기능을 지원한다.
181
-
`StubDomains` 과 `upstreamNameservers` 를 지원하도록 생성된 kube-dns의 컨피그맵은 CoreDNS의 `forward` 플러그인으로 변환된다.
182
-
183
-
### 예시
184
-
185
-
kube-dns에 대한 이 컨피그맵 예제는 stubDomains 및 upstreamNameservers를 지정한다.
Copy file name to clipboardExpand all lines: content/ko/docs/tasks/administer-cluster/manage-resources/memory-default-namespace.md
+8Lines changed: 8 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -167,6 +167,14 @@ resources:
167
167
memory: 128Mi
168
168
```
169
169
170
+
{{< note >}}
171
+
172
+
`리밋레인지`는 적용되는 기본 값의 일관성을 검사하지 않는다. 이는 `리밋레인지`에 의해 설정된 _상한_의 기본값이 클라이언트가 API 서버에 제출하는 사양의 컨테이너에 대해 지정된 _요청량_ 값보다 작을 수 있음을 의미한다. 이 경우, 최종 파드는 스케줄링할 수 없다.
173
+
자세한 내용은 [리밋 레인지 개요](/docs/concepts/policy/limit-range/#constraints-on-resource-limits-and-requests)를 참조한다.
0 commit comments