現在のストレージ構成
catalog MySQL データベースが現在どのようにデータを保存しているかを確認しましょう。catalog サービスはバックエンドデータベースとして MySQL を使用しており、その現在のストレージ構成を確認します。
まず、catalog MySQL データベースの StatefulSet を見てみましょう:
~$kubectl describe statefulset -n catalog catalog-mysql
Name: catalog-mysql
Namespace: catalog
[...]
Containers:
mysql:
Image: public.ecr.aws/docker/library/mysql:8.0
Port: 3306/TCP
Mounts:
/var/lib/mysql from data (rw)
Volumes:
data:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
[...]
StatefulSet は現在、Pod のライフタイムの間だけ存在する EmptyDir volume を使用しています。これは次のことを意味します:
- Pod が終了すると、すべてのデータベースデータが永久に失われます
- データベースは各 Pod の再起動時に新しい状態で開始されます
- Pod のライフサイクルイベント全体でデータの永続性がありません
これは本番環境のデータベースには適していません。次のセクションでは、Amazon EBS を使用して永続ストレージを構成し、データベースデ ータが Pod の再起動や障害を乗り越えて存続するようにします。