Skip to content

Commit 98a1647

Browse files
authored
Merge pull request #26964 from seokho-son/outdated-1.20-ko.6
[ko] Update outdated files in dev-1.20-ko.6 (p1)
2 parents 2ba9ed2 + 32f22e6 commit 98a1647

File tree

9 files changed

+323
-270
lines changed

9 files changed

+323
-270
lines changed

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/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)