davidzollo commented on issue #16478: URL: https://github.com/apache/dolphinscheduler/issues/16478#issuecomment-2371203030
My suggestion is that using a single pod with a single container, this scenario is suitable for rapid testing and development. And to concern, my response are as follows, `1. How is the name of the Pod defined? How can different workflows in the same namespace ensure that Pod names do not duplicate?` Pod names must be unique within the same namespace in Kubernetes. DS can generate unique names programmatically using Kubernetes Java Client API by appending identifiers like workflow name, task ID, and timestamp or uuid, this is not difficult. `2. How is the Pod lifecycle managed? Will DS delete it after the task ends? How to ensure that DS can definitely delete it?` DS can control the creation and deletion of Pods. After task completion through API, DS can use the deleteNamespacedPod method to delete the pods, retry mechanisms or manual cleanup calls can be used. `3. How are Pods handled if the workflow execution strategy is parallel?` For parallel execution, DS can create multiple Pods simultaneously. Each Pod runs independently, managed by unique configurations and labels. Each task can create its own Pod, ensuring resource separation and independent execution. `4. If multiple Pods are created simultaneously, are these Pods related, or do they just run concurrently? Does it support Deployments and StatefulSets? Should DS manage it as a controller of Kubernetes resources?` Multiple Pods created for parallel tasks are independent of each other. DS manages these Pods individually using the Kubernetes API rather than as a controller. For more complex scenarios like continuously running services (Deployments) StatefulSets, it is recommended to let Kubernetes native controllers manage these resources instead of DS, DS focuses on task scheduling. `5. Does DS support tasks for creating Helm Charts?` DS doesn’t natively include task types for directly deploying Helm Charts. `6. How to retrieve the logs of a Pod? How to retrieve logs of multiple Pods? If a Pod contains multiple containers, how to retrieve the logs of multiple containers?` DS can retrieve logs by calling the API of K8s. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
