2026年10月25日
2026年10月25日
WordPressのHelm Chartを使ったデプロイ方法
はじめに
WordPressは、多くのウェブサイトで広く使用されているオープンソースのCMS(コンテンツ管理システム)です。Kubernetesクラスタ上でWordPressを効率的にインストールと管理するためには、Helmチャートが非常に役立ちます。この記事では、WordPressのHelmチャートを使ったデプロイ方法について詳しく説明します。
症状・背景
- WordPressをKubernetesクラスタにインストールする必要がある場合
- データベースとアプリケーションが分離された構成でWordPressを管理したい場合
- WordPressサイトを迅速にスケーラブルにするための手順が必要な場合
- 業務の自動化やCI/CDパイプラインを整備する必要がある場合
手順・設定方法
ステップ1: HelmとTillerのセットアップ
# KubernetesクラスタにHelmクライアントをインストールします。
curl -sSL https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
# TillerサーバーをKubernetesクラスタにインストールします。
helm init --upgrade --wait
ステップ2: WordPressとMySQLのHelmチャートのインストール
# Helmリポジトリを追加します。
helm repo add stable https://charts.helm.sh/stable
# データベースとして使用するMySQLのHelmチャートをインストールします。
helm install mysql stable/mysql --set global.postgresql.enabled=false,mysqlRootPassword="rootpassword",mysqlDatabase="wordpress",mysqlUser="wordpressuser",mysqlPassword="wordpresspass"
# WordPressのHelmチャートをインストールします。
helm install wordpress stable/wordpress --set mysql.database=wordpress,mysql.user=wordpressuser,mysql.password=wordpresspass
ステップ3: カスタム設定を使用してWordPressとMySQLのインスタンスを調整
# WordPressのリソース制限やリクエストをカスタマイズします。
helm install wordpress stable/wordpress --set mysql.database=wordpress,mysql.user=wordpressuser,mysql.password=wordpresspass,persistence.enabled=true,persistence.size="5Gi",resources.limits.memory="256Mi",resources.requests.memory="128Mi"
# MySQLのリソース制限やリクエストをカスタマイズします。
helm upgrade mysql stable/mysql --set global.postgresql.enabled=false,mysqlRootPassword="rootpassword",mysqlDatabase="wordpress",mysqlUser="wordpressuser",mysqlPassword="wordpresspass",persistence.size="5Gi",resources.limits.memory="256Mi",resources.requests.memory="128Mi"
ステップ4: セキュリティとパフォーマンスを向上させるための設定
# WordPressのセキュアな設定ファイルを使用します。
helm install wordpress stable/wordpress --set mysql.database=wordpress,mysql.user=wordpressuser,mysql.password=wordpresspass,config.AUTOMATIC_UPDATER_DISABLED=true,config.WP_MEMORY_LIMIT="64M",config.WP_MAX_MEMORY_LIMIT="256M"
# ネットワークポリシーを使用してセキュリティを強化します。
helm install wordpress stable/wordpress --set mysql.database=wordpress,mysql.user=wordpressuser,mysql.password=wordpresspass,persistence.enabled=true,persistence.size="5Gi",resources.limits.memory="256Mi",resources.requests.memory="128Mi",networkPolicy.enabled=true
注意事項
- WordPressの最新バージョンをインストールするには、
stable/wordpressチャートから最新版を使用すること。 - MySQLのパスワードは安全に管理し、適切なセキュリティポリシーを適用すること。
- クラスタのリソース制約やパフォーマンス要件に基づいて、リソースリクエストとリソース限界を調整すること。
- ネットワークポリシーを使用する場合は、Kubernetesクラスタがそれに対応していることを確認すること。
まとめ
1. Helmのインストール: HelmはKubernetes用パッケージ管理ツールであり、WordPressとMySQLのデプロイに必要なコマンドを提供します。
2. MySQLチャートのインストール: WordPressのためにセキュアなデータベースを作成するために必要です。
3. WordPressチャートのインストール: データベース接続情報と共に設定ファイルを使用して、Kubernetes上でWordPressをデプロイします。
4. リソース制限と要求の調整: クラスタのパフォーマンスと安定性を保つために必要です。
5. セキュリティとネットワークポリシー: データ保護と通信経路の制御に役立ちます。
関連記事: