From 7d9c9c7aa2f24281238191014e1b88b79cdc4328 Mon Sep 17 00:00:00 2001 From: windsonsea Date: Wed, 6 Jul 2022 09:47:33 +0800 Subject: [PATCH] [zh-cn] Improve fine-parallel-processing-work-queue.md --- .../fine-parallel-processing-work-queue.md | 39 ++++++++++--------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/content/zh-cn/docs/tasks/job/fine-parallel-processing-work-queue.md b/content/zh-cn/docs/tasks/job/fine-parallel-processing-work-queue.md index 57a26100f6..7531220dc8 100644 --- a/content/zh-cn/docs/tasks/job/fine-parallel-processing-work-queue.md +++ b/content/zh-cn/docs/tasks/job/fine-parallel-processing-work-queue.md @@ -17,7 +17,7 @@ min-kubernetes-server-version: v1.8 In this example, we will run a Kubernetes Job with multiple parallel worker processes in a given pod. --> -在这个例子中,我们会运行一个Kubernetes Job,其中的 Pod 会运行多个并行工作进程。 +在这个例子中,我们会运行一个 Kubernetes Job,其中的 Pod 会运行多个并行工作进程。 -在这个例子中,当每个pod被创建时,它会从一个任务队列中获取一个工作单元,处理它,然后重复,直到到达队列的尾部。 +在这个例子中,当每个 Pod 被创建时,它会从一个任务队列中获取一个工作单元,处理它,然后重复,直到到达队列的尾部。 下面是这个示例的步骤概述: @@ -54,7 +54,7 @@ Here is an overview of the steps in this example: 1. **Start a Job that works on tasks from the queue**. The Job starts several pods. Each pod takes one task from the message queue, processes it, and repeats until the end of the queue is reached. --> -3. **启动一个 Job 对队列中的任务进行处理**。这个 Job 启动了若干个 Pod 。 +3. **启动一个 Job 对队列中的任务进行处理**。这个 Job 启动了若干个 Pod。 每个 Pod 从消息队列中取出一个工作任务,处理它,然后重复,直到到达队列的尾部。 ## {{% heading "prerequisites" %}} @@ -104,13 +104,15 @@ Start a temporary interactive pod for running the Redis CLI. --> ## 使用任务填充队列 -现在,让我们往队列里添加一些“任务”。在这个例子中,我们的任务是一些将被打印出来的字符串。 +现在,让我们往队列里添加一些 “任务”。在这个例子中,我们的任务是一些将被打印出来的字符串。 -启动一个临时的可交互的 pod 用于运行 Redis 命令行界面。 +启动一个临时的可交互的 Pod 用于运行 Redis 命令行界面。 ```shell kubectl run -i --tty temp --image redis --command "/bin/sh" ``` + +输出类似于: ``` Waiting for pod default/redis2-c7h78 to be running, status is Pending, pod ready: false Hit enter for command prompt @@ -119,7 +121,7 @@ Hit enter for command prompt -现在按回车键,启动 redis 命令行界面,然后创建一个存在若干个工作项的列表。 +现在按回车键,启动 Redis 命令行界面,然后创建一个存在若干个工作项的列表。 ```shell # redis-cli -h redis @@ -178,17 +180,17 @@ called rediswq.py ([Download](/examples/application/job/redis/rediswq.py)). --> ## 创建镜像 -现在我们已经准备好创建一个我们要运行的镜像 +现在我们已经准备好创建一个我们要运行的镜像。 -我们会使用一个带有 redis 客户端的 python 工作程序从消息队列中读出消息。 +我们会使用一个带有 Redis 客户端的 Python 工作程序从消息队列中读出消息。 -这里提供了一个简单的 Redis 工作队列客户端库,叫 rediswq.py ([下载](/examples/application/job/redis/rediswq.py))。 +这里提供了一个简单的 Redis 工作队列客户端库,名为 rediswq.py ([下载](/examples/application/job/redis/rediswq.py))。 -Job 中每个 Pod 内的 “工作程序” 使用工作队列客户端库获取工作。如下: +Job 中每个 Pod 内的 “工作程序” 使用工作队列客户端库获取工作。具体如下: {{< codenew language="python" file="application/job/redis/worker.py" >}} @@ -235,7 +237,7 @@ your app image with your project ID, and push to GCR. Replace `` with your project ID. --> 如果你使用的是 [Google Container Registry](https://cloud.google.com/tools/container-registry/), -请先用你的 project ID 给你的镜像打上标签,然后 push 到 GCR 。请将 `` 替换为你自己的 project ID +请先用你的 project ID 给你的镜像打上标签,然后 push 到 GCR 。请将 `` 替换为你自己的 project ID。 ```shell docker tag job-wq-2 gcr.io//job-wq-2 @@ -249,7 +251,7 @@ Here is the job definition: --> ## 定义一个 Job -这是 job 定义: +这是 Job 定义: {{< codenew file="application/job/redis/job.yaml" >}} @@ -257,7 +259,7 @@ Here is the job definition: Be sure to edit the job template to change `gcr.io/myproject` to your own path. --> -请确保将 job 模板中的 `gcr.io/myproject` 更改为你自己的路径。 +请确保将 Job 模板中的 `gcr.io/myproject` 更改为你自己的路径。 -在这个例子中,每个 pod 处理了队列中的多个项目,直到队列中没有项目时便退出。 +在这个例子中,每个 Pod 处理了队列中的多个项目,直到队列中没有项目时便退出。 因为是由工作程序自行检测工作队列是否为空,并且 Job 控制器不知道工作队列的存在, 这依赖于工作程序在完成工作时发出信号。 工作程序以成功退出的形式发出信号表示工作队列已经为空。 所以,只要有任意一个工作程序成功退出,控制器就知道工作已经完成了,所有的 Pod 将很快会退出。 -因此,我们将 Job 的完成计数(Completion Count)设置为 1 。 +因此,我们将 Job 的完成计数(Completion Count)设置为 1。 尽管如此,Job 控制器还是会等待其它 Pod 完成。 ## 运行 Job -现在运行这个 Job : +现在运行这个 Job: ```shell kubectl apply -f ./job.yaml @@ -325,12 +327,13 @@ Events: 33s 33s 1 {job-controller } Normal SuccessfulCreate Created pod: job-wq-2-lglf8 ``` -查看日志: +运行以下命令查看日志: ```shell kubectl logs pods/job-wq-2-7r7b2 ``` +日志类似于: ``` Worker with sessionID: bbd72d0a-9e5c-4dd6-abf6-416cc267991f Initial queue state: empty=False @@ -342,7 +345,7 @@ Working on lemon -你可以看到,其中的一个 pod 处理了若干个工作单元。 +你可以看到,其中的一个 Pod 处理了若干个工作单元。