Skip to content

Commit 08f9b5e

Browse files
committed
Translate tasks/debug-application-cluster/local-debugging.md in Korean
1 parent a516999 commit 08f9b5e

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
title: 로컬에서 텔레프레즌스를 이용한 서비스 개발 및 디버깅
3+
content_type: task
4+
---
5+
6+
<!-- overview -->
7+
8+
{{% thirdparty-content %}}
9+
10+
쿠버네티스 애플리케이션은 일반적으로 각각 자체 컨테이너에서 실행되는 여러 개의 개별 서비스로 구성된다. 원격 쿠버네티스 클러스터 상에서 이러한 서비스를 개발하고 디버깅하려면 디버깅 도구를 실행하기 위해 [동작 중인 컨테이너의 셸(shell)에 접근](/ko/docs/tasks/debug/debug-application/get-shell-running-container/)해야 하기 때문에 번거로울 수 있다.
11+
12+
`텔레프레즌스(telepresence)`는 원격 쿠버네티스 클러스터로 서비스를 프록시하면서 로컬에서 서비스를 개발 및 디버깅하는 과정을 용이하게 하는 도구이다. `텔레프레즌스`를 사용하면 로컬 서비스에 디버거 및 IDE와 같은 사용자 지정 도구를 사용할 수 있고 원격 클러스터에서 실행되는 컨피그맵(ConfigMap), 시크릿(Secret) 및 서비스(Service)에 대한 전체 접근 권한을 서비스에 제공할 수 있다.
13+
14+
이 문서는 `텔레프레즌스`를 사용하여 원격 클러스터에서 실행 중인 서비스를 로컬로 개발하고 디버그하는 방법을 설명한다.
15+
16+
## {{% heading "prerequisites" %}}
17+
18+
* 쿠버네티스 클러스터가 설치되어 있어야 한다.
19+
* `kubectl`은 클러스터와 통신하도록 구성되어 있어야 한다.
20+
* [텔레프레즌스](https://www.telepresence.io/reference/install)가 설치되어 있어야 한다.
21+
22+
23+
<!-- steps -->
24+
25+
## 로컬 머신을 원격 쿠버네티스 클러스터에 연결
26+
27+
`텔레프레즌스`를 설치한 후 `텔레프레즌스 커넥트(telepresence connect)`를 실행하여 데몬을 실행하고 로컬 워크스테이션을 클러스터에 연결한다.
28+
29+
```
30+
$ telepresence connect
31+
32+
Launching Telepresence Daemon
33+
...
34+
Connected to context default (https://<cluster public IP>)
35+
```
36+
37+
쿠버네티스 구문을 사용하여 서비스에 curl이 가능하다. 예, `curl -ik https://kubernetes.default`
38+
39+
## 기존 서비스 개발 또는 디버깅
40+
41+
쿠버네티스에서 애플리케이션을 개발할 때 일반적으로 단일 서비스를 프로그래밍하거나 디버그한다. 서비스를 테스트 및 디버깅하기 위해 다른 서비스에 접근이 필요할 수 있다. 지속적 배포(continuous deployment) 파이프라인을 사용하는 것도 한 가지 옵션이지만, 가장 빠른 배포 파이프라인이라도 프로그래밍 또는 디버그 주기에 지연이 발생할 수 있다.
42+
43+
`telepresence intercept $SERVICE_NAME --port $LOCAL_PORT:$REMOTE_PORT` 명령을 사용하여 원격 서비스 트래픽을 다시 라우팅하기 위한 "인터셉트(intercept)"를 생성한다.
44+
45+
아래의 각 항목에 대한 설명을 참고한다.
46+
47+
- `$SERVICE_NAME`은 로컬 서비스의 이름이다.
48+
- `$LOCAL_PORT`는 서비스가 로컬 워크스테이션에서 실행 중인 포트이다.
49+
- `$REMOTE_PORT`는 서비스가 클러스터에서 수신하는 포트이다.
50+
51+
이 명령을 실행하면 원격 쿠버네티스 클러스터의 서비스 대신 로컬 서비스에 원격 트래픽을 보내도록 텔레프레즌스에 지시한다. 서비스 소스 코드를 로컬에서 편집하고 저장하여 원격 애플리케이션에 접근할 때 해당 변경 사항이 즉시 적용되는지 확인한다. 디버거 또는 기타 로컬 개발 도구를 사용하여 로컬 서비스를 실행할 수도 있다.
52+
53+
## 텔레프레즌스는 어떻게 작동하는가?
54+
55+
Telepresence는 원격 클러스터에서 실행 중인 기존 애플리케이션의 컨테이너 옆에 트래픽 에이전트 사이드카(sidecar)를 설치한다. 그런 다음 파드로 들어오는 모든 트래픽 요청을 캡처하고, 이를 원격 클러스터의 애플리케이션에 전달하는 대신, 모든 트래픽([글로벌 인터셉트](https://www.getambassador.io/docs/telepresence/latest/concepts/intercepts/#global-intercept)를 생성하는 경우) 또는 일부 트래픽([개인 인터셉트](https://www.getambassador.io/docs/telepresence/latest/concepts/intercepts/#personal-intercept)를 생성하는 경우)을 로컬 개발 환경으로 라우팅한다.
56+
57+
## {{% heading "whatsnext" %}}
58+
59+
핸즈온 튜토리얼에 관심이 있다면 구글 쿠버네티스 엔진 상의 방명록 애플리케이션을 로컬로 개발하는 과정을 안내하는 [이 튜토리얼](https://cloud.google.com/community/tutorials/developing-services-with-k8s)을 확인한다.
60+
61+
자세한 내용은 [텔레프레즌스 웹사이트](https://www.telepresence.io)를 참조한다.

0 commit comments

Comments
 (0)