Skip to content

Commit 6378609

Browse files
committed
[ko] Update outdated files in dev-1.23-ko.2 M74-85
1 parent 282d9b5 commit 6378609

File tree

15 files changed

+193
-64
lines changed

15 files changed

+193
-64
lines changed

content/ko/docs/tasks/tls/managing-tls-in-a-cluster.md

Lines changed: 128 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -76,30 +76,25 @@ cat <<EOF | cfssl genkey - | cfssljson -bare server
7676
"192.0.2.24",
7777
"10.0.34.2"
7878
],
79-
"CN": "system:node:my-pod.my-namespace.pod.cluster.local",
79+
"CN": "my-pod.my-namespace.pod.cluster.local",
8080
"key": {
8181
"algo": "ecdsa",
8282
"size": 256
83-
},
84-
"names": [
85-
{
86-
"O": "system:nodes"
87-
}
88-
]
83+
}
8984
}
9085
EOF
9186
```
9287

9388
여기서 `192.0.2.24`는 서비스의 클러스터 IP,
9489
`my-svc.my-namespace.svc.cluster.local`은 서비스의 DNS 이름,
9590
`10.0.34.2`는 파드의 IP,`my-pod.my-namespace.pod.cluster.local`
96-
파드의 DNS 이름이다. 다음 출력이 표시되어야 한다.
91+
파드의 DNS 이름이다. 다음과 비슷한 출력이 표시되어야 한다.
9792

9893
```
99-
2017/03/21 06:48:17 [INFO] generate received request
100-
2017/03/21 06:48:17 [INFO] received CSR
101-
2017/03/21 06:48:17 [INFO] generating key: ecdsa-256
102-
2017/03/21 06:48:17 [INFO] encoded CSR
94+
2022/02/01 11:45:32 [INFO] generate received request
95+
2022/02/01 11:45:32 [INFO] received CSR
96+
2022/02/01 11:45:32 [INFO] generating key: ecdsa-256
97+
2022/02/01 11:45:32 [INFO] encoded CSR
10398
```
10499

105100
이 명령은 두 개의 파일을 생성한다. PEM으로
@@ -120,7 +115,7 @@ metadata:
120115
name: my-svc.my-namespace
121116
spec:
122117
request: $(cat server.csr | base64 | tr -d '\n')
123-
signerName: kubernetes.io/kubelet-serving
118+
signerName: example.com/serving
124119
usages:
125120
- digital signature
126121
- key encipherment
@@ -130,7 +125,7 @@ EOF
130125

131126
1단계에서 만든 `server.csr` 파일은 base64로 인코딩되고
132127
`.spec.request` 필드에 숨겨져 있다.
133-
또한 `kubernetes.io/kubelet-serving` 서명자가 서명한
128+
또한 예시 `example.com/serving` 서명자가 서명한
134129
"digitalSignature", "keyEnciperment" 및 "serverAuth" 키 사용(keyUsage)이 있는 인증서를 요청한다.
135130
특정 `signerName`을 요청해야 한다.
136131
자세한 내용은 [지원되는 서명자 이름](/docs/reference/access-authn-authz/certificate-signing-requests/#signers)
@@ -147,14 +142,16 @@ kubectl describe csr my-svc.my-namespace
147142
Name: my-svc.my-namespace
148143
Labels: <none>
149144
Annotations: <none>
150-
CreationTimestamp: Tue, 21 Mar 2017 07:03:51 -0700
145+
CreationTimestamp: Tue, 01 Feb 2022 11:49:15 -0500
151146
Requesting User: [email protected]
147+
Signer: example.com/serving
152148
Status: Pending
153149
Subject:
154-
Common Name: my-svc.my-namespace.svc.cluster.local
150+
Common Name: my-pod.my-namespace.pod.cluster.local
155151
Serial Number:
156152
Subject Alternative Names:
157-
DNS Names: my-svc.my-namespace.svc.cluster.local
153+
DNS Names: my-pod.my-namespace.pod.cluster.local
154+
my-svc.my-namespace.svc.cluster.local
158155
IP Addresses: 192.0.2.24
159156
10.0.34.2
160157
Events: <none>
@@ -175,30 +172,136 @@ kubectl certificate approve my-svc.my-namespace
175172
certificatesigningrequest.certificates.k8s.io/my-svc.my-namespace approved
176173
```
177174

