Skip to content

Commit fe1b5ca

Browse files
authored
Merge pull request #52483 from developowl/update-ko-docs-tutorials
[ko] update /docs/tutorials into Korean
2 parents 916b5c1 + aa920eb commit fe1b5ca

File tree

8 files changed

+110
-112
lines changed

8 files changed

+110
-112
lines changed

content/ko/docs/tutorials/_index.md

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,29 +20,27 @@ content_type: concept
2020
## 기초
2121

2222
* [쿠버네티스 기초](/ko/docs/tutorials/kubernetes-basics/)는 쿠버네티스 시스템을 이해하는데 도움이 되고 기초적인 쿠버네티스 기능을 일부 사용해 볼 수 있는 심도있는 대화형 튜토리얼이다.
23-
2423
* [Introduction to Kubernetes (edX)](https://www.edx.org/course/introduction-kubernetes-linuxfoundationx-lfs158x#)
25-
2624
* [Hello Minikube](/ko/docs/tutorials/hello-minikube/)
2725

2826
## 구성
2927

3028
* [컨피그 맵을 사용해서 Redis 설정하기](/ko/docs/tutorials/configuration/configure-redis-using-configmap/)
3129

30+
## 파드 생성
31+
32+
* [사이트카 컨테이너 도입](/docs/tutorials/configuration/pod-sidecar-containers/)
33+
3234
## 상태 유지를 하지 않는(stateless) 애플리케이션
3335

3436
* [외부 IP 주소를 노출하여 클러스터의 애플리케이션에 접속하기](/ko/docs/tutorials/stateless-application/expose-external-ip-address/)
35-
3637
* [예시: Redis를 사용한 PHP 방명록 애플리케이션 배포하기](/ko/docs/tutorials/stateless-application/guestbook/)
3738

3839
## 상태 유지가 필요한(stateful) 애플리케이션
3940

4041
* [스테이트풀셋 기본](/ko/docs/tutorials/stateful-application/basic-stateful-set/)
41-
4242
* [예시: WordPress와 MySQL을 퍼시스턴트 볼륨에 배포하기](/ko/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/)
43-
4443
* [예시: 카산드라를 스테이트풀셋으로 배포하기](/ko/docs/tutorials/stateful-application/cassandra/)
45-
4644
* [분산 시스템 코디네이터 ZooKeeper 실행하기](/ko/docs/tutorials/stateful-application/zookeeper/)
4745

4846
## 서비스
@@ -54,8 +52,15 @@ content_type: concept
5452

5553
* [파드 보안 표준을 클러스터 수준으로 적용하기](/ko/docs/tutorials/security/cluster-level-pss/)
5654
* [파드 보안 표준을 네임스페이스 수준으로 적용하기](/ko/docs/tutorials/security/ns-level-pss/)
57-
* [AppArmor](/ko/docs/tutorials/security/apparmor/)
58-
* [seccomp](/docs/tutorials/security/seccomp/)
55+
* [AppArmor를 사용하여 리소스에 대한 컨테이너의 접근 제한](/ko/docs/tutorials/security/apparmor/)
56+
* [Seccomp](/docs/tutorials/security/seccomp/)
57+
58+
## 클러스터 관리
59+
60+
* [쿠버네티스 노드에 스왑 메모리 설정하기](/docs/tutorials/cluster-management/provision-swap-memory/)
61+
* [단독 모드로 Kubelet 실행하기](/docs/tutorials/cluster-management/kubelet-standalone/)
62+
* [DRA로 드라이버 설치 및 장치 할당하기](/docs/tutorials/cluster-management/install-use-dra/)
63+
5964
## {{% heading "whatsnext" %}}
6065

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

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,9 @@ title: "보안"
33
weight: 40
44
---
55

6+
보안은 대부분의 조직과 쿠버네티스 클러스터 운영자에게 중요한
7+
관심사다. 쿠버네티스 문서에서 기본 [보안 체크리스트](/docs/concepts/security/security-checklist/)
8+
찾을 수 있다.
9+
10+
쿠버네티스에서 보안 요소를 배포하고 관리하는 방법을 배우려면, 이 섹션에
11+
있는 튜토리얼을 따른다.

content/ko/docs/tutorials/security/cluster-level-pss.md

Lines changed: 36 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,19 @@ weight: 10
77
{{% alert title="Note" %}}
88
이 튜토리얼은 새로운 클러스터에만 적용할 수 있다.
99
{{% /alert %}}
10-
11-
파드 시큐리티 어드미션(PSA, Pod Security Admission)은
12-
[베타로 변경](/blog/2021/12/09/pod-security-admission-beta/)되어 v1.23 이상에서 기본적으로 활성화되어 있다.
10+
1311
파드 시큐리티 어드미션은 파드가 생성될 때
1412
[파드 시큐리티 스탠다드(Pod Security Standards)](/ko/docs/concepts/security/pod-security-standards/)
15-
적용하는 어드미션 컨트롤러이다.
16-
이 튜토리얼은
17-
`baseline` 파드 시큐리티 스탠다드를 클러스터 수준(level)에 적용하여
18-
표준 구성을 클러스터의 모든 네임스페이스에 적용하는 방법을 보여 준다.
13+
적용하는 어드미션 컨트롤러이다. v1.25에서 정식 출시되었다.
14+
이 튜토리얼은 `baseline` 파드 시큐리티
15+
스탠다드를 클러스터 수준(level)에 적용하여 표준 구성을 클러스터의 모든 네임스페이스에
16+
적용하는 방법을 보여 준다.
1917

2018
파드 시큐리티 스탠다드를 특정 네임스페이스에 적용하려면,
2119
[파드 시큐리티 스탠다드를 네임스페이스 수준에 적용하기](/ko/docs/tutorials/security/ns-level-pss/)를 참고한다.
2220

2321
만약 쿠버네티스 버전이 v{{< skew currentVersion >}}이 아니라면,
24-
해당 버전의 문서를 확인하자.
22+
해당 버전의 문서를 확인한다.
2523

2624
## {{% heading "prerequisites" %}}
2725

@@ -30,6 +28,11 @@ weight: 10
3028
- [KinD](https://kind.sigs.k8s.io/docs/user/quick-start/#installation)
3129
- [kubectl](/ko/docs/tasks/tools/)
3230

31+
이 튜토리얼은 완전히 제어 가능한 쿠버네티스 클러스터에서 무엇을
32+
설정할 수 있는지 보여준다. 컨트롤 플레인을 구성할 수 없는 관리형 클러스터에서
33+
파드 시큐리티 어드미션을 설정하는 방법을 배우려면, [파드 시큐리티 스탠다드를 네임스페이스 수준에 적용하기](/ko/docs/tutorials/security/ns-level-pss)
34+
읽어 본다.
35+
3336
## 적용할 알맞은 파드 시큐리티 스탠다드 선택하기
3437

3538
[파드 시큐리티 어드미션](/ko/docs/concepts/security/pod-security-admission/)을 이용하여
@@ -59,7 +62,6 @@ weight: 10
5962
kubectl cluster-info --context kind-psa-wo-cluster-pss
6063

6164
Thanks for using kind! 😊
62-
6365
```
6466

6567
1. kubectl context를 새로 생성한 클러스터로 설정한다.
@@ -100,6 +102,7 @@ weight: 10
100102
kubectl label --dry-run=server --overwrite ns --all \
101103
pod-security.kubernetes.io/enforce=privileged
102104
```
105+
103106
다음과 비슷하게 출력될 것이다.
104107
```
105108
namespace/default labeled
@@ -113,6 +116,7 @@ weight: 10
113116
kubectl label --dry-run=server --overwrite ns --all \
114117
pod-security.kubernetes.io/enforce=baseline
115118
```
119+
116120
다음과 비슷하게 출력될 것이다.
117121
```
118122
namespace/default labeled
@@ -131,6 +135,7 @@ weight: 10
131135
kubectl label --dry-run=server --overwrite ns --all \
132136
pod-security.kubernetes.io/enforce=restricted
133137
```
138+
134139
다음과 비슷하게 출력될 것이다.
135140
```
136141
namespace/default labeled
@@ -286,50 +291,43 @@ weight: 10
286291
287292
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
288293
```
289-
1. 기본 네임스페이스에 생성할 최소한의 구성에 대한 파드 명세를 다음과 같이 생성한다.
294+
295+
1. 기본 네임스페이스에 파드를 생성한다.
290296
291-
```
292-
cat <<EOF > /tmp/pss/nginx-pod.yaml
293-
apiVersion: v1
294-
kind: Pod
295-
metadata:
296-
name: nginx
297-
spec:
298-
containers:
299-
- image: nginx
300-
name: nginx
301-
ports:
302-
- containerPort: 80
303-
EOF
304-
```
305-
1. 클러스터에 해당 파드를 생성한다.
297+
{{% code_sample file="security/example-baseline-pod.yaml" %}}
306298
307299
```shell
308-
kubectl apply -f /tmp/pss/nginx-pod.yaml
300+
kubectl apply -f https://k8s.io/examples/security/example-baseline-pod.yaml
309301
```
310-
다음과 비슷하게 출력될 것이다.
302+
303+
파드는 정상적으로 시작되었지만, 출력 결과에 경고가 포함되어 있다.
311304
```
312-
Warning: would violate PodSecurity "restricted:latest": allowPrivilegeEscalation != false (container "nginx" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "nginx" must set securityContext.capabilities.drop=["ALL"]), runAsNonRoot != true (pod or container "nginx" must set securityContext.runAsNonRoot=true), seccompProfile (pod or container "nginx" must set securityContext.seccompProfile.type to "RuntimeDefault" or "Localhost")
313-
pod/nginx created
305+
Warning: would violate PodSecurity "restricted:latest": allowPrivilegeEscalation != false (container "nginx" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "nginx" must set securityContext.capabilities.drop=["ALL"]), runAsNonRoot != true (pod or container "nginx" must set securityContext.runAsNonRoot=true), seccompProfile (pod or container "nginx" must set securityContext.seccompProfile.type to "RuntimeDefault" or "Localhost")
306+
pod/nginx created
314307
```
315308
316309
## 정리하기
317310
318-
`kind delete cluster --name psa-with-cluster-pss`
319-
`kind delete cluster --name psa-wo-cluster-pss` 명령을 실행하여
320-
생성했던 클러스터를 삭제한다.
311+
위에서 생성한 클러스터들을 다음 명령어를 실행하여 삭제한다.
312+
313+
```shell
314+
kind delete cluster --name psa-with-cluster-pss
315+
```
316+
```shell
317+
kind delete cluster --name psa-wo-cluster-pss
318+
```
321319
322320
## {{% heading "whatsnext" %}}
323321
324322
- 다음의 모든 단계를 한 번에 수행하려면
325323
[셸 스크립트](/examples/security/kind-with-cluster-level-baseline-pod-security.sh)를
326324
실행한다.
327-
1. 파드 시큐리티 스탠다드 기반의 클러스터 수준 구성(configuration)을 생성
328-
2. API 서버가 이 구성을 사용할 수 있도록 파일을 생성
329-
3. 이 구성을 사용하는 API 서버를 포함하는 클러스터를 생성
330-
4. kubectl context를 새로 생성한 클러스터에 설정
331-
5. 최소한의 파드 구성을 위한 yaml 파일을 생성
332-
6. 해당 파일을 적용하여 새 클러스터에 파드를 생성
325+
1. 파드 시큐리티 스탠다드 기반의 클러스터 수준 구성(configuration)을 생성한다
326+
2. API 서버가 이 구성을 사용할 수 있도록 파일을 생성한다
327+
3. 이 구성을 사용하는 API 서버를 포함하는 클러스터를 생성한다
328+
4. kubectl context를 새로 생성한 클러스터에 설정한다
329+
5. 최소한의 파드 구성을 위한 yaml 파일을 생성한다
330+
6. 해당 파일을 적용하여 새 클러스터에 파드를 생성한다
333331
- [파드 시큐리티 어드미션](/ko/docs/concepts/security/pod-security-admission/)
334332
- [파드 시큐리티 스탠다드](/ko/docs/concepts/security/pod-security-standards/)
335333
- [파드 시큐리티 스탠다드를 네임스페이스 수준에 적용하기](/ko/docs/tutorials/security/ns-level-pss/)

content/ko/docs/tutorials/security/ns-level-pss.md

Lines changed: 15 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
---
22
title: 파드 시큐리티 스탠다드를 네임스페이스 수준에 적용하기
33
content_type: tutorial
4-
weight: 10
4+
weight: 20
55
---
66

77
{{% alert title="Note" %}}
88
이 튜토리얼은 새로운 클러스터에만 적용할 수 있다.
99
{{% /alert %}}
1010

11-
파드 시큐리티 어드미션(PSA, Pod Security Admission)은
12-
[베타로 변경](/blog/2021/12/09/pod-security-admission-beta/)되어 v1.23 이상에서 기본적으로 활성화되어 있다.
1311
파드 시큐리티 어드미션은 파드가 생성될 때
14-
[파드 시큐리티 스탠다드(Pod Security Standards)](/ko/docs/concepts/security/pod-security-standards/)를 적용하는 어드미션 컨트롤러이다.
12+
[파드 시큐리티 스탠다드](/ko/docs/concepts/security/pod-security-standards/)를 적용하는
13+
어드미션 컨트롤러이다. v1.25에서 정식 출시되었다.
1514
이 튜토리얼에서는,
1615
각 네임스페이스별로 `baseline` 파드 시큐리티 스탠다드를 강제(enforce)할 것이다.
1716

@@ -31,7 +30,7 @@ weight: 10
3130
1. 다음과 같이 `KinD` 클러스터를 생성한다.
3231

3332
```shell
34-
kind create cluster --name psa-ns-level --image kindest/node:v1.23.0
33+
kind create cluster --name psa-ns-level
3534
```
3635

3736
다음과 비슷하게 출력될 것이다.
@@ -95,7 +94,8 @@ namespace/example created
9594
2. 어떠한 네임스페이스에도 복수 개의 파드 시큐리티 스탠다드를 활성화할 수 있으며,
9695
이는 레이블을 이용하여 가능하다.
9796
다음 명령어는 최신 버전(기본값)에 따라, `baseline(기준)` 파드 시큐리티 스탠다드는 `enforce(강제)`하지만
98-
`restricted(제한된)` 파드 시큐리티 스탠다드에 대해서는 `warn(경고)``audit(감사)`하도록 설정한다.
97+
`restricted(제한된)` 파드 시큐리티 스탠다드에 대해서는 `warn(경고)``audit(감사)`
98+
하도록 설정한다.
9999

100100
```shell
101101
kubectl label --overwrite ns example \
@@ -109,23 +109,6 @@ namespace/example created
109109

110110
## 파드 시큐리티 스탠다드 검증하기
111111

112-
1. `example` 네임스페이스에 최소한의 파드를 생성한다.
113-
114-
```shell
115-
cat <<EOF > /tmp/pss/nginx-pod.yaml
116-
apiVersion: v1
117-
kind: Pod
118-
metadata:
119-
name: nginx
120-
spec:
121-
containers:
122-
- image: nginx
123-
name: nginx
124-
ports:
125-
- containerPort: 80
126-
EOF
127-
```
128-
129112
1. 클러스터의 `example` 네임스페이스에 해당 파드 스펙을 적용한다.
130113

131114
```shell
@@ -155,19 +138,23 @@ namespace/example created
155138

156139
## 정리하기
157140

158-
`kind delete cluster --name psa-ns-level` 명령을 실행하여 생성했던 클러스터를 삭제한다.
141+
위에서 생성한 클러스터들을 다음 명령어를 실행하여 삭제한다.
142+
143+
```shell
144+
kind delete cluster --name psa-ns-level
145+
```
159146

160147
## {{% heading "whatsnext" %}}
161148

162149
- 다음의 모든 단계를 한 번에 수행하려면
163150
[셸 스크립트](/examples/security/kind-with-namespace-level-baseline-pod-security.sh)
164151
실행한다.
165152

166-
1. KinD 클러스터를 생성
167-
2. 새로운 네임스페이스를 생성
153+
1. kind 클러스터를 생성한다
154+
2. 새로운 네임스페이스를 생성한다
168155
3. `baseline` 파드 시큐리티 스탠다드는 `enforce` 모드로 적용하고
169-
`restricted` 파드 시큐리티 스탠다드는 `warn``audit` 모드로 적용
170-
4. 해당 파드 시큐리티 스탠다드가 적용된 상태에서 새로운 파드를 생성
156+
`restricted` 파드 시큐리티 스탠다드는 `warn``audit` 모드로 적용한다.
157+
4. 해당 파드 시큐리티 스탠다드가 적용된 상태에서 새로운 파드를 생성한다
171158

172159
- [파드 시큐리티 어드미션](/ko/docs/concepts/security/pod-security-admission/)
173160
- [파드 시큐리티 스탠다드](/ko/docs/concepts/security/pod-security-standards/)

content/ko/docs/tutorials/stateful-application/cassandra.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ content_type: tutorial
66
weight: 30
77
---
88

9-
10-
119
<!-- overview -->
1210
이 튜토리얼은 쿠버네티스에서 [아파치 카산드라](https://cassandra.apache.org/)를 실행하는 방법을 소개한다.
1311
데이터베이스인 카산드라는 데이터 내구성을 제공하기 위해 퍼시스턴트 스토리지가 필요하다(애플리케이션 _상태_).
@@ -33,7 +31,7 @@ weight: 30
3331

3432
## {{% heading "objectives" %}}
3533

36-
* 카산드라 헤드리스 {{< glossary_tooltip text="Service" term_id="service" >}}를 생성하고 검증한다.
34+
* 카산드라 헤드리스 {{< glossary_tooltip text="서비스" term_id="service" >}}를 생성하고 검증한다.
3735
* {{< glossary_tooltip term_id="StatefulSet" >}}을 이용하여 카산드라 링을 생성한다.
3836
* 스테이트풀셋을 검증한다.
3937
* 스테이트풀셋을 수정한다.
@@ -54,7 +52,7 @@ weight: 30
5452
{{< caution >}}
5553
[Minikube](https://minikube.sigs.k8s.io/docs/)는 2048MB 메모리와 2개 CPU가 기본 설정이다.
5654
이 튜토리얼에서 Minikube를 기본 리소스 설정으로 실행하면 리소스 부족 오류가
57-
발생한다. 이런 오류를 피하려면 Minikube를 다음 설정으로 실행하자.
55+
발생한다. 이런 오류를 피하려면 Minikube를 다음 설정으로 실행한다.
5856

5957
```shell
6058
minikube start --memory 5120 --cpus=4
@@ -65,12 +63,12 @@ minikube start --memory 5120 --cpus=4
6563
<!-- lessoncontent -->
6664
## 카산드라를 위한 헤드리스 서비스 생성하기 {#creating-a-cassandra-headless-service}
6765

68-
쿠버네티스 에서 {{< glossary_tooltip text="서비스" term_id="service" >}}는 동일 작업을 수행하는
66+
쿠버네티스에서 {{< glossary_tooltip text="서비스" term_id="service" >}}는 동일 작업을 수행하는
6967
{{< glossary_tooltip text="파드" term_id="pod" >}}의 집합을 기술한다.
7068

7169
다음의 서비스는 클러스터에서 카산드라 파드와 클라이언트 간에 DNS 찾아보기 용도로 사용한다.
7270

73-
{{< codenew file="application/cassandra/cassandra-service.yaml" >}}
71+
{{% code_sample file="application/cassandra/cassandra-service.yaml" %}}
7472

7573
`cassandra-service.yaml` 파일에서 카산드라 스테이트풀셋 노드를 모두 추적하는 서비스를 생성한다.
7674

@@ -107,9 +105,9 @@ cassandra ClusterIP None <none> 9042/TCP 45s
107105
다음 스테이트풀셋을 작업하는 클라우드 환경에서 갱신한다.
108106
{{< /note >}}
109107

110-
{{< codenew file="application/cassandra/cassandra-statefulset.yaml" >}}
108+
{{% code_sample file="application/guestbook/redis-follower-service.yaml" %}}
111109

112-
`cassandra-statefulset.yaml` 파일로 카산드라 스테이트풀셋 생성
110+
`cassandra-statefulset.yaml` 파일로 카산드라 스테이트풀셋을 생성한다.
113111

114112
```shell
115113
# cassandra-statefulset.yaml을 수정하지 않은 경우에 이것을 사용한다.
@@ -223,7 +221,7 @@ kubectl apply -f cassandra-statefulset.yaml
223221

224222
스테이트풀셋은 4개의 파드를 실행하기 위해 스케일 한다.
225223

226-
1. 검증하기 위해 카산드라 스테이트풀셋을 살펴보자
224+
1. 검증하기 위해 카산드라 스테이트풀셋을 살펴본다.
227225

228226
```shell
229227
kubectl get statefulset cassandra
@@ -288,3 +286,5 @@ kubectl apply -f cassandra-statefulset.yaml
288286
* 어떻게 [스테이트풀셋 스케일](/ko/docs/tasks/run-application/scale-stateful-set/)하는지 살펴본다.
289287
* [*쿠버네티스시드제공자*](https://github.com/kubernetes/examples/blob/master/cassandra/java/src/main/java/io/k8s/cassandra/KubernetesSeedProvider.java)에 대해 더 살펴본다.
290288
* 커스텀 [시드 제공자 설정](https://git.k8s.io/examples/cassandra/java/README.md)를 살펴본다.
289+
290+

0 commit comments

Comments
 (0)