bitnami/wordpressのwordpressバージョンアップと再インストール方法(緊急時用)

bitnami/wordpress

前回、bitnami/wordpressのhelmを作ったが、今回はその管理の話。

手始めに、導入されたWPのバージョンが4系だったので、5系にしたい。

※今日(2020年9月21日)時点ではすでに最新のhelmチャートでは5系が導入されているので、仮に次のバージョンに急いであげたい場合の参考にしてください。

しかし、ウェブサイト上から自動アップデートして、ホストOSの再起動をしてしまうと記事はそのままだが4系に戻ってしまう。

よって、ここではbitnami/wordpressのconfig.ymlを出力し、それを編集することにより、導入されるバージョンを5系とする。

1.config.ymlの出力

helm inspect values bitnami/wordpress > config.yml

2.出てきたconfig.ymlを以下の通り編集。なお、ここでvimをubuntuにインストールした方が作業がしやすい。また、編集時はインラインの位置にも注意が必要。

image:
  registry: docker.io
  repository: bitnami/wordpress
  tag: 5.5.0-debian-10-r4
  ##tag: 5.4.2-debian-10-r46

※使えるバージョンタグは以下のSupported tagsで確認した。

Build software better, together
GitHub is where people build software. More than 100 million people use GitHub to discover, fork, and contribute to over...

3.ここで上記ファイルのコンフィグを読み込ませ、再度デプロイするために、helm delete b-wordpressとするとエラーとなりPodが立ち上がらない。原因はMariaDBのPVCが残っており、なおかつパスワードが不明なため失敗している。

解決方法1.helm deleteする前に、以下のコマンドでパスワードを出力し、config.ymlを編集してセットしておく。
①ユーザのパスワード確認

echo Password: $(kubectl get secret --namespace default b-wordpress-mariadb -o jsonpath="{.data.mariadb-password}" | base64 --decode)
Password: {パスワードが表示される}

※ちなみに、ユーザ名はbitnami/wordpressのconfig.ymlを見る限りデフォルトでbn_wordpressと設定されている模様
②rootユーザのパスワード確認

echo Password: $(kubectl get secret --namespace default b-wordpress-mariadb -o jsonpath="{.data.mariadb-root-password}" | base64 --decode)
Password: {rootのパスワードが表示される}


③config.ymlにパスワードをセットする。rootUser:は値を入れると値を入れることができないプロパティと怒られるので入れないこと。また、インラインにも注意。追加するのはpasswordを2箇所。

  db:
    name: bitnami_wordpress
    user: bn_wordpress
    ## If the password is not specified, mariadb will generates a random password
    ##
    # password:

    password: ここに確認したパスワードを入力

  ## MariaDB admin password
  ## ref: https://github.com/bitnami/bitnami-docker-mariadb/blob/master/README.md#setting-the-root-password-on-first-run
  ##
  # rootUser:
  #   password:
  rootUser:
    password: ここに確認したパスワードを入力

解決方法2.データは消えるが、PVCを作り直した方が早い。
①WordPressのデータは作業前にエクスポート。
http://IP/adminに入り、Tools>Exportでエクスポート。
②kubectl get pvcでdata-b-wordpress-mariadb-0がいることを確認し、kubectl delete pvc data-b-wordpress-mariadb-0で削除、kubectl get pvcでいなくなっていることを確認。
③(後で)データをImportするにはTools>Importを選択し、WordPressのImporterをInstallして実施)

4.準備できたところで、以下のコマンドでおもむろにhelmインストール!

helm install b-wordpress -f config.yml bitnami/wordpress

5.この後、調子にのって推奨の商用設定を以下サイトに則って入れてみます。
https://github.com/bitnami/charts/tree/master/bitnami/wordpress

※Production configurationの部分
6.helm delete b-wordpress、PVCもkubectl delete pvc data-b-wordpress-mariadb-0もさくっと削除し、再度4のコマンドでインストールすると。。マウントに失敗します。
そこで、ubuntuでNFSをマウントできるよう、ホストOS側でnfs-commonをインストール

sudo apt-get install nfs-common

7.そして、おまけにsshもインストールしてリモート接続する

sudo apt-get install ssh
sudo systemctl status sshd

8.有効化した時に備えて、FWの設定も!

sudo ufw allow 22
sudo ufw status
※ここで 状態:非アクティブ となっていることから、起動しているが通信制御していない状態であることがわかる
sudo systemctl status ufw

おまけ.
kubectl get pod でPODがRunningとならずにRESTARTSを繰り返したら、mariadb > wordpressの順に起動していないといけないので最初にこけた方にてkubectl logs POD名、kubectl describe pod POD名から原因追及していくべし。

コメント

タイトルとURLをコピーしました