forked from kubernetes/website
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Translate tasks/access-application-cluster/communicate-containers-sam…
…e-pod-shared-volume/ in Japanese (kubernetes#16183)
- Loading branch information
Showing
1 changed file
with
144 additions
and
0 deletions.
There are no files selected for viewing
144 changes: 144 additions & 0 deletions
144
...sks/access-application-cluster/communicate-containers-same-pod-shared-volume.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,144 @@ | ||
--- | ||
title: 共有ボリュームを使用して同じPod内のコンテナ間で通信する | ||
content_template: templates/task | ||
weight: 110 | ||
--- | ||
|
||
{{% capture overview %}} | ||
|
||
このページでは、ボリュームを使用して、同じPodで実行されている2つのコンテナ間で通信する方法を示します。 | ||
コンテナ間で[プロセス名前空間を共有する](/docs/tasks/configure-pod-container/share-process-namespace/)ことにより、プロセスが通信できるようにする方法も参照してください。 | ||
|
||
{{% /capture %}} | ||
|
||
|
||
{{% capture prerequisites %}} | ||
|
||
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} | ||
|
||
{{% /capture %}} | ||
|
||
|
||
{{% capture steps %}} | ||
|
||
## 2つのコンテナを実行するPodの作成 | ||
|
||
この演習では、2つのコンテナを実行するPodを作成します。 | ||
2つのコンテナは、通信に使用できるボリュームを共有します。 | ||
これがPodの設定ファイルです: | ||
|
||
{{< codenew file="pods/two-container-pod.yaml" >}} | ||
|
||
設定ファイルで、Podに`shared-data`という名前のボリュームがあることがわかります。 | ||
|
||
設定ファイルにリストされている最初のコンテナは、nginxサーバーを実行します。 | ||
共有ボリュームのマウントパスは`/usr/share/nginx/html`です。 | ||
2番目のコンテナはdebianイメージをベースとしており、`/pod-data`のマウントパスを持っています。 | ||
2番目のコンテナは次のコマンドを実行してから終了します。 | ||
|
||
echo Hello from the debian container > /pod-data/index.html | ||
|
||
2番目のコンテナがnginxサーバーのルートディレクトリに`index.html`ファイルを書き込むことに注意してください。 | ||
|
||
Podと2つのコンテナを作成します: | ||
|
||
kubectl apply -f https://k8s.io/examples/pods/two-container-pod.yaml | ||
|
||
Podとコンテナに関する情報を表示します: | ||
|
||
kubectl get pod two-containers --output=yaml | ||
|
||
こちらは出力の一部です: | ||
|
||
apiVersion: v1 | ||
kind: Pod | ||
metadata: | ||
... | ||
name: two-containers | ||
namespace: default | ||
... | ||
spec: | ||
... | ||
containerStatuses: | ||
|
||
- containerID: docker://c1d8abd1 ... | ||
image: debian | ||
... | ||
lastState: | ||
terminated: | ||
... | ||
name: debian-container | ||
... | ||
|
||
- containerID: docker://96c1ff2c5bb ... | ||
image: nginx | ||
... | ||
name: nginx-container | ||
... | ||
state: | ||
running: | ||
... | ||
|
||
debianコンテナが終了し、nginxコンテナがまだ実行されていることがわかります。 | ||
|
||
nginxコンテナへのシェルを取得します: | ||
|
||
kubectl exec -it two-containers -c nginx-container -- /bin/bash | ||
|
||
シェルで、nginxが実行されていることを確認します: | ||
|
||
root@two-containers:/# apt-get update | ||
root@two-containers:/# apt-get install curl procps | ||
root@two-containers:/# ps aux | ||
|
||
出力はこのようになります: | ||
|
||
USER PID ... STAT START TIME COMMAND | ||
root 1 ... Ss 21:12 0:00 nginx: master process nginx -g daemon off; | ||
|
||
debianコンテナがnginxルートディレクトリに`index.html`ファイルを作成したことを思い出してください。 | ||
`curl`を使用して、GETリクエストをnginxサーバーに送信します: | ||
|
||
root@two-containers:/# curl localhost | ||
|
||
出力は、nginxがdebianコンテナによって書かれたWebページを提供することを示しています: | ||
|
||
Hello from the debian container | ||
|
||
{{% /capture %}} | ||
|
||
|
||
{{% capture discussion %}} | ||
|
||
## 議論 | ||
|
||
Podが複数のコンテナを持つことができる主な理由は、プライマリアプリケーションを支援するヘルパーアプリケーションをサポートするためです。 | ||
ヘルパーアプリケーションの典型的な例は、データプラー、データプッシャー、およびプロキシです。 | ||
多くの場合、ヘルパーアプリケーションとプライマリアプリケーションは互いに通信する必要があります。 | ||
通常、これは、この演習に示すように共有ファイルシステムを介して、またはループバックネットワークインターフェイスであるlocalhostを介して行われます。 | ||
このパターンの例は、新しい更新のためにGitリポジトリをポーリングするヘルパープログラムを伴うWebサーバーです。 | ||
|
||
この演習のボリュームは、コンテナがポッドの寿命中に通信する方法を提供します。 | ||
Podを削除して再作成すると、共有ボリュームに保存されているデータはすべて失われます。 | ||
|
||
{{% /capture %}} | ||
|
||
|
||
{{% capture whatsnext %}} | ||
|
||
* [複合コンテナのパターン](https://kubernetes.io/blog/2015/06/the-distributed-system-toolkit-patterns)の詳細 | ||
|
||
* [モジュラーアーキテクチャ用の複合コンテナ](http://www.slideshare.net/Docker/slideshare-burns)について学ぶ | ||
|
||
* [ストレージにボリュームを使用するPodの構成](/ja/docs/tasks/configure-pod-container/configure-volume-storage/)を参照 | ||
|
||
* [Pod内のコンテナ間でプロセス名前空間を共有するPodの構成](/docs/tasks/configure-pod-container/share-process-namespace/)を参照 | ||
|
||
* [Volume](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#volume-v1-core)を参照 | ||
|
||
* [Pod](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#pod-v1-core)を参照 | ||
|
||
{{% /capture %}} | ||
|
||
|
||
|