KubernetesへphpMyAdminをデプロイしてWordPressのデータベースに接続してみました

先日、KubernetesへデプロイしたWordPressに、Dockerで動かしていたWordPressのバックアップをリストアしてみました。

KubernetesへデプロイしたWordPressへのデータリストア覚書
WordPressのプラグイン等で、データベースも含めてバックアップ・リストアする手順が、通常の方法だと思います。 元のWin...

データベースの内容の確認のため、KubernetesへphpMyAdminをデプロイする手順を記録させて頂こうと思います。


KubernetesのphpMyAdminデプロイ手順の覚書

接続先ポッドのホスト名確認

デプロイ前に。WordPressをデプロイした際の、mariadbポッドのホスト名を確認しておきました。

kubectl describe pod wordpress-mariadb-0

ポッドの中でhostnameコマンドで確認した内容は、ポッド間の接続に使用するホスト名とは違うようです。

describeで表示されるService Account欄でしょうか?

helmでデプロイしたWordPressの場合、名称-mariadb-0の、-0を外した「名称-mariadb」が正解でした。

Kubernetesは同じ名前空間の中ではポッド間で通信が可能のようです。phpMyAdminは、mariadbポッドと同じ名前空間にデプロイします。

phpMyAdminのデプロイ

bitmaniさんのチャートを使用させて頂き、helmでデプロイしました。

サービスタイプにLoadBalancerを指定しています。ロードバランサー導入済みの環境用になります。

helm install my-release \
--set db.host=<mariadbのポッドのホスト名> \
--set db.port=3306 \
--set service.type=LoadBalancer \
oci://registry-1.docker.io/bitnamicharts/phpmyadmin

90秒ほどで準備ができました。

ロードバランサーを使用したため、割り当てられたIPアドレスに、クラスタ外のPCからWebブラウザで接続しました。

WordPressデプロイ時に使用したmariadbのアカウントでログインが可能です。

少し画面が崩れている気もしますが。データベースの管理という機能上は、特に問題はなさそうです。

クリーンナップ

helm uninstall my-release

phpMyAdminの利用が完了しましたら、デプロイメントを削除しておきます。


Kubernetesの場合、同じ名前空間にポッドを置けば、お互いに通信できるのは、管理が容易でとてもありがたいです。

今回はデフォルトの名前空間に、WordPressとphpMyAdminをデプロイしましたが。

セキュリティを考慮すると、名前空間は細かく決めて運用したほうが良いのかもしれません。

スポンサーリンク

フォローする

スポンサーリンク