Skip to content

Commit a516999

Browse files
authored
Merge pull request #35767 from kubernetes/dev-1.24-ko.2
[ko] 2nd Korean localization work for v1.24
2 parents babcc6a + c630ae0 commit a516999

File tree

170 files changed

+4979
-3692
lines changed

Some content is hidden

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

170 files changed

+4979
-3692
lines changed

content/ko/_index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,12 @@ <h2>150+ 마이크로서비스를 쿠버네티스로 마이그레이션하는
4343
<button id="desktopShowVideoButton" onclick="kub.showVideo()">비디오 보기</button>
4444
<br>
4545
<br>
46-
<a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-europe-2022/?utm_source=kubernetes.io&utm_medium=nav&utm_campaign=kccnceu22" button id="desktopKCButton">KubeCon Europe (2022년 5월 17~20일) 참가하기</a>
46+
<a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/?utm_source=kubernetes.io&utm_medium=nav&utm_campaign=kccncna22" button id="desktopKCButton">KubeCon North America (2022년 10월 24~28일) 참가하기</a>
4747
<br>
4848
<br>
4949
<br>
5050
<br>
51-
<a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/?utm_source=kubernetes.io&utm_medium=nav&utm_campaign=kccncna22" button id="desktopKCButton">KubeCon North America (2022년 10월 24~28일) 참가하기</a>
51+
<a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-europe-2023/?utm_source=kubernetes.io&utm_medium=nav&utm_campaign=kccnceu23" button id="desktopKCButton">KubeCon Europe (2023년 4월 17~21일) 참가하기</a>
5252
</div>
5353
<div id="videoPlayer">
5454
<iframe data-url="https://www.youtube.com/embed/H06qrNmGqyE?autoplay=1" frameborder="0" allowfullscreen></iframe>
Lines changed: 179 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,179 @@
1+
---
2+
layout: blog
3+
title: "쿠버네티스 1.24: gRPC 컨테이너 프로브 베타"
4+
date: 2022-05-13
5+
slug: grpc-probes-now-in-beta
6+
---
7+
8+
**저자**: Sergey Kanzhelev (Google)
9+
10+
**번역**: 송원석 (쏘카), 손석호 (ETRI), 김상홍 (국민대), 김보배 (11번가)
11+
12+
쿠버네티스 1.24에서 gRPC 프로브 기능이 베타에 진입했으며 기본적으로 사용 가능하다.
13+
이제 HTTP 엔드포인트를 노출하지 않고, gRPC 앱에 대한 스타트업(startup), 활성(liveness) 및 준비성(readiness) 프로브를 구성할 수 있으며,
14+
실행 파일도 필요하지 않는다. 쿠버네티스는 기본적으로 gRPC를 통해 워크로드에 자체적으로(natively) 연결 가능하며, 상태를 쿼리할 수 있다.
15+
16+
## 약간의 히스토리
17+
18+
시스템이 워크로드의 앱이 정상인지, 정상적으로 시작되었는지,
19+
트래픽을 수용할 수 있는지에 대해 관리하는 것은 유용하다.
20+
gRPC 지원이 추가되기 전에도, 쿠버네티스는 이미 컨테이너 이미지
21+
내부에서 실행 파일을 실행하거나, HTTP 요청을 하거나,
22+
TCP 연결이 성공했는지 여부를 확인하여 상태를 확인할 수 있었다.
23+
24+
대부분의 앱은, 이러한 검사로 충분하다. 앱이 상태(또는 준비성) 확인을
25+
위한 gRPC 엔드포인트를 제공하는 경우 `exec` 프로브를
26+
gRPC 상태 확인에 사용하도록 쉽게 용도를 변경할 수 있다.
27+
블로그 기사 [쿠버네티스의 gRPC 서버 상태 확인](/blog/2018/10/01/health-checking-grpc-servers-on-kubernetes/)에서, Ahmet Alp Balkan은 이를 수행하는 방법을 설명하였으며, 이는 지금도 여전히 작동하는 메커니즘이다.
28+
29+
이것을 활성화하기 위해 일반적으로 사용하는 도구는 2018년 8월 21일에 [생성](https://github.com/grpc-ecosystem/grpc-health-probe/commit/2df4478982e95c9a57d5fe3f555667f4365c025d)되었으며, 이 도구의 첫 릴리즈는 [2018년 9월 19일](https://github.com/grpc-ecosystem/grpc-health-probe/releases/tag/v0.1.0-alpha.1)에 나왔다.
30+
31+
gRPC 앱 상태 확인을 위한 이 접근 방식은 매우 인기있다. `grpc_health_probe`를 포함하고 있는 [Dockerfile은 3,626개](https://github.com/search?l=Dockerfile&q=grpc_health_probe&type=code)이며, (문서 작성 시점에)GitHub의 기본 검색으로 발견된 [yaml 파일은 6,621개](https://github.com/search?l=YAML&q=grpc_health_probe&type=Code)가 있다. 이것은 도구의 인기와 이를 기본적으로 지원해야 할 필요성을 잘 나타낸다.
32+
33+
쿠버네티스 v1.23은 gRPC를 사용하여 워크로드 상태를 쿼리하는 기본(native) 지원을 알파 수준의 구현으로 기본 지원으로 도입 및 소개했다. 알파 기능이었기 때문에 v1.23 릴리스에서는 기본적으로 비활성화되었다.
34+
35+
## 기능 사용
36+
37+
우리는 다른 프로브와 유사한 방식으로 gRPC 상태를 확인할 수 있도록 구축했으며, 쿠버네티스의 다른 프로브에 익숙하다면 [사용하기 쉬울 것](/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-a-grpc-liveness-probe)이라 믿는다.
38+
자체적으로 지원되는 상태 프로브는 `grpc_health_probe` 실행 파일과 관련되어 있던 차선책에 비해 많은 이점이 있다.
39+
40+
기본 gRPC 지원을 사용하면 이미지에 `10MB`의 추가 실행 파일을 다운로드하여 저장할 필요가 없다.
41+
Exec 프로브는 실행 파일을 실행하기 위해 새 프로세스를 인스턴스화해야 하므로 일반적으로 gRPC 호출보다 느리다.
42+
또한 파드가 리소스 최대치로 실행 중이고 새 프로세스를 인스턴스화하는데 문제가 있는 경우에는 검사의 분별성을 낮추게 만든다.
43+
44+
그러나 여기에는 몇 가지 제약이 있다. 프로브용 클라이언트 인증서(certificate)를 구성하는 것이 어렵기 때문에, 클라이언트 인증(authentication)이 필요한 서비스는 지원하지 않는다. 기본 제공(built-in) 프로브도 서버 인증서를 확인하지 않고 관련 문제를 무시한다.
45+
46+
또한 기본 제공 검사는 특정 유형의 오류를 무시하도록 구성할 수 없으며 (`grpc_health_probe`는 다른 오류에 대해 다른 종료 코드를 반환함), 단일 프로브에서 여러 서비스 상태 검사를 실행하도록 "연계(chained)"할 수 없다.
47+
48+
그러나 이러한 모든 제한 사항은 gRPC에서 꽤 일반적이며 이에 대한 쉬운 해결 방법이 있다.
49+
50+
## 직접 해 보기
51+
52+
### 클러스터 수준의 설정
53+
54+
오늘 이 기능을 사용해 볼 수 있다. 기본 gRPC 프로브 사용을 시도하려면, `GRPCContainerProbe` 기능 게이트를 활성화하여 쿠버네티스 클러스터를 직접 가동한다. [가용한 도구](/ko/docs/tasks/tools/)가 많이 있다.
55+
56+
기능 게이트 `GRPCContainerProbe`는 1.24에서 기본적으로 활성화되어 있으므로, 많은 공급업체가 이 기능을 즉시 사용 가능하도록 제공할 것이다.
57+
따라서 선택한 플랫폼에서 1.24 클러스터를 그냥 생성하면 된다. 일부 공급업체는 1.23 클러스터에서 알파 기능을 사용 할 수 있도록 허용한다.
58+
59+
예를 들어, 빠른 테스트를 위해 GKE에서 테스트 클러스터를 가동할 수 있다. (해당 문서 작성 시점 기준)
60+
다른 공급업체도 유사한 기능을 가지고 있을 수 있다. 특히 쿠버네티스 1.24 릴리스 이후 이 블로그 게시물을 읽고 있는 경우에는 더욱 그렇다.
61+
62+
GKE에서 다음 명령어를 사용한다. (참고로 버전은 `1.23`이고 `enable-kubernetes-alpha`가 지정됨).
63+
64+
```shell
65+
gcloud container clusters create test-grpc \
66+
--enable-kubernetes-alpha \
67+
--no-enable-autorepair \
68+
--no-enable-autoupgrade \
69+
--release-channel=rapid \
70+
--cluster-version=1.23
71+
```
72+
73+
또한 클러스터에 접근하기 위해서 `kubectl`을 구성할 필요가 있다.
74+
75+
```shell
76+
gcloud container clusters get-credentials test-grpc
77+
```
78+
79+
### 기능 사용해 보기
80+
81+
gRPC 프로브가 작동하는 방식을 테스트하기 위해 파드를 생성해 보겠다. 이 테스트에서는 `agnhost` 이미지를 사용한다.
82+
이것은 모든 종류의 워크로드 테스트에 사용할 수 있도록, k8s가 유지 관리하는 이미지다.
83+
예를 들어, 두 개의 포트를 노출하는 유용한 [grpc-health-checking](https://github.com/kubernetes/kubernetes/blob/b2c5bd2a278288b5ef19e25bf7413ecb872577a4/test/images/agnhost/README.md#grpc-health-checking) 모듈을 가지고 있다. 하나는 상태 확인 서비스를 제공하고 다른 하나는 `make-serving``make-not-serving` 명령에 반응하는 http 포트다.
84+
85+
다음은 파드 정의의 예시이다. 이 예시는 `grpc-health-checking` 모듈을 시작하고, 포트 `5000``8080`을 노출하며, gRPC 준비성 프로브를 구성한다.
86+
87+
``` yaml
88+
---
89+
apiVersion: v1
90+
kind: Pod
91+
metadata:
92+
name: test-grpc
93+
spec:
94+
containers:
95+
- name: agnhost
96+
image: k8s.gcr.io/e2e-test-images/agnhost:2.35
97+
command: ["/agnhost", "grpc-health-checking"]
98+
ports:
99+
- containerPort: 5000
100+
- containerPort: 8080
101+
readinessProbe:
102+
grpc:
103+
port: 5000
104+
```
105+
106+
`test.yaml`이라는 파일이 있으면, 파드를 생성하고 상태를 확인할 수 있다. 파드는 아래 출력 스니펫(snippet)에 표시된 대로 준비(ready) 상태가 된다.
107+
108+
```shell
109+
kubectl apply -f test.yaml
110+
kubectl describe test-grpc
111+
```
112+
113+
출력에는 다음과 같은 내용이 포함된다.
114+
115+
```
116+
Conditions:
117+
Type Status
118+
Initialized True
119+
Ready True
120+
ContainersReady True
121+
PodScheduled True
122+
```
123+
124+
이제 상태 확인 엔드포인트 상태를 NOT_SERVING으로 변경해 보겠다.
125+
파드의 http 포트를 호출하기 위해 포트 포워드를 생성한다.
126+
127+
```shell
128+
kubectl port-forward test-grpc 8080:8080
129+
```
130+
131+
명령을 호출하기 위해 `curl`을 사용할 수 있다 ...
132+
133+
```shell
134+
curl http://localhost:8080/make-not-serving
135+
```
136+
137+
... 그리고 몇 초 후에 포트 상태가 준비되지 않음으로 전환된다.
138+
139+
```shell
140+
kubectl describe pod test-grpc
141+
```
142+
143+
이제 다음과 같은 출력을 확인할 수 있을 것이다.
144+
145+
```
146+
Conditions:
147+
Type Status
148+
Initialized True
149+
Ready False
150+
ContainersReady False
151+
PodScheduled True
152+
...
153+
Warning Unhealthy 2s (x6 over 42s) kubelet Readiness probe failed: service unhealthy (responded with "NOT_SERVING")
154+
```
155+
156+
다시 전환되면, 약 1초 후에 파드가 준비(ready) 상태로 돌아간다.
157+
158+
``` bsh
159+
curl http://localhost:8080/make-serving
160+
kubectl describe test-grpc
161+
```
162+
163+
아래 출력은 파드가 다시 `Ready` 상태로 돌아갔다는 것을 나타낸다.
164+
165+
```
166+
Conditions:
167+
Type Status
168+
Initialized True
169+
Ready True
170+
ContainersReady True
171+
PodScheduled True
172+
```
173+
174+
쿠버네티스에 내장된 이 새로운 gRPC 상태 프로브를 사용하면 별도의 `exec` 프로브를 사용하는 이전 접근 방식보다 gRPC를 통한 상태 확인을 훨씬 쉽게 구현할 수 있다. 더 자세한 내용 파악을 위해 공식 [문서](/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-a-grpc-liveness-probe)를 자세히 살펴보고, 기능이 GA로 승격되기 전에 피드백을 제공하길 바란다.
175+
176+
## 요약
177+
178+
쿠버네티스는 인기 있는 워크로드 오케스트레이션 플랫폼이며 피드백과 수요를 기반으로 기능을 추가한다.
179+
gRPC 프로브 지원과 같은 기능은 많은 앱 개발자의 삶을 더 쉽게 만들고 앱을 더 탄력적으로 만들 수 있는 마이너한 개선이다. 오늘 기능을 사용해보고 기능이 GA로 전환되기 전에 오늘 사용해 보고 피드백을 제공해보자.

content/ko/community/code-of-conduct.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ community_styles_migrated: true
88
<div class="community-section" id="cncf-code-of-conduct-intro">
99
<p>
1010
쿠버네티스는
11-
<a href="https://github.com/cncf/foundation/blob/master/code-of-conduct.md">CNCF의 행동 강령</a>을 따르고 있습니다.
12-
<a href="https://github.com/cncf/foundation/blob/214585e24aab747fb85c2ea44fbf4a2442e30de6/code-of-conduct.md">커밋 214585e</a>
11+
<a href="https://github.com/cncf/foundation/blob/main/code-of-conduct.md">CNCF의 행동 강령</a>을 따르고 있습니다.
12+
<a href="https://github.com/cncf/foundation/blob/71b12a2f8b4589788ef2d69b351a3d035c68d927/code-of-conduct.md">커밋 71b12a2</a>
1313
에 따라 CNCF 행동 강령의 내용이 아래에 복제됩니다.
1414
만약 최신 버전이 아닌 경우에는
1515
<a href="https://github.com/kubernetes/website/issues/new">이슈를 제기해 주세요</a>.
Lines changed: 40 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,42 @@
11
<!-- Do not edit this file directly. Get the latest from
2-
https://github.com/cncf/foundation/blob/master/code-of-conduct.md -->
3-
## CNCF 커뮤니티 행동 강령 v1.0
2+
https://github.com/cncf/foundation/blob/main/code-of-conduct.md -->
3+
## CNCF 커뮤니티 행동 강령 v1.1
44

55
### 기여자 행동 강령
66

7-
본 프로젝트의 기여자 및 메인테이너(maintainer)로서 개방적이고 친근한 분위기의
7+
CNCF 커뮤니티의 기여자 및 메인테이너(maintainer)로서 개방적이고 친근한 분위기의
88
커뮤니티 조성을 위하여, 이슈 보고, 기능 요청, 문서 업데이트,
99
풀 리퀘스트(pull request) 또는 패치 제출, 그리고 기타 다른 활동으로 기여하는
1010
모든 분들을 존중할 것을 약속합니다.
1111

1212
우리는 경험의 수준, 성별, 성 정체성 및 표현(gender identity and expression),
1313
성적 지향, 장애, 외양, 신체 크기, 인종, 민족, 나이, 종교,
14-
또는 국적에 상관 없이 모두가 차별 없는 환경에서 본 프로젝트에
14+
또는 국적에 상관 없이 모두가 차별 없는 환경에서 CNCF 커뮤니티에
1515
참여할 수 있도록 최선을 다하고 있습니다.
1616

17+
## 범위
18+
본 행동 강령은 프로젝트 활동 영역 내에서뿐만 아니라 개인이 프로젝트 또는 커뮤니티를 대변하는 공공의 활동 영역에서도 적용됩니다.
19+
20+
## CNCF 이벤트
21+
CNCF 이벤트, 혹은 리눅스 재단에서 이벤트 전문 직원과 운영하는 이벤트는 이벤트 페이지에 명시된 Linux Foundation [이벤트 행동 강령](https://events.linuxfoundation.org/code-of-conduct)에 의거하여 운영됩니다. 해당 행동 강령은 CNCF의 행동 강령과 함께 사용하도록 고안되었습니다.
22+
23+
## 우리의 원칙
24+
25+
긍정적인 환경을 조성하는 행위는 다음과 같습니다.
26+
* 타인에게 친절과 공감 실천
27+
* 타인의 의견, 관점, 그리고 경험에 대한 포용
28+
* 건설적 피드백에 대한 수용
29+
* 실수에 대한 책임과 사과, 그리고 경험을 통한 배움
30+
* 개인의 최선이 아닌 커뮤니티 전반의 선을 위한 노력
31+
32+
1733
참여자에게 금지하는 행위의 예시는 다음과 같습니다.
1834

19-
- 성적인 언어 또는 이미지 사용
20-
- 인신 공격
21-
- 도발적이거나 모욕/경멸적인 코멘트
22-
- 공개적이거나 사적인 괴롭힘
23-
- 타인의 주소 및 전자주소와 같은 개인 정보의
24-
동의 없는 공개
25-
- 기타 비윤리적이거나 비전문적인 행동
35+
* 성적인 언어 또는 이미지 사용, 혹은 그 외 성적으로 부적절한 행동
36+
* 선동적, 모욕적, 경멸적 언사, 그리고 개인적 혹은 정치적 공격
37+
* 공개적이거나 사적인 괴롭힘
38+
* 타인의 주소 및 전자주소와 같은 개인 정보의 동의 없는 공개
39+
* 기타 비윤리적이거나 비전문적인 행동
2640

2741
프로젝트 메인테이너에게는 본 행동 강령을 위반하는 코멘트, 커밋(commit),
2842
코드, 위키(wiki) 수정, 이슈, 그리고 그 밖의 기여에 대해서 삭제, 수정,
@@ -31,15 +45,22 @@
3145
행동 강령을 준수하지 않거나 시행하지 않는 프로젝트 메인테이너는 프로젝트 팀에서
3246
영구적으로 제적될 수 있습니다.
3347

34-
본 행동 강령은 프로젝트 활동 영역 내에서 뿐만 아니라 개인이 프로젝트
35-
또는 커뮤니티를 대변하는 공공의 활동 영역에서도 적용됩니다.
48+
## 신고
49+
쿠버네티스 커뮤니티에서 발생하는 사건들은 [쿠버네티스 행동 강령 위원회](https://git.k8s.io/community/committee-code-of-conduct)에 이메일 <[email protected]>를 통해 신고할 수 있습니다. 신고시 3일 내 회신을 받을 수 있습니다.
50+
51+
기타 다른 프로젝트에 관해서는 CNCF 직원에게 이메일 <[email protected]>으로 문의하십시오.
52+
53+
CNCF는 외부 중재자로 Mishi Choudhary <[email protected]>를 두고 있습니다. 외부 중재자는 CNCF 직원의 안내에 따라 의뢰 가능합니다. 보통의 경우 <[email protected]>로 직접 연락하는 것을 추천합니다.
54+
55+
쿠버네티스(Kubernetes)에서의 폭력, 학대 또는 기타 허용되지 않는 행위는 [쿠버네티스 행동 강령 위원회](https://git.k8s.io/community/committee-code-of-conduct)에 이메일 <[email protected]>를 통해 신고할 수 있습니다. 다른 프로젝트의 경우는 CNCF 프로젝트 메인테이너 또는 중재자인 Mishi Choudhary의 이메일 <[email protected]>으로 문의하십시오.
3656

37-
쿠버네티스(Kubernetes)에서의 폭력, 학대 또는 기타 허용되지 않는 행위는 [쿠버네티스 행동 강령 위원회](https://git.k8s.io/community/committee-code-of-conduct)에 이메일 <[email protected]>를 통해 신고할 수 있습니다. 다른 프로젝트의 경우는 CNCF 프로젝트 메인테이너 또는 중재자인 Mishi Choudhary의 이메일 <[email protected]>으로 문의해 주시기 바랍니다.
57+
## 집행
58+
쿠버네티 프로젝트의 [행동 강령 위원회](https://github.com/kubernetes/community/tree/master/committee-code-of-conduct)가 행동 강령 발행을 시행합니다. 기타 프로젝트에 관하여는 CNCF가 행동강력 발행을 시행합니다.
3859

39-
본 행동 강령은 기여자 서약 (https://contributor-covenant.org) 에서
40-
제공하는 버전 1.2.0을 적용하였으며, 해당 내용은
41-
https://contributor-covenant.org/version/1/2/0/ 에서 확인할 수 있습니다.
60+
양 기관은 처벌 없는 문제 해결을 추구합니다. 하지만 CNCF의 재량에 따라 회원 혹은 프로젝트를 퇴출시킬 수 있습니다.
4261

43-
### CNCF 이벤트 행동 강령
62+
### 확인
4463

45-
CNCF 이벤트는 리눅스 재단의 이벤트 페이지에서 볼 수 있는 [행동 강령](https://events.linuxfoundation.org/code-of-conduct/)을 준수합니다. 이 행동 강령은 위의 정책과 호환되도록 설계되었으며, 사고 대응에 대한 세부 내용도 포함하고 있습니다.
64+
본 행동 강령은 기여자 서약(https://contributor-covenant.org)에서
65+
제공하는 버전 2.0을 적용하였으며, 해당 내용은
66+
https://contributor-covenant.org/version/2/0/code_of_conduct/ 에서 확인할 수 있습니다.

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ weight: 40
88

99
{{< feature-state state="beta" for_k8s_version="v1.11" >}}
1010

11-
클라우드 인프라스트럭쳐 기술을 통해 퍼블릭, 프라이빗 그리고 하이브리드 클라우드에서 쿠버네티스를 실행할 수 있다.
12-
쿠버네티스는 컴포넌트간의 긴밀한 결합 없이 자동화된 API 기반의 인프라스트럭쳐를
11+
클라우드 인프라스트럭처 기술을 통해 퍼블릭, 프라이빗 그리고 하이브리드 클라우드에서 쿠버네티스를 실행할 수 있다.
12+
쿠버네티스는 컴포넌트간의 긴밀한 결합 없이 자동화된 API 기반의 인프라스트럭처를
1313
신뢰한다.
1414

1515
{{< glossary_definition term_id="cloud-controller-manager" length="all" prepend="클라우드 컨트롤러 매니저는">}}

0 commit comments

Comments
 (0)