Workload Types

In addition to creating native applications and component applications, workloads can also be directly created in Container Platform > Computing Components:

  • Deployment: The most commonly used workload controller for deploying stateless applications. It can ensure that a specified number of Pod replicas are running in the cluster, supporting rolling updates and rollbacks, suitable for stateless application scenarios such as web services and API services.

  • DaemonSet: Ensures that each node in the cluster (or specific nodes) runs a Pod replica. When a node joins the cluster, the Pod is automatically created; when a node is removed from the cluster, those Pods are also reclaimed. Suitable for scenarios requiring logging, monitoring, etc., to run on each node.

  • StatefulSet: A workload controller for managing stateful applications. It maintains a fixed identity for each Pod and provides stable storage and network identity, which remains unchanged even if the Pod is rescheduled. Suitable for stateful applications such as databases and distributed caches.

  • Job: A workload for running one-time tasks. A Job creates one or more Pods and ensures that the specified number of Pods successfully complete the task before terminating. It is suitable for batch processing, data migration, and other one-time task scenarios.

  • CronJob: Used to manage Jobs scheduled to run based on time. You can set the time expression for task execution, and the system will automatically create and run the Job at the scheduled time. Suitable for periodic tasks such as data backup, report generation, and periodic cleaning.

In addition to creating the above computing components through the platform's form page, the platform also supports creating Pods and Containers through CLI tools:

  • Pod: The smallest deployable unit in Kubernetes, a Pod can contain one or more containers that share storage, network, and configuration declarations. Pods are typically managed by controllers (such as Deployments).
  • Container: A standard software unit that packages the code and all dependencies, allowing applications to run quickly and reliably across different computing environments. Containers run inside Pods and share the Pod's resources.