다음을 통해 공유


AKS를 사용하여 Bridge to Kubernetes 사용

메모

Bridge to Kubernetes는 2025년 4월 30일에 사용 중지됩니다. 사용 중지 및 오픈 소스 대안에 대한 자세한 내용은 GitHub문제를 참조하세요.

이 자습서에서는 특정 AKS 샘플 마이크로 서비스 웹앱을 사용하여 BRIDGE to Kubernetes를 사용하여 AKS(Azure Kubernetes Service) 클러스터의 일부인 단일 Pod에서 로컬로 디버그하는 방법을 알아봅니다.

시작하기 전에

이 가이드에서는 Todo 앱 샘플 애플리케이션을 사용하여 AKS에서 실행되는 Kubernetes 클러스터에 개발 컴퓨터를 연결하는 방법을 보여 줍니다. Kubernetes 클러스터에서 자체 애플리케이션을 이미 실행 중인 경우 Kubernetes사용하여 개발하세요. 다른 클러스터를 사용하는 경우, 예를 들어 로컬에서 실행되는 MiniKube를 사용할 경우, 샘플 로 Bridge to Kubernetes를 사용하는 방법에 대한 내용은을 참조하세요.

필수 구성 요소

Kubernetes 클러스터 만들기

로 지원되는 지역에서 AKS 클러스터를 만드세요. 다음 명령은 MyResourceGroup 이라는 리소스 그룹과 MyAKS라는 AKS 클러스터를 만듭니다.

az group create \
    --name MyResourceGroup \
        --location eastus
az aks create \
    --resource-group MyResourceGroup \
    --name MyAKS \
    --location eastus \
    --node-count 3 \
    --generate-ssh-keys

샘플 애플리케이션 설치

코드 다운로드 및 종속성 설치

git clone https://github.com/hsubramanianaks/b2k-samples
cd b2k-samples/todo-app
npm install stats-api\

클러스터에 연결하고 앱 배포

개발 컴퓨터에서 az aks get-credentials사용하여 Kubernetes 클러스터에 연결하도록 Kubernetes CLI를 다운로드하고 구성합니다.

az aks get-credentials --resource-group MyResourceGroup --name MyAKS
kubectl create namespace todo-app
kubectl config set-context --current --namespace=todo-app
kubectl apply -f deployment.yaml --namespace todo-app

앱 사용해 보기

이전에 사용하던 동일한 터미널에서 다음 명령을 실행하고 외부 IP 열 아래에 프런트 엔드 서비스에 대한 IP를 복사합니다.

kubectl get services

앱을 사용해 보려면 url을 엽니다. {your external IP from above command goes here}.nip.io

stats-api 서비스 디버그

이전에 사용하던 동일한 터미널에서 다음 명령을 입력하여 VS Code에서 stats-api를 엽니다.

code ./stats-api

먼저 server.js줄 17에 중단점을 배치합니다.

그런 다음, todo-app 클러스터의 MyAKS 네임스페이스가 기본값으로 설정되어 있는지 확인합니다(옆에 *가 있는 경우). 기본값으로 설정되지 않은 경우 todo-app 노드를 마우스 오른쪽 단추로 클릭하고 네임스페이스사용을 선택합니다.

Bridge to Kubernetes 네임스페이스를 보여 주는 스크린샷

다음으로 브리지를 구성합니다. 명령 팔레트(Ctrl+Shift+P 또는 mac의 Cmd+Shift+P)를 열고 Bridge to Kubernetes를 입력합니다. Bridge to Kubernetes: 구성 옵션을 선택합니다.

Bridge to Kubernetes 구성 명령 창을 보여 주는 스크린샷

바꿀 서비스, 개발 컴퓨터에서 전달할 포트 및 사용할 시작 작업을 구성하라는 메시지가 표시됩니다.

stats-api 서비스를 선택합니다.

창에 연결할 서비스 선택을 보여 주는 스크린샷

중요하다

하나의 포드가 있는 서비스만 리디렉션할 수 있습니다.