175+
출력은 다음과 같을 것이다.
178176

179-
## 인증서 다운로드 및 사용
177+
```shell
178+
kubectl get csr
179+
```
180+
181+
```none
182+
NAME AGE SIGNERNAME REQUESTOR REQUESTEDDURATION CONDITION
183+
my-svc.my-namespace 10m example.com/serving [email protected] <none> Approved
184+
```
185+
186+
이는 즉 인증서 요청이 승인되었으며
187+
요청받은 서명자의 서명을 기다리고 있음을 나타낸다.
188+
189+
## 인증서 서명 요청에 서명하기
190+
191+
다음으로, 인증서 서명자로서, 인증서를 발급하고, 이를 API에 업로드할 것이다.
192+
193+
서명자는 일반적으로 인증서 서명 요청 API를 조회하여 오브젝트의 `signerName`을 확인하고,
194+
요청이 승인되었는지 체크하고, 해당 요청에 대해 인증서에 서명하고,
195+
발급된 인증서로 API 오브젝트 상태를 업데이트한다.
196+
197+
### 인증 기관 생성하기
198+
199+
먼저: 다음을 실행하여 서명 인증서를 생성한다.
200+
201+
```shell
202+
cat <<EOF | cfssl gencert -initca - | cfssljson -bare ca
203+
{
204+
"CN": "My Example Signer",
205+
"key": {
206+
"algo": "rsa",
207+
"size": 2048
208+
}
209+
}
210+
EOF
211+
```
212+
213+
출력은 다음과 같을 것이다.
180214

