From d941ca28683905a3779f8b433bc80e10cf1d4ce4 Mon Sep 17 00:00:00 2001 From: Qiming Teng Date: Sun, 15 Nov 2020 17:43:21 +0800 Subject: [PATCH] [zh] Resync concepts/workloads/_index.md --- content/zh/docs/concepts/workloads/_index.md | 113 +++++++++++++++++++ 1 file changed, 113 insertions(+) diff --git a/content/zh/docs/concepts/workloads/_index.md b/content/zh/docs/concepts/workloads/_index.md index 525fab9044..911e8e0343 100644 --- a/content/zh/docs/concepts/workloads/_index.md +++ b/content/zh/docs/concepts/workloads/_index.md @@ -3,3 +3,116 @@ title: "工作负载" weight: 50 description: 理解 Pods,Kubernetes 中可部署的最小计算对象,以及辅助它运行它们的高层抽象对象。 --- + + + +{{< glossary_definition term_id="workload" length="short" >}} + + +无论你的负载是单一组件还是由多个一同工作的组件构成,在 Kubernetes 中你 +可以在一组 [Pods](/zh/docs/concepts/workloads/pods) 中运行它。 +在 Kubernetes 中,Pod 代表的是集群上处于运行状态的一组 +{{< glossary_tooltip text="容器" term_id="container" >}}。 + +Pod 有确定的生命周期。例如,一旦某 Pod 在你的集群中运行,Pod 运行所在的 +{{< glossary_tooltip text="节点" term_id="node" >}} 出现致命错误时, +所有该节点上的 Pods 都会失败。Kubernetes 将这类失败视为最终状态: +即使节点后来恢复正常运行,你也需要创建新的 Pod。 + + +不过,为了让用户的日子略微好过一些,你并不需要直接管理每个 Pod。 +相反,你可以使用 _负载资源_ 来替你管理一组 Pods。 +这些资源配置 {{< glossary_tooltip term_id="controller" text="控制器" >}} +来确保合适类型的、处于运行状态的 Pod 个数是正确的,与你所指定的状态相一致。 + +这些工作负载资源包括: + + +* [Deployment](/zh/docs/concepts/workloads/controllers/deployment/) 和 + [ReplicaSet](/zh/docs/concepts/workloads/controllers/replicaset/) + (替换原来的资源 {{< glossary_tooltip text="ReplicationController" term_id="replication-controller" >}}); +* [StatefulSet](/zh/docs/concepts/workloads/controllers/statefulset/); +* 用来运行提供节点本地支撑设施(如存储驱动或网络插件)的 Pods 的 + [DaemonSet](/zh/docs/concepts/workloads/controllers/daemonset/); +* 用来执行运行到结束为止的 + [Job](/zh/docs/concepts/workloads/controllers/job/) 和 + [CronJob](/zh/docs/concepts/workloads/controllers/cron-jobs/)。 + + +你可能发现还有两种支撑概念很有用: + +* [垃圾收集](/zh/docs/concepts/workloads/controllers/garbage-collection/)机制负责在 + 对象的 _属主资源_ 被删除时在集群中清理这些对象。 +* [_结束后存在时间_ 控制器](/zh/docs/concepts/workloads/controllers/ttlafterfinished/) + 会在 Job 结束之后的指定时间间隔之后删除它们。 + +## {{% heading "whatsnext" %}} + + +除了阅读了解每类资源外,你还可以了解与这些资源相关的任务: + +* [使用 Deployment 运行一个无状态的应用](/zh/docs/tasks/run-application/run-stateless-application-deployment/) +* 以[单实例](/zh/docs/tasks/run-application/run-single-instance-stateful-application/) + 或者[多副本集合](/zh/docs/tasks/run-application/run-replicated-stateful-application/) + 的形式运行有状态的应用; +* [使用 CronJob 运行自动化的任务](/zh/docs/tasks/job/automated-tasks-with-cron-jobs/) + + +一旦你的应用处于运行状态,你就可能想要 +以[服务](/zh/docs/concepts/services-networking/service/) +使之在互联网上可访问;或者对于 Web 应用而言,使用 +[Ingress](/docs/concepts/services-networking/ingress) 资源将其暴露到互联网上。 +