모델을 배포하고 나서, 모델이 잘 동작하는지 확인해야 하는 등 모델 학습을 직접 실행할 수 있는 Debug Pod를 만들어보았다.
가장 큰 이유는 처음부터 완벽하게 코드를 짜는것이 아니면 계속 training job을 실행하고, 로그를 확인해야하는 불편함이 있어서다.
우선 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
에 생성해준다.
vscode를 이용하려면 우선 포트포워딩을 해주고
kubectl port-forward pod/debug-pod 10000:10000
http://localhost:10000 에 접속하여 vscode를 실행한다.
또는
./debug.sh -f <PYTHON_FILE>
로 파드에 접속하지 않고 바로 .py
파일을 실행할 수 있다.
파일 자동완성 기능을 사용하려면
./auto_completion.sh
를 실행해주면 된다.