서비스를 선택하면 로컬 애플리케이션에 대한 TCP 포트를 입력하라는 메시지가 표시됩니다. 이 예제에서는 3001을 입력합니다.

포트 번호 입력 창을 보여 주는 스크린샷

실행 스크립트 : dev을 시작 작업으로 선택합니다.

디버거 시작 작업 창 선택을 보여 주는 스크린샷

격리되거나 격리되지 않은 실행 옵션이 있습니다. 격리를 실행하는 경우 요청만 로컬 프로세스로 라우팅됩니다. 다른 개발자는 영향을 받지 않고 클러스터를 사용할 수 있습니다. 격리 모드로 실행하지 않으면 모든 트래픽이 로컬 프로세스로 리디렉션됩니다. 이 옵션에 대한 자세한 내용은 격리개발을 위한 라우팅 기능 사용을 참조하세요. 이 예제에서는 격리되지 않은 작업을 진행합니다. 격리를 선택한 경우 task.json 요청을 컴퓨터로 라우팅하는 데 사용해야 하는 접두사를 가지고 있습니다.

격리 옵션 선택 창을 보여 주는 스크린샷

메모

이후 시작 시 이 설정을 거치지 않고 서비스 이름, 포트, 시작 작업 또는 격리된 실행 여부를 묻는 메시지가 표시되지 않고 디버그 아이콘을 클릭합니다. 이러한 값은 .vscode/tasks.json에 저장됩니다. 나중에 이러한 설정을 변경하려면 명령 팔레트(Ctrl+Shift+P 또는 mac에서 Cmd+Shift+P)를 열고 Bridge to Kubernetes: configure명령을 실행합니다.

Bridge to Kubernetes 디버깅 프로필이 성공적으로 구성되었습니다.

디버깅을 시작하려면 왼쪽에서 디버그 아이콘을 선택하고 스크립트 실행: Kubernetes사용하여 개발 실행을 선택합니다. 스크립트 실행 옆에 있는 시작 단추를 클릭합니다. kubernetes를 사용하여 개발.

디버그 시작 프로필 선택 창을 보여 주는 스크린샷

메모

EndpointManager가 관리자 권한으로 실행되고 호스트 파일을 수정할 수 있도록 허용하라는 메시지가 표시됩니다.

VS Code 상태 표시줄이 주황색으로 바뀌고 Kubernetes 확장에 연결된 것으로 표시되면 개발 컴퓨터가 연결됩니다. 개발 컴퓨터가 연결되면, 대체 중인 stats-api에 대한 트래픽이 개발 컴퓨터로 리디렉션되기 시작합니다.

Bridge to Kubernetes 창을 사용하여 디버깅 선택을 보여 주는 스크린샷

{your external IP from get services command}.nip.io앞에서 찾은 외부 IP를 통해 애플리케이션의 프런트 엔드 진입점으로 이동합니다. 격리 모드를 선택한 경우 {your prefix - can be found in task.json}.{your external IP from get services command}.nip.io사용해야 합니다.

통계 링크를 선택하여 stats-api에 요청합니다.

실행 중인 웹 사이트 선택을 보여 주는 스크린샷 - 상태 링크를 선택합니다.

클러스터에서 처음 시작된 트래픽이 중단점이 트리거된 로컬 실행 버전(클러스터 외부)으로 리디렉션되었습니다.

재생 버튼을 눌러 요청이 완전히 투명하게 진행되도록 하십시오.

청소

디버거를 중지하면 클러스터에 대한 모든 변경 내용이 되돌려집니다. 격리 모드로 실행한 경우, 다음에 디버거를 신속하게 시작할 수 있도록 라우팅 관리자 Pod가 그대로 남아 있습니다.

향후 디버깅을 위해 AKS 클러스터를 켜두거나 다음 명령을 사용하여 삭제할 수 있습니다.

az aks delete --name MyAKS --resource-group MyResourceGroup

다음 단계

Bridge to Kubernetes 작동 방식 Bridge to Kubernetes에 대해 자세히 알아보세요.