181-
CSR이 서명되고 승인되면 다음이 표시된다.
215+
```none
216+
2022/02/01 11:50:39 [INFO] generating a new CA key and certificate from CSR
217+
2022/02/01 11:50:39 [INFO] generate received request
218+
2022/02/01 11:50:39 [INFO] received CSR
219+
2022/02/01 11:50:39 [INFO] generating key: rsa-2048
220+
2022/02/01 11:50:39 [INFO] encoded CSR
221+
2022/02/01 11:50:39 [INFO] signed certificate with serial number 263983151013686720899716354349605500797834580472
222+
```
223+
224+
이제 인증 기관 키 파일(`ca-key.pem`)과 인증서(`ca.pem`)가 생성되었다.
225+
226+
### 인증서 발급하기
227+
228+
{{< codenew file="tls/server-signing-config.json" >}}
229+
230+
`server-signing-config.json` 서명 구성 파일, 인증 기관 키 파일 및 인증서를 사용하여
231+
인증서 요청에 서명한다.
232+
233+
```shell
234+
kubectl get csr my-svc.my-namespace -o jsonpath='{.spec.request}' | \
235+
base64 --decode | \
236+
cfssl sign -ca ca.pem -ca-key ca-key.pem -config server-signing-config.json - | \
237+
cfssljson -bare ca-signed-server
238+
```
239+
240+
출력은 다음과 같을 것이다.
241+
242+
```
243+
2022/02/01 11:52:26 [INFO] signed certificate with serial number 576048928624926584381415936700914530534472870337
244+
```
245+
246+
이제 서명된 제공(serving) 인증서 파일 `ca-signed-server.pem`이 생성되었다.
247+
248+
### 서명된 인증서 업로드하기
249+
250+
마지막으로, 서명된 인증서를 API 오브젝트의 상태에 기재한다.
251+
252+
```shell
253+
kubectl get csr my-svc.my-namespace -o json | \
254+
jq '.status.certificate = "'$(base64 ca-signed-server.pem | tr -d '\n')'"' | \
255+
kubectl replace --raw /apis/certificates.k8s.io/v1/certificatesigningrequests/my-svc.my-namespace/status -f -
256+
```
257+
258+
{{< note >}}
259+
위의 명령에서 `.status.certificate` 필드에 base64로 인코딩된 내용을 채우기 위해 [jq](https://stedolan.github.io/jq/) 명령줄 도구를 사용하였다.
260+
`jq`가 없다면, JSON 출력을 파일에 저장하고, 해당 필드를 수동으로 채우고, 그 결과 파일을 업로드할 수도 있다.
261+
{{< /note >}}
262+
263+
인증서 서명 요청이 승인되고 서명된 인증서가 업로드되면 다음과 같은 출력을 볼 수 있을 것이다.
182264

183265
```shell
184266
kubectl get csr
185267
```
186268

187269
```none
188-
NAME AGE REQUESTOR CONDITION
189-
my-svc.my-namespace 10m [email protected] Approved,Issued
270+
NAME AGE SIGNERNAME REQUESTOR REQUESTEDDURATION CONDITION
271+
my-svc.my-namespace 20m example.com/serving [email protected] <none> Approved,Issued
190272
```
191273

192-
다음을 실행하여 발급된 인증서를 다운로드하고 `server.crt` 파일에
193-
저장할 수 있다.
274+
## 인증서 다운로드 및 사용
275+
276+
이제, 요청하는 사용자로서, 다음 명령을 실행하여
277+
발급된 인증서를 다운로드하고 `server.crt` 파일에 저장할 수 있다.
194278

195279
```shell
196280
kubectl get csr my-svc.my-namespace -o jsonpath='{.status.certificate}' \
197281
| base64 --decode > server.crt
198282
```
199283

200-
이제 `server.crt``server-key.pem`을 키페어(keypair)로 사용하여
201-
HTTPS 서버를 시작할 수 있다.
284+
이제 `server.crt``server-key.pem`의 내용으로 시크릿을 생성하고 파드에 마운트하여
285+
HTTPS 서버를 시작하는 데 필요한 키페어로 사용할 수 있다.
286+
287+
```shell
288+
kubectl create secret tls server --cert server.crt --key server-key.pem
289+
```
290+
291+
```none
292+
secret/server created
293+
```
294+
295+
마지막으로, `ca.pem`의 내용으로 컨피그맵을 생성하여
296+
제공(serving) 인증서 검증에 필요한 신뢰 루트로 사용할 수 있다.
297+
298+
```shell
299+
kubectl create configmap example-serving-ca --from-file ca.crt=ca.pem
300+
```
301+
302+
```none
303+
configmap/example-serving-ca created
304+
```
202305

203306
## 인증서 서명 요청 승인
204307

content/ko/docs/tasks/tools/included/optional-kubectl-configs-bash-linux.md

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,18 @@ source /usr/share/bash-completion/bash_completion
2626

2727
### kubectl 자동 완성 활성화
2828

29-
이제 kubectl 자동 완성 스크립트가 모든 셸 세션에서 제공되도록 해야 한다. 이를 수행할 수 있는 두 가지 방법이 있다.
30-
31-
- `~/.bashrc` 파일에서 자동 완성 스크립트를 소싱한다.
29+
#### Bash
3230

33-
```bash
34-
echo 'source <(kubectl completion bash)' >>~/.bashrc
35-
```
36-
37-
- 자동 완성 스크립트를 `/etc/bash_completion.d` 디렉터리에 추가한다.
31+
이제 kubectl 자동 완성 스크립트가 모든 셸 세션에서 제공되도록 해야 한다. 이를 수행할 수 있는 두 가지 방법이 있다.
3832

39-
```bash
40-
kubectl completion bash >/etc/bash_completion.d/kubectl
41-
```
33+
{{< tabs name="kubectl_bash_autocompletion" >}}
34+
{{{< tab name="현재 사용자에만 적용" codelang="bash" >}}
35+
echo 'source <(kubectl completion bash)' >>~/.bashrc
36+
{{< /tab >}}
37+
{{< tab name="시스템 전체에 적용" codelang="bash" >}}
38+
kubectl completion bash | sudo tee /etc/bash_completion.d/kubectl > /dev/null
39+
{{< /tab >}}}
40+
{{< /tabs >}}
4241

4342
kubectl에 대한 앨리어스(alias)가 있는 경우, 해당 앨리어스로 작업하도록 셸 자동 완성을 확장할 수 있다.
4443

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
title: "fish auto-completion"
3+
description: "fish 자동 완성을 활성화하기 위한 선택적 구성"
4+
headless: true
5+
---
6+
7+
Fish용 kubectl 자동 완성 스크립트는 `kubectl completion fish` 명령으로 생성할 수 있다. 셸에서 자동 완성 스크립트를 소싱하면 kubectl 자동 완성 기능이 활성화된다.
8+
9+
모든 셸 세션에서 사용하려면, `~/.config/fish/config.fish` 파일에 다음을 추가한다.
10+
11+
```shell
12+
kubectl completion fish | source
13+
```
14+
15+
셸을 다시 로드하면, kubectl 자동 완성 기능이 작동할 것이다.

content/ko/docs/tasks/tools/install-kubectl-linux.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ card:
5252
kubectl 바이너리를 체크섬 파일을 통해 검증한다.
5353

5454
```bash
55-
echo "$(<kubectl.sha256) kubectl" | sha256sum --check
55+
echo "$(<kubectl.sha256) kubectl" | sha256sum --check
5656
```
5757

5858
검증이 성공한다면, 출력은 다음과 같다.
@@ -85,7 +85,7 @@ card:
8585
chmod +x kubectl
8686
mkdir -p ~/.local/bin/kubectl
8787
mv ./kubectl ~/.local/bin/kubectl
88-
# 그리고 ~/.local/bin/kubectl을 $PATH에 추가
88+
# 그리고 ~/.local/bin 을 $PATH의 앞부분 또는 뒷부분에 추가
8989
```
9090

9191
{{< /note >}}
@@ -178,10 +178,11 @@ kubectl version --client
178178

179179
kubectl은 Bash, Zsh, Fish, 및 PowerShell에 대한 자동 완성 지원을 제공하므로 입력을 위한 타이핑을 많이 절약할 수 있다.
180180

181-
다음은 Bash 및 Zsh에 대한 자동 완성을 설정하는 절차이다.
181+
다음은 Bash, Fish, 및 Zsh에 대한 자동 완성을 설정하는 절차이다.
182182

183183
{{< tabs name="kubectl_autocompletion" >}}
184184
{{< tab name="Bash" include="included/optional-kubectl-configs-bash-linux.md" />}}
185+
{{< tab name="Fish" include="included/optional-kubectl-configs-fish.md" />}}
185186
{{< tab name="Zsh" include="included/optional-kubectl-configs-zsh.md" />}}
186187
{{< /tabs >}}
187188

@@ -192,7 +193,7 @@ kubectl은 Bash, Zsh, Fish, 및 PowerShell에 대한 자동 완성 지원을 제
192193
1. 다음 명령으로 최신 릴리스를 다운로드한다.
193194

194195
```bash
195-
curl -LO https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert
196+
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert"
196197
```
197198

198199
1. 바이너리를 검증한다. (선택 사항)

content/ko/docs/tasks/tools/install-kubectl-macos.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,10 +161,11 @@ macOS에서 [Macports](https://macports.org/) 패키지 관리자를 사용하
161161

162162
kubectl은 Bash, Zsh, Fish, 및 PowerShell에 대한 자동 완성 지원을 제공하므로 입력을 위한 타이핑을 많이 절약할 수 있다.
163163

164-
다음은 Bash 및 Zsh에 대한 자동 완성을 설정하는 절차이다.
164+
다음은 Bash, Fish, 및 Zsh에 대한 자동 완성을 설정하는 절차이다.
165165

166166
{{< tabs name="kubectl_autocompletion" >}}
167167
{{< tab name="Bash" include="included/optional-kubectl-configs-bash-mac.md" />}}
168+
{{< tab name="Fish" include="included/optional-kubectl-configs-fish.md" />}}
168169
{{< tab name="Zsh" include="included/optional-kubectl-configs-zsh.md" />}}
169170
{{< /tabs >}}
170171

content/ko/docs/tasks/tools/install-kubectl-windows.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ card:
5959
$($(CertUtil -hashfile .\kubectl.exe SHA256)[1] -replace " ", "") -eq $(type .\kubectl.exe.sha256)
6060
```
6161
62-
1. `PATH`로 설정된 디렉터리 중 하나에 kubectl 바이너리를 추가한다.
62+
1. kubectl 바이너리가 있는 폴더를 `PATH` 환경 변수의 앞부분 또는 뒷부분에 추가
6363
6464
1. `kubectl` 의 버전이 다운로드한 버전과 같은지 확인한다.
6565
@@ -172,7 +172,7 @@ kubectl은 Bash, Zsh, Fish, 및 PowerShell에 대한 자동 완성 지원을 제
172172
$($(CertUtil -hashfile .\kubectl-convert.exe SHA256)[1] -replace " ", "") -eq $(type .\kubectl-convert.exe.sha256)
173173
```
174174
175-
1. `PATH`로 설정된 디렉터리 중 하나에 kubectl-convert 바이너리를 추가한다.
175+
1. kubectl 바이너리가 있는 폴더를 `PATH` 환경 변수의 앞부분 또는 뒷부분에 추가
176176
177177
1. 플러그인이 정상적으로 설치되었는지 확인한다.
178178

content/ko/docs/tutorials/_index.md

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,6 @@ content_type: concept
4747

4848
* [분산 시스템 코디네이터 ZooKeeper 실행하기](/ko/docs/tutorials/stateful-application/zookeeper/)
4949

50-
## 클러스터
51-
52-
* [AppArmor](/ko/docs/tutorials/clusters/apparmor/)
53-
54-
* [seccomp](/docs/tutorials/clusters/seccomp/)
55-
5650
## 서비스
5751

5852
* [소스 IP 주소 이용하기](/ko/docs/tutorials/services/source-ip/)
@@ -61,7 +55,8 @@ content_type: concept
6155

6256
* [파드 보안 표준을 클러스터 수준으로 적용하기](/docs/tutorials/security/cluster-level-pss/)
6357
* [파드 보안 표준을 네임스페이스 수준으로 적용하기](/docs/tutorials/security/ns-level-pss/)
64-
58+
* [AppArmor](/ko/docs/tutorials/security/apparmor/)
59+
* [seccomp](/docs/tutorials/security/seccomp/)
6560
## {{% heading "whatsnext" %}}
6661

6762
튜토리얼을 작성하고 싶다면, 튜토리얼 페이지 유형에 대한 정보가 있는

content/ko/docs/tutorials/clusters/_index.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

content/ko/docs/tutorials/kubernetes-basics/create-cluster/_index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,5 @@
22
title: 클러스터 생성하기
33
weight: 10
44
---
5+
6+
쿠버네티스 {{< glossary_tooltip text="클러스터" term_id="cluster" length="all" >}}에 대한 내용을 확인하고 Minikube를 사용하여 간단한 클러스터를 생성해 본다.

content/ko/examples/application/job/cronjob.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ kind: CronJob
33
metadata:
44
name: hello
55
spec:
6-
schedule: "*/1 * * * *"
6+
schedule: "* * * * *"
77
jobTemplate:
88
spec:
99
template:

0 commit comments

Comments
 (0)