Skip to content

Commit 0db354b

Browse files
[ja] Translate tasks/administer-cluster/use-cascading-deletion/ into Japanese
1 parent 9a804d2 commit 0db354b

File tree

2 files changed

+195
-1
lines changed

2 files changed

+195
-1
lines changed
Lines changed: 194 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,194 @@
1+
---
2+
title: クラスターでカスケード削除を使用する
3+
content_type: task
4+
weight: 360
5+
---
6+
7+
<!--overview-->
8+
9+
このページでは、{{<glossary_tooltip text="ガベージコレクション" term_id="garbage-collection">}}中にクラスターで使用する[カスケード削除](/ja/docs/concepts/architecture/garbage-collection/#cascading-deletion)のタイプを指定する方法を示します。
10+
11+
## {{% heading "prerequisites" %}}
12+
13+
{{< include "task-tutorial-prereqs.md" >}}
14+
15+
また、さまざまな種類のカスケード削除を試すために、[サンプルのDeploymentを作成する](/ja/docs/tasks/run-application/run-stateless-application-deployment/#creating-and-exploring-an-nginx-deployment)必要があります。 タイプごとにDeploymentを再作成する必要があります。
16+
17+
## Podのオーナーリファレンスを確認する {#check-owner-references-on-your-pods}
18+
19+
Podに`ownerReferences`フィールドが存在することを確認します:
20+
21+
```shell
22+
kubectl get pods -l app=nginx --output=yaml
23+
```
24+
25+
出力には、次のように`ownerReferences`フィールドがあります。
26+
27+
```yaml
28+
apiVersion: v1
29+
...
30+
ownerReferences:
31+
- apiVersion: apps/v1
32+
blockOwnerDeletion: true
33+
controller: true
34+
kind: ReplicaSet
35+
name: nginx-deployment-6b474476c4
36+
uid: 4fdcd81c-bd5d-41f7-97af-3a3b759af9a7
37+
...
38+
```
39+
40+
## フォアグラウンドカスケード削除を使用する {#use-foreground-cascading-deletion}
41+
42+
デフォルトでは、Kubernetesは[バックグラウンドカスケード削除](/ja/docs/concepts/architecture/garbage-collection/#background-deletion)を使用して、オブジェクトの依存関係を削除します。
43+
クラスターが動作しているKubernetesのバージョンに応じて、`kubectl`またはKubernetes APIのいずれかを使用して、フォアグラウンドカスケード削除に切り替えることができます。 {{<version-check>}}
44+
45+
`kubectl`またはKubernetes APIを使用して、フォアグラウンドカスケード削除を使用してオブジェクトを削除することができます。
46+
47+
**kubectlを使用する**
48+
49+
以下のコマンドを実行してください:
50+
<!--TODO: verify release after which the --cascade flag is switched to a string in https://github.com/kubernetes/kubectl/commit/fd930e3995957b0093ecc4b9fd8b0525d94d3b4e-->
51+
52+
53+
```shell
54+
kubectl delete deployment nginx-deployment --cascade=foreground
55+
```
56+
57+
**Kubernetes APIを使用する**
58+
59+
1. ローカルプロキシーセッションを開始します:
60+
61+
```shell
62+
kubectl proxy --port=8080
63+
```
64+
65+
1. 削除のトリガーとして`curl`を使用します:
66+
67+
```shell
68+
curl -X DELETE localhost:8080/apis/apps/v1/namespaces/default/deployments/nginx-deployment \
69+
-d '{"kind":"DeleteOptions","apiVersion":"v1","propagationPolicy":"Foreground"}' \
70+
-H "Content-Type: application/json"
71+
```
72+
73+
出力には、次のように`foregroundDeletion`{{<glossary_tooltip text="ファイナライザー" term_id="finalizer">}}が含まれています。
74+
75+
```
76+
"kind": "Deployment",
77+
"apiVersion": "apps/v1",
78+
"metadata": {
79+
"name": "nginx-deployment",
80+
"namespace": "default",
81+
"uid": "d1ce1b02-cae8-4288-8a53-30e84d8fa505",
82+
"resourceVersion": "1363097",
83+
"creationTimestamp": "2021-07-08T20:24:37Z",
84+
"deletionTimestamp": "2021-07-08T20:27:39Z",
85+
"finalizers": [
86+
"foregroundDeletion"
87+
]
88+
...
89+
```
90+
91+
## バッググラウンドカスケード削除を使用する {#use-background-cascading-deletion}
92+
93+
1. [サンプルのDeploymentを作成する](/ja/docs/tasks/run-application/run-stateless-application-deployment/#creating-and-exploring-an-nginx-deployment).
94+
1. クラスターが動作しているKubernetesのバージョンに応じて、`kubectl`またはKubernetes APIのいずれかを使用してDeploymentを削除します。{{<version-check>}}
95+
96+
`kubectl`またはKubernetes APIを使用して、バックグラウンドカスケード削除を使用してオブジェクトを削除できます。
97+
98+
Kubernetesはデフォルトでバックグラウンドカスケード削除を使用し、`--cascade`フラグまたは`propagationPolicy`引数なしで以下のコマンドを実行した場合も同様です。
99+
100+
**kubectlを使用する**
101+
102+
以下のコマンドを実行してください:
103+
104+
```shell
105+
kubectl delete deployment nginx-deployment --cascade=background
106+
```
107+
108+
**Kubernetes APIを使用する**
109+
110+
1. ローカルプロキシーセッションを開始します:
111+
112+
```shell
113+
kubectl proxy --port=8080
114+
```
115+
116+
1. 削除のトリガーとして`curl`を使用します:
117+
118+
```shell
119+
curl -X DELETE localhost:8080/apis/apps/v1/namespaces/default/deployments/nginx-deployment \
120+
-d '{"kind":"DeleteOptions","apiVersion":"v1","propagationPolicy":"Background"}' \
121+
-H "Content-Type: application/json"
122+
```
123+
124+
出力は、次のようになります。
125+
126+
```
127+
"kind": "Status",
128+
"apiVersion": "v1",
129+
...
130+
"status": "Success",
131+
"details": {
132+
"name": "nginx-deployment",
133+
"group": "apps",
134+
"kind": "deployments",
135+
"uid": "cc9eefb9-2d49-4445-b1c1-d261c9396456"
136+
}
137+
```
138+
139+
140+
## オーナーオブジェクトの削除と従属オブジェクトの孤立 {#set-orphan-deletion-policy}
141+
142+
デフォルトでは、Kubernetesにオブジェクトの削除を指示すると、{{<glossary_tooltip text="コントローラー" term_id="controller">}}は従属オブジェクトも削除します。クラスタが動作しているKubernetesのバージョンに応じて、`kubectl`またはKubernetes APIを使用して、これらの従属オブジェクトをKubernetesで*orphan*にすることができます。{{<version-check>}}
143+
144+
**kubectlを使用する**
145+
146+
以下のコマンドを実行してください:
147+
148+
```shell
149+
kubectl delete deployment nginx-deployment --cascade=orphan
150+
```
151+
152+
**Kubernetes APIを使用する**
153+
154+
1. ローカルプロキシーセッションを開始します:
155+
156+
```shell
157+
kubectl proxy --port=8080
158+
```
159+
160+
1. 削除のトリガーとして`curl`を使用します:
161+
162+
```shell
163+
curl -X DELETE localhost:8080/apis/apps/v1/namespaces/default/deployments/nginx-deployment \
164+
-d '{"kind":"DeleteOptions","apiVersion":"v1","propagationPolicy":"Orphan"}' \
165+
-H "Content-Type: application/json"
166+
```
167+
168+
出力には、次のように`finalizers`フィールドに`orphan`が含まれます。
169+
170+
```
171+
"kind": "Deployment",
172+
"apiVersion": "apps/v1",
173+
"namespace": "default",
174+
"uid": "6f577034-42a0-479d-be21-78018c466f1f",
175+
"creationTimestamp": "2021-07-09T16:46:37Z",
176+
"deletionTimestamp": "2021-07-09T16:47:08Z",
177+
"deletionGracePeriodSeconds": 0,
178+
"finalizers": [
179+
"orphan"
180+
],
181+
...
182+
```
183+
184+
Deploymentによって管理されているPodがまだ実行中であることを確認できます。
185+
186+
```shell
187+
kubectl get pods -l app=nginx
188+
```
189+
190+
## {{% heading "whatsnext" %}}
191+
192+
* Kubernetesの[オーナーと従属](/ja/docs/concepts/overview/working-with-objects/owners-dependents/)について学ぶ。
193+
* Kubernetes [ファイナライザー(Finalizers)](/ja/docs/concepts/overview/working-with-objects/finalizers/)について学ぶ。
194+
* [ガベージコレクション](/ja/docs/concepts/architecture/garbage-collection/)について学ぶ。

content/ja/docs/tasks/run-application/run-stateless-application-deployment.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ weight: 10
3232

3333
<!-- lessoncontent -->
3434

35-
## nginx deploymentの作成と探検
35+
## nginx deploymentの作成と探検 {#creating-and-exploring-an-nginx-deployment}
3636

3737
Kubernetes Deploymentオブジェクトを作成することでアプリケーションを実行できます。また、YAMLファイルでDeploymentを記述できます。例えば、このYAMLファイルはnginx:1.14.2 Dockerイメージを実行するデプロイメントを記述しています:
3838

0 commit comments

Comments
 (0)