2017-12-06 22 views
0

Kubernetes 작업을 실행 한 다음 작업 완료시 작업 컨테이너가 실행되는 포드를 삭제하려고합니다. Kubernetes documentation says 포드를 삭제하는 것은 사용자의 책임입니다.Kubernetes 작업이 완료된 후 포드를 삭제하는 가장 좋은 방법은 무엇입니까

그러나 내 목표는 큰 고자 주머니를 회전하고 작업을 실행하고 작업 완료시 자동으로 포드를 핵으로 만들어 CPU 집약적 인 작업을 실행하는 것입니다. 내 생각에 수익을 창출하는 직업이 실행될 때 값 비싼 자원 집약적 인 대가를 지불하는 것이 가치가 있습니다. 일단 일이 끝나면 수입 흐름이 끝나고 비용을 줄여야하므로 포드에 신경을 써야합니다.

저는 작업 컨테이너에 코드를 작성하여 프로그램 완료시 구독자가 선택하는 게시자에게 보낼 것을 고려하고 있습니다. 구독자는 kubectl delete jobs/myContainer 명령을 실행하여 창을 누크 (nuke)하도록합니다.

그러나 더 좋은 방법이있을 수 있습니다. 그래서 나는 묻는다.

미리 감사드립니다.

+0

2 가지 : 1,이 질문은 이전에 요청되었습니다 ([관련 칼럼의 링크] (https://stackoverflow.com/questions/36384873/kubernetes-job-cleanup?rq=1). 유일한 하나), 그리고 2, 모든 포드는 ServiceAccount를 가지고 있으므로 깨끗하게 종료했다고 느낀다면 스스로 삭제할 수 있습니다 –

+0

@MatthewLDaniel 감사합니다. 질문을하기 전에 더 나은 연구를하는 데 더 세심한주의를 기울일 것입니다. – reselbob

답변

1

왜 포드를 삭제해야합니까? 작업이 성공적으로 완료되면 (종료 코드 0) 포드가 완료되고 더 이상 CPU/메모리가 소모되지 않으므로 필요한 경우 가비지 수집해야합니다.

+0

감사합니다, Radek. 문서에서 포드 (Pod)가 GC의 대상이되는지는 분명하지 않습니다. 문서에서 : _ 작업이 완료되면 더 이상 포드는 생성되지 않지만 포드는 삭제되지 않습니다. 종료되었으므로 kubectl 가져 오기 창과 함께 나타나지 않지만 kubectl get pods -a와 함께 표시됩니다. "_ (https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run) -to-completion/# job-termination-and-cleanup minikube에서 로컬 개념 증명을 실행했을 때 포드가 계속 유지되는 것을 보았습니다 .GC에서 정리 기간을 알고 있는지 궁금합니다. – reselbob