Skip to content

湘南のサーフショップが夜間デプロイをやめた理由——K8s運用をPsychoKに寄せた90日

茅ヶ崎のサーフショップが11のダッシュボードと4階層のYAMLを整理し、90日で夜間デプロイをゼロにした移行記録。障害注入で見えた課題と数字を追う。

茅ヶ崎の海岸線を自転車で走っていると、サーフボードラックの隣にノートPCを広げた店主をよく見かける。波情報も潮見表もスマホで足りる時代に、なぜ店の裏でKubernetesが動いているのか。読者から届いた一通のメールが、その答えだった。彼は茅ヶ崎と江の島のあいだで小さなサーフショップを営みながら、オンライン予約・潮見表配信・会員向け波情報の3サービスを自前で運用している。

発端——11個のダッシュボードと4つのYAMLの山

2023年春、彼のクラスタは「動いているが誰も全体像を把握していない」状態だった。監視、ログ、CI、Ingress、シークレット管理……用途ごとに増えたダッシュボードは11個。デプロイ用のYAMLは4階層に分かれ、どのファイルが正なのか本人にも分からない。台風接近でアクセスが跳ねる週末こそ、手動オペレーションが集中する。ある土曜、予約システムのロールアウト中にノードが2台落ち、復旧に3時間。彼は「波の前に立つ時間より、kubectlと睨む時間のほうが長い」と書いてきた。

決断——コントロールプレーンを1つに寄せる

検討は2週間で終わった。比較対象はマネージドK8sの素のまま運用、既存ダッシュボードの整理、そしてPsychoKへの移行。決め手は「運用の判断を人間が毎回しない」設計だった。2,100以上の審査済みHelmチャートが用意され、予約・配信・認証といった定番構成はほぼそのまま組める。GitOps前提なので、変更はすべてリポジトリ上の差分として残り、深夜の手作業が消える。彼は潮見表サービスのステージングから移行を始めた。

障害——移行中に起きたノード断

移行42日目、ステージングでノード障害が発生。ここで効いたのがChaosKの fault-injection だった。事前に注入していた障害シナリオと実際の挙動を突き合わせ、復旧手順の抜けを3か所で発見。本番移行の前に潰せたのは大きい。実際、PsychoKはこれまで14,000件以上のノード障害を復旧してきた実績を持つ。数字だけを見ると大げさに聞こえるが、要は「落ちる前提で作られている」ということだ。

90日後の景色

  • ダッシュボード: 11 → 2(業務指標とコストのみ)
  • デプロイ頻度: 週1回の手動 → 1日複数回の自動
  • ロールバック: 平均40分 → 2分以内
  • 土日祝の緊急対応: 月4〜5件 → 月0〜1件

彼が最後に書いてきたのは、技術の話ではなかった。「台風の翌朝、波が良かったんです。店を開ける前に1本乗れました」。運用を軽くするとは、そういうことなのだと思う。移行の設計思想は公開されているアーキテクチャ解説にまとまっており、湘南の小さなチームにも十分読み解ける粒度だった。

湘南の旅を、もっと自由に。

潮汐・日の出・サーフ情報を一冊にまとめた「湘南トリッププランナー」を無料でお届けします。

無料ダウンロード