diff --git a/content/ja/docs/tasks/run-application/run-stateless-application-deployment.md b/content/ja/docs/tasks/run-application/run-stateless-application-deployment.md new file mode 100644 index 0000000000000..c38b40171a2ac --- /dev/null +++ b/content/ja/docs/tasks/run-application/run-stateless-application-deployment.md @@ -0,0 +1,150 @@ +--- +title: Deploymentを使用してステートレスアプリケーションを実行する +min-kubernetes-server-version: v1.9 +content_template: templates/tutorial +weight: 10 +--- + +{{% capture overview %}} + +このページでは、Kubernetes Deploymentオブジェクトを使用してアプリケーションを実行する方法を説明します。 + +{{% /capture %}} + + +{{% capture objectives %}} + +* nginx deploymentを作成します。 +* kubectlを使ってdeploymentに関する情報を一覧表示します。 +* deploymentを更新します。 + +{{% /capture %}} + + +{{% capture prerequisites %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +{{% /capture %}} + + +{{% capture lessoncontent %}} + +## nginx deploymentの作成と探検 + +Kubernetes Deploymentオブジェクトを作成することでアプリケーションを実行できます。また、YAMLファイルでDeploymentを記述できます。例えば、このYAMLファイルはnginx:1.7.9 Dockerイメージを実行するデプロイメントを記述しています: + +{{< codenew file="application/deployment.yaml" >}} + + +1. YAMLファイルに基づいてDeploymentを作成します: + + kubectl apply -f https://k8s.io/examples/application/deployment.yaml + +1. Deploymentに関する情報を表示します: + + kubectl describe deployment nginx-deployment + + 出力はこのようになります: + + user@computer:~/website$ kubectl describe deployment nginx-deployment + Name: nginx-deployment + Namespace: default + CreationTimestamp: Tue, 30 Aug 2016 18:11:37 -0700 + Labels: app=nginx + Annotations: deployment.kubernetes.io/revision=1 + Selector: app=nginx + Replicas: 2 desired | 2 updated | 2 total | 2 available | 0 unavailable + StrategyType: RollingUpdate + MinReadySeconds: 0 + RollingUpdateStrategy: 1 max unavailable, 1 max surge + Pod Template: + Labels: app=nginx + Containers: + nginx: + Image: nginx:1.7.9 + Port: 80/TCP + Environment: + Mounts: + Volumes: + Conditions: + Type Status Reason + ---- ------ ------ + Available True MinimumReplicasAvailable + Progressing True NewReplicaSetAvailable + OldReplicaSets: + NewReplicaSet: nginx-deployment-1771418926 (2/2 replicas created) + No events. + +1. Deploymentによって作成されたPodを一覧表示します: + + kubectl get pods -l app=nginx + + 出力はこのようになります: + + NAME READY STATUS RESTARTS AGE + nginx-deployment-1771418926-7o5ns 1/1 Running 0 16h + nginx-deployment-1771418926-r18az 1/1 Running 0 16h + +1. Podに関する情報を表示します: + + kubectl describe pod + + ここで``はPodの1つの名前を指定します。 + +## Deploymentの更新 + +新しいYAMLファイルを適用してDeploymentを更新できます。このYAMLファイルは、Deploymentを更新してnginx 1.8を使用するように指定しています。 + +{{< codenew file="application/deployment-update.yaml" >}} + +1. 新しいYAMLファイルを適用します: + + kubectl apply -f https://k8s.io/examples/application/deployment-update.yaml + +1. Deploymentが新しい名前でPodを作成し、古いPodを削除するのを監視します: + + kubectl get pods -l app=nginx + +## レプリカ数を増やすことによるアプリケーションのスケール + +新しいYAMLファイルを適用することで、Deployment内のPodの数を増やすことができます。このYAMLファイルは`replicas`を4に設定します。これはDeploymentが4つのPodを持つべきであることを指定します: + +{{< codenew file="application/deployment-scale.yaml" >}} + +1. 新しいYAMLファイルを適用します: + + kubectl apply -f https://k8s.io/examples/application/deployment-scale.yaml + +1. Deploymentに4つのPodがあることを確認します: + + kubectl get pods -l app=nginx + + 出力はこのようになります: + + NAME READY STATUS RESTARTS AGE + nginx-deployment-148880595-4zdqq 1/1 Running 0 25s + nginx-deployment-148880595-6zgi1 1/1 Running 0 25s + nginx-deployment-148880595-fxcez 1/1 Running 0 2m + nginx-deployment-148880595-rwovn 1/1 Running 0 2m + +## Deploymentの削除 + +Deploymentを名前を指定して削除します: + + kubectl delete deployment nginx-deployment + +## ReplicationControllers -- 昔のやり方 + +複製アプリケーションを作成するための好ましい方法はDeploymentを使用することです。そして、DeploymentはReplicaSetを使用します。 DeploymentとReplicaSetがKubernetesに追加される前は、[ReplicationController](/docs/concepts/workloads/controllers/replicationcontroller/)を使用して複製アプリケーションを構成していました。 + +{{% /capture %}} + + +{{% capture whatsnext %}} + +* [Deploymentオブジェクト](/docs/concepts/workloads/controllers/deployment/)の詳細 + +{{% /capture %}} + +