Skip to content

Commit 12e000d

Browse files
committed
Translate tasks/job/automated-tasks-with-cron-jobs into Japanese
1 parent 6716998 commit 12e000d

File tree

1 file changed

+52
-92
lines changed

1 file changed

+52
-92
lines changed
Lines changed: 52 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -1,78 +1,66 @@
11
---
2-
title: Running Automated Tasks with a CronJob
2+
title: CronJobを使用して自動化タスクを実行する
33
min-kubernetes-server-version: v1.21
4-
reviewers:
5-
- chenopis
64
content_type: task
75
weight: 10
86
---
97

108
<!-- overview -->
119

12-
CronJobs was promoted to general availability in Kubernetes v1.21. If you are using an older version of
13-
Kubernetes, please refer to the documentation for the version of Kubernetes that you are using,
14-
so that you see accurate information. Older Kubernetes versions do not support the `batch/v1` CronJob API.
10+
CronJobは、Kubernetes v1.21で一般利用(GA)に昇格しました。古いバージョンのKubernetesを使用している場合、正確な情報を参照できるように、使用しているバージョンのKubernetesのドキュメントを参照してください。古いKubernetesのバージョンでは、`batch/v1` CronJob APIはサポートされていません。
1511

16-
You can use a {{< glossary_tooltip text="CronJob" term_id="cronjob" >}} to run {{< glossary_tooltip text="Jobs" term_id="job" >}} on a time-based schedule.
17-
These automated jobs run like [Cron](https://en.wikipedia.org/wiki/Cron) tasks on a Linux or UNIX system.
12+
{{< glossary_tooltip text="CronJob" term_id="cronjob" >}}を使用すると、{{< glossary_tooltip text="Job" term_id="job" >}}を時間ベースのスケジュールで実行できるようになります。この自動化されたJobは、LinuxまたはUNIXシステム上の[Cron](https://en.wikipedia.org/wiki/Cron)のように実行されます。
1813

19-
Cron jobs are useful for creating periodic and recurring tasks, like running backups or sending emails.
20-
Cron jobs can also schedule individual tasks for a specific time, such as if you want to schedule a job for a low activity period.
21-
22-
Cron jobs have limitations and idiosyncrasies.
23-
For example, in certain circumstances, a single cron job can create multiple jobs.
24-
Therefore, jobs should be idempotent.
25-
26-
For more limitations, see [CronJobs](/docs/concepts/workloads/controllers/cron-jobs).
14+
CronJobは、バックアップやメールの送信など、定期的なタスクや繰り返しのタスクを作成する時に便利です。CronJobはそれぞれのタスクを、たとえばアクティビティが少ない期間など、特定の時間にスケジューリングすることもできます。
2715

16+
CronJobには制限と特性があります。たとえば、特定の状況下では、1つのCronJobが複数のJobを作成する可能性があるため、Jobは冪等性を持つようにしなければいけません。
2817

18+
制限に関する詳しい情報については、[CronJob](/ja/docs/concepts/workloads/controllers/cron-jobs)を参照してください。
2919

3020
## {{% heading "prerequisites" %}}
3121

32-
3322
* {{< include "task-tutorial-prereqs.md" >}}
3423

35-
36-
3724
<!-- steps -->
3825

39-
## Creating a Cron Job
26+
## CronJobを作成する
4027

41-
Cron jobs require a config file.
42-
This example cron job config `.spec` file prints the current time and a hello message every minute:
28+
CronJobには設定ファイルが必要です。次の例のCronJobの`.spec`は、現在の時刻とhelloというメッセージを1分ごとに表示します。
4329

4430
{{< codenew file="application/job/cronjob.yaml" >}}
4531

46-
Run the example CronJob by using this command:
32+
次のコマンドで例のCronJobを実行します。
4733

4834
```shell
4935
kubectl create -f https://k8s.io/examples/application/job/cronjob.yaml
5036
```
51-
The output is similar to this:
37+
38+
出力は次のようになります。
5239

5340
```
5441
cronjob.batch/hello created
5542
```
5643

57-
After creating the cron job, get its status using this command:
44+
CronJobを作成したら、次のコマンドで状態を取得します。
5845

5946
```shell
6047
kubectl get cronjob hello
6148
```
62-
The output is similar to this:
49+
50+
出力は次のようになります。
6351

6452
```
6553
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE
6654
hello */1 * * * * False 0 <none> 10s
6755
```
6856

69-
As you can see from the results of the command, the cron job has not scheduled or run any jobs yet.
70-
Watch for the job to be created in around one minute:
57+
コマンドの結果からわかるように、CronJobはまだスケジュールされておらず、まだ何のJobも実行していません。約1分以内にJobが作成されるのを見てみましょう。
7158

7259
```shell
7360
kubectl get jobs --watch
7461
```
75-
The output is similar to this:
62+
63+
出力は次のようになります。
7664

7765
```
7866
NAME COMPLETIONS DURATION AGE
@@ -81,135 +69,107 @@ hello-4111706356 0/1 0s 0s
8169
hello-4111706356 1/1 5s 5s
8270
```
8371

84-
Now you've seen one running job scheduled by the "hello" cron job.
85-
You can stop watching the job and view the cron job again to see that it scheduled the job:
72+
"hello"CronJobによってスケジュールされたJobが1つ実行中になっていることがわかります。Jobを見るのをやめて、再度CronJobを表示して、Jobがスケジュールされたことを確認してみます。
8673

8774
```shell
8875
kubectl get cronjob hello
8976
```
90-
The output is similar to this:
77+
78+
出力は次のようになります。
9179

9280
```
9381
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE
9482
hello */1 * * * * False 0 50s 75s
9583
```
9684

97-
You should see that the cron job `hello` successfully scheduled a job at the time specified in `LAST SCHEDULE`. There are currently 0 active jobs, meaning that the job has completed or failed.
85+
CronJob`hello`が、`LAST SCHEDULE`で指定された時間にJobを正しくスケジュールしたことが確認できるはずです。現在、activeなJobの数は0です。つまり、Jobは完了または失敗したことがわかります。
9886

99-
Now, find the pods that the last scheduled job created and view the standard output of one of the pods.
87+
それでは、最後にスケジュールされたJobの作成と、Podの1つの標準出力を表示してみましょう。
10088

10189
{{< note >}}
102-
The job name and pod name are different.
90+
Jobの名前とPodの名前は異なります。
10391
{{< /note >}}
10492

10593
```shell
106-
# Replace "hello-4111706356" with the job name in your system
94+
# "hello-4111706356" の部分は、あなたのシステム上のJobの名前に置き換えてください。
10795
pods=$(kubectl get pods --selector=job-name=hello-4111706356 --output=jsonpath={.items[*].metadata.name})
10896
```
109-
Show pod log:
97+
98+
Podのログを表示します。
11099

111100
```shell
112101
kubectl logs $pods
113102
```
114-
The output is similar to this:
103+
104+
出力は次のようになります。
115105

116106
```
117107
Fri Feb 22 11:02:09 UTC 2019
118108
Hello from the Kubernetes cluster
119109
```
120110

121-
## Deleting a Cron Job
111+
## CronJobの削除
122112

123-
When you don't need a cron job any more, delete it with `kubectl delete cronjob <cronjob name>`:
113+
CronJobが必要なくなったときは、`kubectl delete cronjob <cronjob name>`で削除します。
124114

125115
```shell
126116
kubectl delete cronjob hello
127117
```
128118

129-
Deleting the cron job removes all the jobs and pods it created and stops it from creating additional jobs.
130-
You can read more about removing jobs in [garbage collection](/docs/concepts/workloads/controllers/garbage-collection/).
119+
CronJobを削除すると、すべてのJobと、そのJobが作成したPodが削除され、追加のJobの作成が停止されます。Jobの削除について詳しく知りたい場合は、[ガベージコレクション](/ja/docs/concepts/workloads/controllers/garbage-collection/)を読んでください。
131120

132-
## Writing a Cron Job Spec
121+
## CronJobのSpecを書く
133122

134-
As with all other Kubernetes configs, a cron job needs `apiVersion`, `kind`, and `metadata` fields. For general
135-
information about working with config files, see [deploying applications](/docs/tasks/run-application/run-stateless-application-deployment/),
136-
and [using kubectl to manage resources](/docs/concepts/overview/working-with-objects/object-management/) documents.
123+
すべてのKubernetesの設定と同じように、CronJobにも`apiVersion``kind``metadata`のフィールドが必要です。設定ファイルの扱い方についての一般的な情報については、[アプリケーションのデプロイ](/ja/docs/tasks/run-application/run-stateless-application-deployment/)[kubectlを使用してリソースを管理する](/ja/docs/concepts/overview/working-with-objects/object-management/)を読んでください。
137124

138-
A cron job config also needs a [`.spec` section](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status).
125+
CronJobの設定には、[`.spec`セクション](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status)も必要です。
139126

140127
{{< note >}}
141-
All modifications to a cron job, especially its `.spec`, are applied only to the following runs.
128+
CronJobの特に`spec`へのすべての修正は、それ以降の実行にのみ適用されます。
142129
{{< /note >}}
143130

144131
### Schedule
145132

146-
The `.spec.schedule` is a required field of the `.spec`.
147-
It takes a [Cron](https://en.wikipedia.org/wiki/Cron) format string, such as `0 * * * *` or `@hourly`, as schedule time of its jobs to be created and executed.
133+
`.spec.schedule`は、`.spec`には必須のフィールドです。`0 * * * *``@hourly`などの[Cron](https://en.wikipedia.org/wiki/Cron)形式の文字列を取り、Jobの作成と実行のスケジュール時間を指定します。
148134

149-
The format also includes extended `vixie cron` step values. As explained in the
150-
[FreeBSD manual](https://www.freebsd.org/cgi/man.cgi?crontab%285%29):
135+
フォーマットには`vixie cron`のステップ値(step value)も指定できます。[FreeBSDのマニュアル](https://www.freebsd.org/cgi/man.cgi?crontab%285%29)では次のように説明されています。
151136

152-
> Step values can be used in conjunction with ranges. Following a range
153-
> with `/<number>` specifies skips of the number's value through the
154-
> range. For example, `0-23/2` can be used in the hours field to specify
155-
> command execution every other hour (the alternative in the V7 standard is
156-
> `0,2,4,6,8,10,12,14,16,18,20,22`). Steps are also permitted after an
157-
> asterisk, so if you want to say "every two hours", just use `*/2`.
137+
> ステップ値は範囲指定と組み合わせて使用できます。範囲の後ろに`/<number>`を付けると、範囲全体で指定したnumberの値ごとにスキップすることを意味します。たとえば、`0-23/2`をhoursフィールドに指定すると、2時間毎にコマンド実行を指定することになります(V7標準では代わりに`0,2,4,6,8,10,12,14,16,18,20,22`と指定する必要があります)。ステップはアスタリスクの後ろにつけることもできます。そのため、「2時間毎に実行」したい場合は、単純に`*/2`と指定できます。
158138
159139
{{< note >}}
160-
A question mark (`?`) in the schedule has the same meaning as an asterisk `*`, that is, it stands for any of available value for a given field.
140+
スケジュール内の疑問符`?`はアスタリスク`*`と同じ意味を持ちます。つまり、与えられたフィールドには任意の値が使えるという意味になります。
161141
{{< /note >}}
162142

163143
### Job Template
164144

165-
The `.spec.jobTemplate` is the template for the job, and it is required.
166-
It has exactly the same schema as a [Job](/docs/concepts/workloads/controllers/job/), except that it is nested and does not have an `apiVersion` or `kind`.
167-
For information about writing a job `.spec`, see [Writing a Job Spec](/docs/concepts/workloads/controllers/job/#writing-a-job-spec).
145+
`.spec.jobTemplate`はJobのテンプレートであり、必須です。[Job](/docs/concepts/workloads/controllers/job/)と完全に同一のスキーマを持ちますが、フィールドがネストされている点と、`apiVersion``kind`が存在しない点だけが異なります。Jobの`.spec`を書くための情報については、[JobのSpecを書く](/docs/concepts/workloads/controllers/job/#writing-a-job-spec)を参照してください。
168146

169147
### Starting Deadline
170148

171-
The `.spec.startingDeadlineSeconds` field is optional.
172-
It stands for the deadline in seconds for starting the job if it misses its scheduled time for any reason.
173-
After the deadline, the cron job does not start the job.
174-
Jobs that do not meet their deadline in this way count as failed jobs.
175-
If this field is not specified, the jobs have no deadline.
149+
`.spec.startingDeadlineSeconds`フィールドはオプションです。何かの理由でスケジュールに間に合わなかった場合に適用される、Jobの開始のデッドライン(締め切り)を秒数で指定します。デッドラインを過ぎると、CronJobはJobを開始しません。この場合にデッドラインに間に合わなかったJobは、失敗したJobとしてカウントされます。もしこのフィールドが指定されなかった場合、Jobはデッドラインを持ちません。
176150

177-
If the `.spec.startingDeadlineSeconds` field is set (not null), the CronJob
178-
controller measures the time between when a job is expected to be created and
179-
now. If the difference is higher than that limit, it will skip this execution.
151+
`.spec.startingDeadlineSeconds`フィールドがnull以外に設定された場合、CronJobコントローラーはJobの作成が期待される時間と現在時刻との間の時間を計測します。もしその差が制限よりも大きかった場合、その実行はスキップされます。
180152

181-
For example, if it is set to `200`, it allows a job to be created for up to 200
182-
seconds after the actual schedule.
153+
たとえば、この値が`200`に設定された場合、実際のスケジュールの最大200秒後までに作成されるJobだけが許可されます。
183154

184155
### Concurrency Policy
185156

186-
The `.spec.concurrencyPolicy` field is also optional.
187-
It specifies how to treat concurrent executions of a job that is created by this cron job.
188-
The spec may specify only one of the following concurrency policies:
157+
`.spec.concurrencyPolicy`フィールドもオプションです。このフィールドは、このCronJobで作成されたJobの並列実行をどのように扱うかを指定します。specには以下のconcurrency policyのいずれかを指定します。
189158

190-
* `Allow` (default): The cron job allows concurrently running jobs
191-
* `Forbid`: The cron job does not allow concurrent runs; if it is time for a new job run and the previous job run hasn't finished yet, the cron job skips the new job run
192-
* `Replace`: If it is time for a new job run and the previous job run hasn't finished yet, the cron job replaces the currently running job run with a new job run
159+
* `Allow` (デフォルト): CronJobがJobを並列に実行することを許可します。
160+
* `Forbid`: CronJobの並列実行を禁止します。もし新しいJobの実行時に過去のJobがまだ完了していなかった場合、CronJobは新しいJobの実行をスキップします。
161+
* `Replace`: もし新しいJobの実行の時間になっても過去のJobの実行が完了していなかった場合、CronJobは現在の実行中のJobを新しいJobで置換します。
193162

194-
Note that concurrency policy only applies to the jobs created by the same cron job.
195-
If there are multiple cron jobs, their respective jobs are always allowed to run concurrently.
163+
concurrent policyは、同じCronJobが作成したJobにのみ適用されます。もし複数のCronJobがある場合、それぞれのJobの並列実行は常に許可されます。
196164

197165
### Suspend
198166

199-
The `.spec.suspend` field is also optional.
200-
If it is set to `true`, all subsequent executions are suspended.
201-
This setting does not apply to already started executions.
202-
Defaults to false.
167+
`.spec.suspend`フィールドもオプションです。このフィールドを`true`に設定すると、すべての後続の実行がサスペンド(一時停止)されます。この設定はすでに実行開始したJobには適用されません。デフォルトはfalseです。
203168

204169
{{< caution >}}
205-
Executions that are suspended during their scheduled time count as missed jobs.
206-
When `.spec.suspend` changes from `true` to `false` on an existing cron job without a [starting deadline](#starting-deadline), the missed jobs are scheduled immediately.
170+
スケジュールされた時間中にサスペンドされた実行は、見逃されたJob(missed job)としてカウントされます。[starting deadline](#starting-deadline)が設定されていない既存のCronJob`.spec.suspend``true`から`false`に変更されると、見逃されたJobは即座にスケジュールされます。
207171
{{< /caution >}}
208172

209-
### Jobs History Limits
210-
211-
The `.spec.successfulJobsHistoryLimit` and `.spec.failedJobsHistoryLimit` fields are optional.
212-
These fields specify how many completed and failed jobs should be kept.
213-
By default, they are set to 3 and 1 respectively. Setting a limit to `0` corresponds to keeping none of the corresponding kind of jobs after they finish.
214-
173+
### Job History Limit
215174

175+
`.spec.successfulJobsHistoryLimit``.spec.failedJobsHistoryLimit`フィールドはオプションです。これらのフィールドには、完了したJobと失敗したJobをいくつ保持するかを指定します。デフォルトでは、それぞれ3と1に設定されます。リミットを`0`に設定すると、対応する種類のJobを実行完了後に何も保持しなくなります。

0 commit comments

Comments
 (0)