本ブログは Netlify から Gatsby で生成した static site を配信する構成でしたが、以下の理由によりKubernetes上に構築したWordPressに移行しました。

  • Gatsby の starter を一部変更して使用していたことで Gatsby の upgrade に手間がかかっていた
  • 仕事で Kubernetes を使っているものの、Kubernetes Cluster の運用を自分で行っていないので自分用の Kubernetes Cluster を運用したい

Hugo などの別の static site generator ではなく WordPress にしたのは、Kubernetes 上で DB を運用するためです。

Kubernetes

執筆時の最新バージョンを使用しています。

  • HostOS: Fedore CoreOS
  • Container runtime: containerd
  • CNI plugin: cilium
  • Storage orchestrator: Rook
    • CSI: Ceph CSI

Kubernetes The Hard Wayを参考に、kubeadm は使わずに Cluster を構築しました。
Control Plane 1台、Kubernetes Node 2台の3台構成で、Control Plane でも kubelet を稼働させていますが、ときどき Control Plane の負荷が高くなるのでNode を1台追加して Control Plane では kubelet を稼働させないほうが良さそうです。
Kubernetes Without kube-proxyを参考に、kube-proxy なしで Cluster を構築したため、Kubernetes Node では Container runtime などを除くと kubelet だけ稼働しています。

WordPress

MySQL の管理に MySQL Operator を使い、WordPress Operator は使わず、自前で Service や Deployment を作成しました。