WordPressをKubernetes上に構築して自動バックアップ等も組み込み、きれいに出来たと思っていましたが1点だけ問題がありました。
投稿時に9時間ずれて予約投稿になって予約投稿失敗します。
9時間ということでタイムゾーンには間違いないのですが、ホストもコンテナもWordPressも時刻はJSTで正しい状態です。
もしかするとKubernetesの問題の可能性もありますが、具体的な被疑箇所までは特定できていません。
かなり調べて結局お手上げでしたが、ワークアラウンドを見つけました。
投稿時のWordPress上の「すぐに公開する」内の時刻を9時間前にして投稿すると予約投稿にならずに公開できます。
これができなかったらどうやって投稿しようと思っていましたがとりあえずは何とかなりそうです。
[追記]
その後原因が分かりました。原因はDockerfileでのビルド時に指定したタイムゾーンの設定方法です。
問題がある方法は下記の通りです。/usr/share/zoneinfo/Asia/Tokyoをコピーしています。
FROM ubuntu:22.04 RUN apt-get update RUN DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold -y upgrade RUN DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold -y install tzdata RUN cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
修正後は下記の通りです。コピーではなくシンボリックリンクに変更しました。/etc/timezoneの変更有無で状態に変化はなかったのですが、デフォルトがUTCになっているので合わせて指定するように変更しました。
これで問題が解消されたのですが、なぜこれで解消するのか背景までは不明でした。
FROM ubuntu:22.04 RUN apt-get update RUN DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold -y upgrade RUN DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold -y install tzdata RUN ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime RUN echo "Asia/Tokyo" > /etc/timezone
WordPress 投稿時に9時間ずれて予約投稿になって予約投稿失敗 Docker/Kubernetes