Skip to content
This repository was archived by the owner on Oct 1, 2024. It is now read-only.

Commit 68125ca

Browse files
committed
translate japanese
1 parent 14b4554 commit 68125ca

File tree

1 file changed

+252
-0
lines changed

1 file changed

+252
-0
lines changed

README-jp.md

+252
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,252 @@
1+
[![Build Status](https://travis-ci.org/IBM/Scalable-WordPress-deployment-on-Kubernetes.svg?branch=master)](https://travis-ci.org/IBM/Scalable-WordPress-deployment-on-Kubernetes)
2+
3+
*他の言語で表示: [English](README.md) / [한국어](README-ko.md) / [português](README-po.md).*
4+
5+
# スケーラブルな WordPress 実装を Kubernetes クラスター上にデプロイする
6+
7+
このチュートリアルでは、Kubernetesクラスタの全機能を紹介し、世界で最も人気のあるWebサイトフレームワークを世界で最も人気のあるコンテナ・オーケストレーションプラットフォーム上に展開する方法を紹介します。KubernetesクラスタでWordPressをホストするための完全なロードマップを提供します。各コンポーネントは別々のコンテナまたはコンテナのグループで実行されます。
8+
9+
Wordpressは典型的な多層アプリケーションを表し、各コンポーネントはそれぞれのコンテナを持ちます。WordPressコンテナはフロントエンド層となり、MySQLコンテナはWordPressのデータベース/バックエンド層になります。
10+
11+
Kubernetesへのデプロイに加えて、フロントのWordPress層をどのように拡張できるか、そしてMySQLをIBM Cloudからのサービスとして仕様してWordPressフロントエンドで使用する方法も説明します。
12+
13+
![kube-wordpress](images/kube-wordpress-code.png)
14+
15+
## Included Components
16+
- [WordPress (最新版)](https://hub.docker.com/_/wordpress/)
17+
- [MySQL (5.6)](https://hub.docker.com/_/mysql/)
18+
- [Kubernetes Clusters](https://cloud.ibm.com/docs/containers/cs_ov.html#cs_ov)
19+
- [IBM Cloud Compose for MySQL](https://cloud.ibm.com/catalog/services/compose-for-mysql)
20+
- [IBM Cloud DevOps Toolchain Service](https://cloud.ibm.com/catalog/services/continuous-delivery)
21+
- [IBM Cloud Kubernetes Service](https://cloud.ibm.com/catalog?taxonomyNavigation=apps&category=containers)
22+
23+
## 前提条件
24+
25+
ローカルテスト用の[Minikube](https://kubernetes.io/docs/setup/minikube/)や、[IBM Cloud Kubernetes Service](https://github.com/IBM/container-journey-template)または[IBM Cloud Private](https://github.com/IBM/deploy-ibm-cloud-private/blob/master/README.md) のいずれかでKubernetes Clusterを作成します。このレポジトリのコードは[Kubernetes Cluster from IBM Cloud Container Service](https://cloud.ibm.com/docs/containers/cs_ov.html#cs_ov)上でTravis CIを使用して定期的にテストされています。
26+
27+
## 目的
28+
29+
このシナリオでは、以下の作業について説明します:
30+
31+
- 永続ディスクを定義するためローカル永続ボリュームを作成
32+
- 機密データを保護するためのシークレットを作成
33+
- WordPressフロントエンドのポットを1つ以上作成してデプロイ
34+
- MySQLデータベースを作成してデプロイします。(コンテナ内、またはバックエンドとしてIBM CloudのMySQLを使用)
35+
36+
## Deploy to IBM Cloud
37+
WordPressを直接IBM Cloudへデプロイしたい場合は、下の`Deploy to IBM Cloud`ボタンをクリックしてWordPressサンプルをデプロイするためのIBM Cloud DepOps サービスツールチェインとパイプラインを作成します。それ以外の場合は、[手順](##手順)へジャンプします
38+
39+
[![Create Toolchain](https://cloud.ibm.com/devops/setup/deploy/button.png)](https://cloud.ibm.com/devops/getting-started)
40+
41+
ツールチェインとパイプラインを完成させるには、 [Toolchain instructions](https://github.com/IBM/container-journey-template/blob/master/Toolchain_Instructions_new.md) の指示に従ってください。
42+
43+
## 手順
44+
1. [MySQL シークレットの設定](#1-mysql-シークレットの設定)
45+
2. [ローカル永続ボリュームの作成](#2-ローカル永続ボリュームの作成)
46+
3. [WordPressとMySQLのサービス/デプロイメントの作成と配布](#3-WordPressとMySQLのサービス/デプロイメントの作成と配布)
47+
- 3.1 [コンテナ内でMySQLを使用する](#31-コンテナ内でMySQLを使用する)
48+
- 3.2 [バックエンドとしてIBM Cloud MySQLを使用する](#32-バックエンドとしてIBM-Cloud-MySQLを使用する)
49+
4. [外部のWordPressリンクにアクセする](#4-外部のWordPressリンクにアクセする)
50+
5. [WordPressを使用する](#5-WordPressを使用する)
51+
52+
# 1. MySQL シークレットの設定
53+
54+
> *Quickstart option:* このレポジトリ内で `bash scripts/quickstart.sh`を実行します。
55+
56+
同じディレクトリに`password.txt`という名前の新しいファイルを作成し、希望のMySQLパスワードを`password.txt`の中に入れます。 (ASCII文字を含む任意の文字列).
57+
58+
59+
`password.txt`の末尾に改行が無いことを確認する必要があります。改行を削除するには、次のコマンドを使用します。
60+
```bash
61+
tr -d '\n' <password.txt >.strippedpassword.txt && mv .strippedpassword.txt password.txt
62+
```
63+
64+
# 2. ローカル永続ボリュームの作成
65+
Kubernetesポッドのライフサイクルを超えてデータを保存するには、MySQLおよびWordPressアプリケーションが接続するための永続的なボリュームを作成する必要があります。
66+
67+
#### IBM Cloud Kubernetes Service "ライト"クラスタ
68+
次のコマンドを実行して、ローカル永続ボリュームを手動で作成します
69+
```bash
70+
kubectl create -f local-volumes.yaml
71+
```
72+
#### IBM Cloud Kubernetes Service "有料"クラスタ または Minikube
73+
MySQLおよびWordPressアプリケーションがデプロイされると、永続ボリュームが動的に作成されます。この手順は不要です
74+
75+
# 3. WordPressとMySQLのサービス/デプロイメントの作成と配布
76+
77+
### 3.1 コンテナ内でMySQLを使用する
78+
79+
> *Note:* IBM Cloud Compose-MySQLをバックエンドとして使用したい場合は、[バックエンドとしてIBM Cloud MySQLを使用する](#32-バックエンドとしてIBM-Cloud-MySQLを使用する)を参照してください
80+
81+
永続ボリュームをクラスタのローカルストレージにインストールします。その後、MySQLとWordPressのためのシークレットとサービスを作成します
82+
```bash
83+
kubectl create secret generic mysql-pass --from-file=password.txt
84+
kubectl create -f mysql-deployment.yaml
85+
kubectl create -f wordpress-deployment.yaml
86+
```
87+
88+
89+
すべてのポッドが実行されたら、次のコマンドを実行してポッド名を確認します。
90+
```bash
91+
kubectl get pods
92+
```
93+
94+
これにより、Kubernetesクラスタからのポッドのリストが返されます
95+
```bash
96+
NAME READY STATUS RESTARTS AGE
97+
wordpress-3772071710-58mmd 1/1 Running 0 17s
98+
wordpress-mysql-2569670970-bd07b 1/1 Running 0 1m
99+
```
100+
101+
それでは、[外部のWordPressリンクにアクセスする](#-4-外部のWordPressリンクにアクセスする)へ進んでください
102+
103+
### 3.2 バックエンドとしてIBM Cloud MySQLを使用する
104+
105+
IBM CloudでCompose for MySQLをプロビジョニングします https://cloud.ibm.com/catalog/services/compose-for-mysql
106+
107+
サービス認証情報に移動して、認証情報を確認してください。
108+
MySQLのホスト名、ポート番号、ユーザー、パスワードがあなたの認証情報URIの下にあり、以下のように見えるはずです
109+
110+
![mysql](images/mysql.png)
111+
112+
`wordpress-deployment.yaml`ファイルを編集し、WORDPRESS_DB_HOSTの値をMySQLのホスト名とポート番号に変更し(例: `value: <hostname>:<port>`)、 WORDPRESS_DB_USERの値をMySQLパスワードに変更します
113+
114+
環境変数は次のようになります
115+
116+
```yaml
117+
spec:
118+
containers:
119+
- image: wordpress:4.7.3-apache
120+
name: wordpress
121+
env:
122+
- name: WORDPRESS_DB_HOST
123+
value: sl-us-dal-9-portal.7.dblayer.com:22412
124+
- name: WORDPRESS_DB_USER
125+
value: admin
126+
- name: WORDPRESS_DB_PASSWORD
127+
value: XMRXTOXTDWOOPXEE
128+
```
129+
130+
`wordpress-deployment.yaml`を変更したら、次のコマンドを実行してWordPressをデプロイします
131+
```bash
132+
kubectl create -f wordpress-deployment.yaml
133+
```
134+
135+
すべてのポッドが実行されたら、次のコマンドを実行してポッド名を確認します
136+
```bash
137+
kubectl get pods
138+
```
139+
140+
これにより、Kubernetesクラスタからポッドのリストが返されます
141+
142+
```bash
143+
NAME READY STATUS RESTARTS AGE
144+
wordpress-3772071710-58mmd 1/1 Running 0 17s
145+
```
146+
147+
# 4. 外部のWordPressリンクにアクセスする
148+
149+
> 有料クラスタがある場合は、NodePortの代わりにLoadBalancerを使用することができます。
150+
>
151+
>`kubectl edit services wordpress`
152+
>
153+
> `spec`の下で、 `type: NodePort` を `type: LoadBalancer` に変更してください
154+
>
155+
> **Note:** YAMLファイルを編集したあとに、`service "wordpress" edited`が表示されていることを確認してください。これはYAMLファイルが入力ミスや接続エラーなしで正常に編集されたことを意味します。
156+
157+
クラスタのIPアドレスを取得するには
158+
159+
```bash
160+
$ bx cs workers <your_cluster_name>
161+
OK
162+
ID Public IP Private IP Machine Type State Status
163+
kube-hou02-pa817264f1244245d38c4de72fffd527ca-w1 169.47.220.142 10.10.10.57 free normal Ready
164+
```
165+
166+
NodePort番号を取得するには、次のコマンドを実行する必要があります。
167+
168+
```bash
169+
$ kubectl get svc wordpress
170+
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
171+
wordpress 10.10.10.57 <nodes> 80:30180/TCP 2m
172+
```
173+
174+
おめでとうございます。今あなたはあなたのWordPressサイトへアクセスするためのリンク**http://[IP]:[port number]** を使用することができるようになりました。
175+
176+
177+
> **Note:** 上記の例では、リンクは次のようになります http://169.47.220.142:30180
178+
179+
Kubernetes UIでdeploymentのステータスを確認することができます。`kubectl proxy`を実行し、URL 'http://127.0.0.1:8001/ui'に移動して、WordPressコンテナの準備が整ったことを確認します。
180+
181+
![Kubernetes Status Page](images/kube_ui.png)
182+
183+
> **Note:** ポッドが完全に機能するまで最大5分かかります。
184+
185+
186+
187+
**(Optional)** クラスタ内にさらにリソースがあり、WordPress Webサイトをスケールアップしたい場合は、次のコマンドを実行して現在のdeploymentsを確認できます。
188+
189+
```bash
190+
$ kubectl get deployments
191+
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
192+
wordpress 1 1 1 1 23h
193+
wordpress-mysql 1 1 1 1 23h
194+
```
195+
196+
これで、次のコマンドを実行してWordPressフロントエンドをスケールアップできます。
197+
```bash
198+
$ kubectl scale deployments/wordpress --replicas=2
199+
deployment "wordpress" scaled
200+
$ kubectl get deployments
201+
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
202+
wordpress 2 2 2 2 23h
203+
wordpress-mysql 1 1 1 1 23h
204+
```
205+
ご覧のとおり、WordPressフロントエンドを実行している2つのポッドがあります。
206+
207+
> **Note:** 無料クラスタユーザーの場合、無料利用枠のユーザーには限られたリソースしかないため、スケールアップは最大10個のポッドまでとすることをおすすめします。
208+
209+
# 5. WordPressを使用する
210+
211+
WordPressが起動しました。新しいユーザーとして登録して、WordPressをインストールすることができます。
212+
![wordpress home Page](images/wordpress.png)
213+
214+
WordPresをインストール後、新しいコメントを投稿することができます。
215+
216+
![wordpress comment Page](images/wordpress_comment.png)
217+
218+
219+
# トラブルシューティング
220+
221+
誤って改行付きのパスワードを作成した場合、MySQLサービスを認証することはできません。現在のシークレットを削除するには
222+
223+
```bash
224+
kubectl delete secret mysql-pass
225+
```
226+
227+
サービス、deployments、永続ボリューム要求を削除したい場合は、次のコマンドで実行できます
228+
```bash
229+
kubectl delete deployment,service,pvc -l app=wordpress
230+
```
231+
232+
永続ボリュームを削除したい場合は、次のコマンドで実行できます
233+
```bash
234+
kubectl delete -f local-volumes.yaml
235+
```
236+
237+
WordPressの動作に時間がかかる場合、ログを調べることでWordPressのデバックすることができます。
238+
```bash
239+
kubectl get pods # WordPressのポッド名を取得する
240+
kubectl logs [wordpress pod name]
241+
```
242+
243+
244+
# References
245+
- このWordPressの例は、
246+
https://github.com/kubernetes/kubernetes/tree/master/examples/mysql-wordpress-pd にあるKubernetesのオープンソースの例[mysql-wordpress-pd](https://github.com/kubernetes/kubernetes/tree/master/examples/mysql-wordpress-pd)に基づいています。
247+
248+
249+
# ライセンス
250+
このコードパターンは、Apache Software License, Version 2の元でライセンスされています。このコードパターン内で呼び出される個別のサードパーティコードオブジェクトは、独自の個別ライセンスに従って、それぞれのプロバイダによってライセンスされます。コントリビュートの対象は[Developer Certificate of Origin, Version 1.1 (DCO)](https://developercertificate.org/) と [Apache Software License, Version 2](https://www.apache.org/licenses/LICENSE-2.0.txt)です。
251+
252+
[Apache Software License (ASL) FAQ](https://www.apache.org/foundation/license-faq.html#WhatDoesItMEAN)

0 commit comments

Comments
 (0)