我尝试通过client-go使用LabelSelector删除我的作业:
cli.BatchV1().Jobs("default").Delete(context.TODO(), name, metav1.DeleteOptions{})
作业删除成功,但其Pod没有删除!如果我通过kubectl删除此作业,它创建的pod将自动删除。我如何通过client-go简单地删除其Pod中的作业?
kubectl
client-go
zbsbpyhn1#
您需要将DeleteOptions中的PropagationPolicy字段设置为Background。这样可以确保删除Job及其子Pod。
DeleteOptions
PropagationPolicy
Background
import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" //... backgroundDeletion := metav1.DeletePropagationBackground err := cli.BatchV1() .Jobs("default") .Delete(context.TODO(), name, metav1.DeleteOptions{ PropagationPolicy: &backgroundDeletion, })
1条答案
按热度按时间zbsbpyhn1#
您需要将
DeleteOptions
中的PropagationPolicy
字段设置为Background
。这样可以确保删除Job及其子Pod。