Skip to content

Commit 8c837ed

Browse files
authored
Merge pull request #27133 from kubernetes/dev-1.20-ko.6
[ko] Sixth Korean l10n work for release-1.20
2 parents 0a6e7bf + 94e3f17 commit 8c837ed

File tree

56 files changed

+1312
-1066
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+1312
-1066
lines changed

content/ko/docs/concepts/architecture/controller.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ weight: 30
102102
온도 조절기 예에서 방이 매우 추우면 다른 컨트롤러가
103103
서리 방지 히터를 켤 수도 있다. 쿠버네티스 클러스터에서는
104104
[쿠버네티스 확장](/ko/docs/concepts/extend-kubernetes/)을 통해
105-
IP 주소 관리 도구, 스토리지 서비스, 클라우드 제공자의 API들
105+
IP 주소 관리 도구, 스토리지 서비스, 클라우드 제공자의 API
106106
기타 서비스 등과 간접적으로 연동하여 이를 구현한다.
107107

108108
## 의도한 상태와 현재 상태 {#desired-vs-current}

content/ko/docs/concepts/architecture/nodes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ kubelet이 노드의 `metadata.name` 필드와 일치하는 API 서버에 등록
5757
정상적인지 확인한다.
5858

5959
상태 확인을 중지하려면 사용자 또는 {{< glossary_tooltip term_id="controller" text="컨트롤러">}}에서
60-
노드 오브젝트를 명시적으로 삭제해야한다.
60+
노드 오브젝트를 명시적으로 삭제해야 한다.
6161
{{< /note >}}
6262

6363
노드 오브젝트의 이름은 유효한

content/ko/docs/concepts/cluster-administration/_index.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
---
22
title: 클러스터 관리
3+
4+
5+
36
weight: 100
47
content_type: concept
58
description: >
@@ -11,6 +14,7 @@ no_list: true
1114
클러스터 관리 개요는 쿠버네티스 클러스터를 생성하거나 관리하는 모든 사람들을 위한 것이다.
1215
핵심 쿠버네티스 [개념](/ko/docs/concepts/)에 어느 정도 익숙하다고 가정한다.
1316

17+
1418
<!-- body -->
1519
## 클러스터 계획
1620

@@ -41,7 +45,7 @@ no_list: true
4145

4246
## 클러스터 보안
4347

44-
* [인증서](/ko/docs/concepts/cluster-administration/certificates/)는 다른 툴 체인을 사용하여 인증서를 생성하는 단계를 설명한다.
48+
* [인증서 생성](/ko/docs/tasks/administer-cluster/certificates/)는 다른 툴 체인을 사용하여 인증서를 생성하는 단계를 설명한다.
4549

4650
* [쿠버네티스 컨테이너 환경](/ko/docs/concepts/containers/container-environment/)은 쿠버네티스 노드에서 Kubelet으로 관리하는 컨테이너에 대한 환경을 설명한다.
4751

content/ko/docs/concepts/cluster-administration/certificates.md

Lines changed: 1 addition & 242 deletions
Original file line numberDiff line numberDiff line change
@@ -4,247 +4,6 @@ content_type: concept
44
weight: 20
55
---
66

7-
87
<!-- overview -->
98

