Workload Types

除了通过 Applications 模块创建云原生应用外,也可以直接在 Container Platform > Workloads 中创建工作负载:

  • Deployment:最常用的工作负载控制器,用于部署无状态应用。它确保指定数量的 Pod 副本在运行,支持滚动更新和回滚,适合无状态服务如 Web 服务器和 API。

  • DaemonSet:确保 Pod 在集群中的每个节点(或特定节点)上运行。当节点加入时自动创建 Pod,节点离开时自动删除 Pod。适合节点级任务,如日志代理和监控守护进程。

  • StatefulSet:用于管理有状态应用的工作负载控制器。为每个 Pod 提供稳定的网络身份(主机名)和持久存储,确保即使在重新调度时数据也保持一致。适用于数据库、分布式缓存及其他有状态服务。

  • CronJob:使用 cron 表达式管理基于时间的 Job。系统会在预定时间间隔自动创建 Job,适合周期性任务,如备份、报表生成和清理作业。

  • Job:用于运行有限任务的工作负载。它创建一个或多个 Pod,并确保指定数量的成功完成后终止。适合批处理、数据迁移及其他一次性操作。

除了通过 Web 控制台创建工作负载外,Kubernetes 还支持通过 CLI 工具直接管理更底层的资源:

  • Pod:Kubernetes 中最小的可部署单元。Pod 可以包含一个或多个紧密耦合的容器,共享存储、网络和生命周期。Pod 通常由更高级别的控制器(如 Deployments)管理。
  • Container:封装应用代码和依赖的标准化单元,确保跨环境一致执行。容器运行在 Pod 内,共享 Pod 的资源。