Debug Pod 생성하기

Debug Pod 필요성

모델을 배포하고 나서, 모델이 잘 동작하는지 확인해야 하는 등 모델 학습을 직접 실행할 수 있는 Debug Pod를 만들어보았다.

가장 큰 이유는 처음부터 완벽하게 코드를 짜는것이 아니면 계속 training job을 실행하고, 로그를 확인해야하는 불편함이 있어서다.

Debug Pod 생성

우선 Debug-pod 레포지토리를 클론한다.

git clone https://github.com/sodyn99/aimlfw-debugging.git Debugging

그리고 config/debug-pod-template.yaml 파일의 토큰을 수정해준다.

  env:
  - name: INFLUXDB_HOST
    value: "my-release-influxdb.default"
  - name: INFLUXDB_PORT
    value: "8086"
  - name: INFLUXDB_TOKEN
    value: "sPEfOtervRYoveYcQiMO"
./deploy.sh

로 Debug Pod를 생성해준다. 생성된 파드는 debug-pod 라는 이름으로 생성되며 Role binding 설정도 같이 진행되는데, Debug Pod만 띄우고 싶으면 -p 옵션을 추가해주자.

다음으로 실행하고자 하는 .py 또는 .ipynb 파일을 Debugging/src 에 생성해준다.

Debug Pod 실행

vscode를 이용하려면 우선 포트포워딩을 해주고

kubectl port-forward pod/debug-pod 10000:10000

http://localhost:10000 에 접속하여 vscode를 실행한다.

또는

./debug.sh -f <PYTHON_FILE>

로 파드에 접속하지 않고 바로 .py 파일을 실행할 수 있다.

파일 자동완성 기능을 사용하려면

./auto_completion.sh

를 실행해주면 된다.

Usecase: UAV Path Prediction
Gerrit Review