10-
클라이언트 인증서로 인증을 사용하는 경우 `easyrsa`, `openssl` 또는 `cfssl`
11-
을 통해 인증서를 수동으로 생성할 수 있다.
12-
13-
14-
15-
16-
<!-- body -->
17-
18-
### easyrsa
19-
20-
**easyrsa** 는 클러스터 인증서를 수동으로 생성할 수 있다.
21-
22-
1. easyrsa3의 패치 버전을 다운로드하여 압축을 풀고, 초기화한다.
23-
24-
curl -LO https://storage.googleapis.com/kubernetes-release/easy-rsa/easy-rsa.tar.gz
25-
tar xzf easy-rsa.tar.gz
26-
cd easy-rsa-master/easyrsa3
27-
./easyrsa init-pki
28-
1. 새로운 인증 기관(CA)을 생성한다. `--batch` 는 자동 모드를 설정한다.
29-
`--req-cn` 는 CA의 새 루트 인증서에 대한 일반 이름(Common Name (CN))을 지정한다.
30-
31-
./easyrsa --batch "--req-cn=${MASTER_IP}@`date +%s`" build-ca nopass
32-
1. 서버 인증서와 키를 생성한다.
33-
`--subject-alt-name` 인수는 API 서버에 접근이 가능한 IP와 DNS
34-
이름을 설정한다. `MASTER_CLUSTER_IP` 는 일반적으로 API 서버와
35-
컨트롤러 관리자 컴포넌트에 대해 `--service-cluster-ip-range` 인수로
36-
지정된 서비스 CIDR의 첫 번째 IP이다. `--days` 인수는 인증서가 만료되는
37-
일 수를 설정하는데 사용된다.
38-
또한, 아래 샘플은 기본 DNS 이름으로 `cluster.local`
39-
사용한다고 가정한다.
40-
41-
./easyrsa --subject-alt-name="IP:${MASTER_IP},"\
42-
"IP:${MASTER_CLUSTER_IP},"\
43-
"DNS:kubernetes,"\
44-
"DNS:kubernetes.default,"\
45-
"DNS:kubernetes.default.svc,"\
46-
"DNS:kubernetes.default.svc.cluster,"\
47-
"DNS:kubernetes.default.svc.cluster.local" \
48-
--days=10000 \
49-
build-server-full server nopass
50-
1. `pki/ca.crt`, `pki/issued/server.crt` 그리고 `pki/private/server.key` 를 디렉터리에 복사한다.
51-
1. API 서버 시작 파라미터에 다음 파라미터를 채우고 추가한다.
52-
53-
--client-ca-file=/yourdirectory/ca.crt
54-
--tls-cert-file=/yourdirectory/server.crt
55-
--tls-private-key-file=/yourdirectory/server.key
56-
57-
### openssl
58-
59-
**openssl** 은 클러스터 인증서를 수동으로 생성할 수 있다.
60-
61-
1. ca.key를 2048bit로 생성한다.
62-
63-
openssl genrsa -out ca.key 2048
64-
1. ca.key에 따라 ca.crt를 생성한다(인증서 유효 기간을 사용하려면 -days를 사용한다).
65-
66-
openssl req -x509 -new -nodes -key ca.key -subj "/CN=${MASTER_IP}" -days 10000 -out ca.crt
67-
1. server.key를 2048bit로 생성한다.
68-
69-
openssl genrsa -out server.key 2048
70-
1. 인증서 서명 요청(Certificate Signing Request (CSR))을 생성하기 위한 설정 파일을 생성한다.
71-
파일에 저장하기 전에 꺾쇠 괄호(예: `<MASTER_IP>`)로
72-
표시된 값을 실제 값으로 대체한다(예: `csr.conf`).
73-
`MASTER_CLUSTER_IP` 의 값은 이전 하위 섹션에서
74-
설명한 대로 API 서버의 서비스 클러스터 IP이다.
75-
또한, 아래 샘플에서는 `cluster.local` 을 기본 DNS 도메인
76-
이름으로 사용하고 있다고 가정한다.
77-
78-
[ req ]
79-
default_bits = 2048
80-
prompt = no
81-
default_md = sha256
82-
req_extensions = req_ext
83-
distinguished_name = dn
84-
85-
[ dn ]
86-
C = <국가(country)>
87-
ST = <도(state)>
88-
L = <시(city)>
89-
O = <조직(organization)>
90-
OU = <조직 단위(organization unit)>
91-
CN = <MASTER_IP>
92-
93-
[ req_ext ]
94-
subjectAltName = @alt_names
95-
96-
[ alt_names ]
97-
DNS.1 = kubernetes
98-
DNS.2 = kubernetes.default
99-
DNS.3 = kubernetes.default.svc
100-
DNS.4 = kubernetes.default.svc.cluster
101-
DNS.5 = kubernetes.default.svc.cluster.local
102-
IP.1 = <MASTER_IP>
103-
IP.2 = <MASTER_CLUSTER_IP>
104-
105-
[ v3_ext ]
106-
authorityKeyIdentifier=keyid,issuer:always
107-
basicConstraints=CA:FALSE
108-
keyUsage=keyEncipherment,dataEncipherment
109-
extendedKeyUsage=serverAuth,clientAuth
110-
subjectAltName=@alt_names
111-
1. 설정 파일을 기반으로 인증서 서명 요청을 생성한다.
112-
113-
openssl req -new -key server.key -out server.csr -config csr.conf
114-
1. ca.key, ca.crt 그리고 server.csr을 사용해서 서버 인증서를 생성한다.
115-
116-
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key \
117-
-CAcreateserial -out server.crt -days 10000 \
118-
-extensions v3_ext -extfile csr.conf
119-
1. 인증서를 본다.
120-
121-
openssl x509 -noout -text -in ./server.crt
122-
123-
마지막으로, API 서버 시작 파라미터에 동일한 파라미터를 추가한다.
124-
125-
### cfssl
126-
127-
**cfssl** 은 인증서 생성을 위한 또 다른 도구이다.
128-
129-
1. 아래에 표시된 대로 커맨드 라인 도구를 다운로드하여 압축을 풀고 준비한다.
130-
사용 중인 하드웨어 아키텍처 및 cfssl 버전에 따라 샘플
131-
명령을 조정해야 할 수도 있다.
132-
133-
curl -L https://github.com/cloudflare/cfssl/releases/download/v1.5.0/cfssl_1.5.0_linux_amd64 -o cfssl
134-
chmod +x cfssl
135-
curl -L https://github.com/cloudflare/cfssl/releases/download/v1.5.0/cfssljson_1.5.0_linux_amd64 -o cfssljson
136-
chmod +x cfssljson
137-
curl -L https://github.com/cloudflare/cfssl/releases/download/v1.5.0/cfssl-certinfo_1.5.0_linux_amd64 -o cfssl-certinfo
138-
chmod +x cfssl-certinfo
139-
1. 아티팩트(artifact)를 보유할 디렉터리를 생성하고 cfssl을 초기화한다.
140-
141-
mkdir cert
142-
cd cert
143-
../cfssl print-defaults config > config.json
144-
../cfssl print-defaults csr > csr.json
145-
1. CA 파일을 생성하기 위한 JSON 설정 파일을 `ca-config.json` 예시와 같이 생성한다.
146-
147-
{
148-
"signing": {
149-
"default": {
150-
"expiry": "8760h"
151-
},
152-
"profiles": {
153-
"kubernetes": {
154-
"usages": [
155-
"signing",
156-
"key encipherment",
157-
"server auth",
158-
"client auth"
159-
],
160-
"expiry": "8760h"
161-
}
162-
}
163-
}
164-
}
165-
1. CA 인증서 서명 요청(CSR)을 위한 JSON 설정 파일을
166-
`ca-csr.json` 예시와 같이 생성한다. 꺾쇠 괄호로 표시된
167-
값을 사용하려는 실제 값으로 변경한다.
168-
169-
{
170-
"CN": "kubernetes",
171-
"key": {
172-
"algo": "rsa",
173-
"size": 2048
174-
},
175-
"names":[{
176-
"C": "<국가(country)>",
177-
"ST": "<도(state)>",
178-
"L": "<시(city)>",
179-
"O": "<조직(organization)>",
180-
"OU": "<조직 단위(organization unit)>"
181-
}]
182-
}
183-
1. CA 키(`ca-key.pem`)와 인증서(`ca.pem`)을 생성한다.
184-
185-
../cfssl gencert -initca ca-csr.json | ../cfssljson -bare ca
186-
1. API 서버의 키와 인증서를 생성하기 위한 JSON 구성파일을
187-
`server-csr.json` 예시와 같이 생성한다. 꺾쇠 괄호 안의 값을
188-
사용하려는 실제 값으로 변경한다. `MASTER_CLUSTER_IP`
189-
이전 하위 섹션에서 설명한 API 서버의 클러스터 IP이다.
190-
아래 샘플은 기본 DNS 도메인 이름으로 `cluster.local`
191-
사용한다고 가정한다.
192-
193-
{
194-
"CN": "kubernetes",
195-
"hosts": [
196-
"127.0.0.1",
197-
"<MASTER_IP>",
198-
"<MASTER_CLUSTER_IP>",
199-
"kubernetes",
200-
"kubernetes.default",
201-
"kubernetes.default.svc",
202-
"kubernetes.default.svc.cluster",
203-
"kubernetes.default.svc.cluster.local"
204-
],
205-
"key": {
206-
"algo": "rsa",
207-
"size": 2048
208-
},
209-
"names": [{
210-
"C": "<국가(country)>",
211-
"ST": "<도(state)>",
212-
"L": "<시(city)>",
213-
"O": "<조직(organization)>",
214-
"OU": "<조직 단위(organization unit)>"
215-
}]
216-
}
217-
1. API 서버 키와 인증서를 생성하면, 기본적으로
218-
`server-key.pem``server.pem` 파일에 각각 저장된다.
219-
220-
../cfssl gencert -ca=ca.pem -ca-key=ca-key.pem \
221-
--config=ca-config.json -profile=kubernetes \
222-
server-csr.json | ../cfssljson -bare server
223-
224-
225-
## 자체 서명된 CA 인증서의 배포
226-
227-
클라이언트 노드는 자체 서명된 CA 인증서를 유효한 것으로 인식하지 않을 수 있다.
228-
비-프로덕션 디플로이먼트 또는 회사 방화벽 뒤에서 실행되는
229-
디플로이먼트의 경우, 자체 서명된 CA 인증서를 모든 클라이언트에
230-
배포하고 유효한 인증서의 로컬 목록을 새로 고칠 수 있다.
231-
232-
각 클라이언트에서, 다음 작업을 수행한다.
233-
234-
```bash
235-
sudo cp ca.crt /usr/local/share/ca-certificates/kubernetes.crt
236-
sudo update-ca-certificates
237-
```
238-
239-
```
240-
Updating certificates in /etc/ssl/certs...
241-
1 added, 0 removed; done.
242-
Running hooks in /etc/ca-certificates/update.d....
243-
done.
244-
```
245-
246-
## 인증서 API
247-
248-
`certificates.k8s.io` API를 사용해서
249-
[여기](/docs/tasks/tls/managing-tls-in-a-cluster)
250-
설명된 대로 인증에 사용할 x509 인증서를 프로비전 할 수 있다.
9+
클러스터를 위한 인증서를 생성하기 위해서는, [인증서](/ko/docs/tasks/administer-cluster/certificates/)를 참고한다.

