안녕하세요.
Kubernetes에서는 "ttlSecondsAfterFinished"를 사용하여 완료되거나 실패한 Job을 자동으로 정리할 수 있지만, 기본적으로 모든 네임스페이스에 적용되는 전역 TTL 설정은 제공하지 않습니다. 클러스터 전체에 공통 정책을 적용하려면 Mutating Admission Webhook 또는 사용자 정의 컨트롤러를 사용하여 Job 생성 시 TTL을 자동으로 설정하십시오. 예를 들어, 24시간 후 정리하려면 "spec.ttlSecondsAfterFinished: 86400"을 적용하면 됩니다.
기존 Job은 "kubectl get jobs -A -o json"으로 확인하고, 필요한 Job에 "kubectl patch job <job-name> -n <namespace> --type=merge -p '{"spec":{"ttlSecondsAfterFinished":86400}}'"을 실행하여 정책을 적용할 수 있습니다. TTL이 만료된 Job은 패치 직후 삭제될 수 있으므로 먼저 필요한 로그와 데이터를 백업하십시오. 중요한 점은 Job TTL이 Kubernetes Job과 종속 Pod를 정리할 뿐, PVC, NFS 또는 공유 스토리지에 남아 있는 결과 파일은 삭제하지 않는다는 것입니다.
실제 파일을 자동 삭제하려면 별도의 CronJob이나 스토리지 수명 주기 정책을 구성하고, 파일이 더 이상 사용되지 않는지 확인해야 합니다. 적용 후에는 "kubectl get jobs -A"와 "kubectl get job <job-name> -n <namespace> -o yaml"로 리소스 상태와 TTL 설정을 검증하고, 실제 저장 공간도 확인하십시오. 자세한 내용은 "Kubernetes 공식 Job TTL 문서" (https://kubernetes.io/docs/concepts/workloads/controllers/ttlafterfinished/)를 참고하십시오.여기서 유용한 정보를 얻으셨기를 바랍니다. 이 내용이 문제에 대한 통찰을 얻는 데 도움이 되었다면 답변을 채택해 주시면 감사하겠습니다. 추가로 궁금한 점이 있으시면 언제든지 메시지를 남겨 주세요. 좋은 하루 보내세요!
HP.