secretflow / kuscia

Kuscia(Kubernetes-based Secure Collaborative InfrA) is a K8s-based privacy-preserving computing task orchestration framework.
https://www.secretflow.org.cn/docs/kuscia/latest/zh-Hans
Apache License 2.0
73 stars 52 forks source link

咨询Kuscia故障处理方式 #409

Closed RotaercAH closed 4 weeks ago

RotaercAH commented 2 months ago

Issue Type

Feature

Search for existing issues similar to yours

Yes

Kuscia Version

kuscia v0.10.0b0

Link to Relevant Documentation

No response

Question Details

我在测试Kuscia Pod出现故障时会对任务运行有何影响时发现,当Kuscia Pod因异常被重新拉起后,正在运行的任务也会失败。
这是意味着运行任务的Pod不是完全独立的吗?
任务运行方式是在K8S上通过RunK运行时将任务调度到K8S集群中运行。通过delete pod的方式模拟pod遇到故障重新拉起pod。
这与我只deployment了一个Kuscia Pod有关吗,如果我将Kuscia Pod的replicas设置为2,是否会解决该问题

(base) [root@tg-tee-1 ~]# kubectl get pod -n autonomy-alice -o wide
NAME                                          READY   STATUS    RESTARTS   AGE    IP               NODE                 NOMINATED NODE   READINESS GATES
kuscia-autonomy-alice-c798bfb4-jthzb          1/1     Running   0          6m6s   10.244.254.100   tg-tee-3.tg.mt.com   <none>           <none>
secretflow-task-20240829103558-single-psi-0   1/1     Running   0          6s     10.244.254.101   tg-tee-3.tg.mt.com   <none>           <none>
(base) [root@tg-tee-1 ~]# kubectl delete pod kuscia-autonomy-alice-c798bfb4-jthzb -n autonomy-alice
pod "kuscia-autonomy-alice-c798bfb4-jthzb" deleted
(base) [root@tg-tee-1 ~]# kubectl get pod -n autonomy-alice -o wide
NAME                                          READY   STATUS    RESTARTS   AGE   IP               NODE                 NOMINATED NODE   READINESS GATES
kuscia-autonomy-alice-c798bfb4-f9n5m          1/1     Running   0          20s   10.244.159.203   tg-tee-2.tg.mt.com   <none>           <none>
secretflow-task-20240829103558-single-psi-0   1/1     Running   0          47s   10.244.254.101   tg-tee-3.tg.mt.com   <none>           <none>

secretflow-task-20240829103558   4m16s       2m26s            2m26s               Failed
BrainWH commented 2 months ago

你好,运行任务的Pod不是完全独立的,Pod的生命周期和运行的任务紧密相关。根据你的需求,在delete pod以后,此时任务也执行失败了,此时需要重新启动任务。

RotaercAH commented 2 months ago

你好,运行任务的Pod不是完全独立的,Pod的生命周期和运行的任务紧密相关。根据你的需求,在delete pod以后,此时任务也执行失败了,此时需要重新启动任务。

我delete掉kuscia-autonomy-alice pod 也会影响secretflow-task 的pod运行吗? 那是否意味着如果我在创建 Deployment的时候如果启动多个(例如两个)kuscia-autonomy-alice pod就可以避免出现单点故障的问题。 具体来说,例如我启动了两个kuscia-autonomy-alice pod,然后启动了一个任务,任务在集群中拉起了一个secretflow-task pod。此时我delete掉其中一个kuscia-autonomy-alice pod,任务仍然可以在另一个没有被delete掉的kuscia-autonomy-alice pod的控制下完成。

RotaercAH commented 2 months ago

你好,运行任务的Pod不是完全独立的,Pod的生命周期和运行的任务紧密相关。根据你的需求,在delete pod以后,此时任务也执行失败了,此时需要重新启动任务。

经过测试发现即使启动了两个kuscia-autonomy-alice pod,delete掉发起任务的kuscia-autonomy-alice pod,任务还是会运行失败 通过设置多个pod replicas启动多个pod的目的是为了避免单点故障,有没有办法可以使得在有多个kuscia-autonomy-alice pod的条件下,即使kuscia-autonomy-alice pod挂掉一个,跑任务的secretflow-task pod仍然不受影响,可以把作业执行完成呢?

github-actions[bot] commented 1 month ago

Stale issue message. Please comment to remove stale tag. Otherwise this issue will be closed soon.