content/ko/docs/concepts/containers/container-environment.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
---
2+
3+
4+
25
title: 컨테이너 환경 변수
36
content_type: concept
47
weight: 20
@@ -24,23 +27,24 @@ weight: 20
2427
### 컨테이너 정보
2528

2629
컨테이너의 *호스트네임* 은 컨테이너가 동작 중인 파드의 이름과 같다.
27-
그것은 `hostname` 커맨드 또는 libc의
28-
[`gethostname`](https://man7.org/linux/man-pages/man2/gethostname.2.html)
30+
그것은 `hostname` 커맨드 또는 libc의
31+
[`gethostname`](https://man7.org/linux/man-pages/man2/gethostname.2.html)
2932
함수 호출을 통해서 구할 수 있다.
3033

31-
파드 이름과 네임스페이스는
34+
파드 이름과 네임스페이스는
3235
[다운워드(Downward) API](/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information/)를 통해 환경 변수로 구할 수 있다.
3336

3437
Docker 이미지에 정적으로 명시된 환경 변수와 마찬가지로,
3538
파드 정의에서의 사용자 정의 환경 변수도 컨테이너가 사용할 수 있다.
3639

3740
### 클러스터 정보
3841

39-
컨테이너가 생성될 때 실행 중이던 모든 서비스의 목록은 환경 변수로 해당 컨테이너에서 사용할 수
42+
컨테이너가 생성될 때 실행 중이던 모든 서비스의 목록은 환경 변수로 해당 컨테이너에서 사용할 수
4043
있다.
44+
이 목록은 새로운 컨테이너의 파드 및 쿠버네티스 컨트롤 플레인 서비스와 동일한 네임스페이스 내에 있는 서비스로 한정된다.
4145
이러한 환경 변수는 Docker 링크 구문과 일치한다.
4246

43-
*bar* 라는 이름의 컨테이너에 매핑되는 *foo* 라는 이름의 서비스에 대해서는,
47+
*bar* 라는 이름의 컨테이너에 매핑되는 *foo* 라는 이름의 서비스에 대해서는,
4448
다음의 형태로 변수가 정의된다.
4549

4650
```shell
@@ -58,5 +62,3 @@ FOO_SERVICE_PORT=<서비스가 동작 중인 포트>
5862
* [컨테이너 라이프사이클 훅(hooks)](/ko/docs/concepts/containers/container-lifecycle-hooks/)에 대해 더 배워 보기.
5963
* [컨테이너 라이프사이클 이벤트에 핸들러 부착](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/)
6064
실제 경험 얻기.
61-
62-

content/ko/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
---
22
title: 애그리게이션 레이어(aggregation layer)로 쿠버네티스 API 확장하기
3+
4+
5+
6+
37
content_type: concept
48
weight: 10
59
---
@@ -25,8 +29,6 @@ Extension-apiserver는 kube-apiserver로 오가는 연결의 레이턴시가 낮
2529
kube-apiserver로 부터의 디스커버리 요청은 왕복 레이턴시가 5초 이내여야 한다.
2630

2731
extention API server가 레이턴시 요구 사항을 달성할 수 없는 경우 이를 충족할 수 있도록 변경하는 것을 고려한다.
28-
`EnableAggregatedDiscoveryTimeout=false` [기능 게이트](/ko/docs/reference/command-line-tools-reference/feature-gates/)를 설정해서 타임아웃
29-
제한을 비활성화 할 수 있다. 이 사용 중단(deprecated)된 기능 게이트는 향후 릴리스에서 제거될 예정이다.
3032

3133
## {{% heading "whatsnext" %}}
3234

content/ko/docs/concepts/extend-kubernetes/operator.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,5 +124,5 @@ kubectl edit SampleDB/example-database # 일부 설정을 수동으로 변경하
124124
사용하여 직접 구현하기
125125
* [오퍼레이터 프레임워크](https://operatorframework.io) 사용하기
126126
* 다른 사람들이 사용할 수 있도록 자신의 오퍼레이터를 [게시](https://operatorhub.io/)하기
127-
* 오퍼레이터 패턴을 소개한 [CoreOS 원본 기사](https://coreos.com/blog/introducing-operators.html) 읽기
127+
* 오퍼레이터 패턴을 소개한 [CoreOS 원본 ](https://web.archive.org/web/20170129131616/https://coreos.com/blog/introducing-operators.html) 읽기 (이 링크는 원본 글에 대한 보관 버전임)
128128
* 오퍼레이터 구축을 위한 모범 사례에 대한 구글 클라우드(Google Cloud)의 [기사](https://cloud.google.com/blog/products/containers-kubernetes/best-practices-for-building-kubernetes-operators-and-stateful-apps) 읽기

content/ko/docs/concepts/overview/what-is-kubernetes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ sitemap:
5555

5656
## 쿠버네티스가 왜 필요하고 무엇을 할 수 있나 {#why-you-need-kubernetes-and-what-can-it-do}
5757

58-
컨테이너는 애플리케이션을 포장하고 실행하는 좋은 방법이다. 프로덕션 환경에서는 애플리케이션을 실행하는 컨테이너를 관리하고 가동 중지 시간이 없는지 확인해야한다. 예를 들어 컨테이너가 다운되면 다른 컨테이너를 다시 시작해야한다. 이 문제를 시스템에 의해 처리한다면 더 쉽지 않을까?
58+
컨테이너는 애플리케이션을 포장하고 실행하는 좋은 방법이다. 프로덕션 환경에서는 애플리케이션을 실행하는 컨테이너를 관리하고 가동 중지 시간이 없는지 확인해야 한다. 예를 들어 컨테이너가 다운되면 다른 컨테이너를 다시 시작해야 한다. 이 문제를 시스템에 의해 처리한다면 더 쉽지 않을까?
5959

6060
그것이 쿠버네티스가 필요한 이유이다! 쿠버네티스는 분산 시스템을 탄력적으로 실행하기 위한 프레임 워크를 제공한다. 애플리케이션의 확장과 장애 조치를 처리하고, 배포 패턴 등을 제공한다. 예를 들어, 쿠버네티스는 시스템의 카나리아 배포를 쉽게 관리 할 수 있다.
6161

content/ko/docs/concepts/overview/working-with-objects/labels.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,11 @@ _레이블_ 은 키와 값의 쌍이다. 유효한 레이블 키에는 슬래시
5252

5353
`kubernetes.io/``k8s.io/` 접두사는 쿠버네티스의 핵심 컴포넌트로 예약되어있다.
5454

55+
유효한 레이블 값은 다음과 같다.
56+
* 63 자 이하 여야 하고(공백이면 안 됨),
57+
* 시작과 끝은 알파벳과 숫자(`[a-z0-9A-Z]`)이며,
58+
* 알파벳과 숫자, 대시(`-`), 밑줄(`_`), 점(`.`)를 중간에 포함할 수 있다.
59+
5560
유효한 레이블 값은 63자 미만 또는 공백이며 시작과 끝은 알파벳과 숫자(`[a-z0-9A-Z]`)이며, 대시(`-`), 밑줄(`_`), 점(`.`)과 함께 사용할 수 있다.
5661

5762
다음의 예시는 파드에 `environment: production``app: nginx` 2개의 레이블이 있는 구성 파일이다.

content/ko/docs/concepts/policy/resource-quotas.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ weight: 20
5858
## 리소스 쿼터 활성화
5959

6060
많은 쿠버네티스 배포판에 기본적으로 리소스 쿼터 지원이 활성화되어 있다.
61-
API 서버 `--enable-admission-plugins=` 플래그의 인수 중 하나로
61+
{{< glossary_tooltip text="API 서버" term_id="kube-apiserver" >}} `--enable-admission-plugins=` 플래그의 인수 중 하나로
6262
`ResourceQuota`가 있는 경우 활성화된다.
6363

6464
해당 네임스페이스에 리소스쿼터가 있는 경우 특정 네임스페이스에

0 commit comments

Comments
 (0)