kubectlやeksctlといったコマンド実行や、Management Consoleからの操作といった従来の方法を使わずに、Gitの機能とTerraformを駆使して無停止で本番稼働しているEKSをバージョンアップした事例を紹介します。
従来、開発チーム内では手作業によるバージョンアップを実施しており、設定ミスや手順のばらつきにより再現性の確保が難しい状況でした。また、作業にかかる時間と労力が大きな負担となっていました。
このアプローチではバージョンアップにおける全ての工程をteraform applyで実行しました。作業履歴や状態を完全にGitに残すことができるため、コマンドのミスによる事故の確率を大幅に減らすと同時に、状態管理による一貫性と再現性の確保を実現しています。
また、K8sのリソースを全てTerraformで管理することで、PodのスケジューリングをTerraform側でコントロールすることが可能となり、同時に作業の安全性を高めることにも成功しました。
本セッションでは、具体的な手順や得られた成果、さらにこのアプローチを実践して見えた課題について詳しく解説します。