Slide 1

Slide 1 text

Sansan株式会社 部署 名前 初クラスタアップグレードの 失敗と学び Sansan技術本部 技術本部 研究開発部 Architectグループ 新井和弥

Slide 2

Slide 2 text

写真が入ります 新井 和弥 Sansan株式会社 技術本部 研究開発部 Architectグループ エンジニア 前職ではデータエンジニアとしてB2B SaaS企業のABMプラッ トフォームプロダクトの開発に従事。2022年Sansan株式会社⼊ 社。研究開発部Architectグループ ML Platform所属。研究員と ともにDevOps/MLOpsに向き合う。Kubernetesとの付き合い は1年くらい。 Please call me KAZY.

Slide 3

Slide 3 text

先⽇初めてのクラスタアップグレードを⾏いました。 なにか起こるだろうなと予想はしていたものの、やっぱり⾊々起きました。 失敗と反省をKubernetes Meetup Tokyoに集まるツワモノの皆様の笑顔に変 えることで成仏させたいと思いやってきました。 本⽇のテーマ 2 https://buildersbox.corp-sansan.com/entry/2023/05/19/110000 ※5⽉に弊社テックブログで公開した内容のLT版です。

Slide 4

Slide 4 text

弊社でのKubernetes利⽤について

Slide 5

Slide 5 text

弊社でのKubernetes利⽤について - 研究開発部(50名程度の組織)のアプリケーション基盤として利⽤ - 2022/07に本番運⽤を開始(1周年🎉) - KubernetesはSansan社内で初採⽤ - AWS EKSを利⽤ - 約50程度のシステムが動く > 約80Pod > 約60Node AWS EKS上で稼働 App+API+Batch: 50 Core+Addon: 30

Slide 6

Slide 6 text

弊社でのKubernetes利⽤について - シングルクラスタマルチテナント構成 - Argo CDでGitOps - Blue/Greenなクラスタのアップグレードを採⽤ > 新しいクラスタを作ってシステムを移⾏させる - TerraformによるIaC化 新しいクラスタへ移⾏ v1.22 v1.24

Slide 7

Slide 7 text

再現性のなきIaC

Slide 8

Slide 8 text

Terraform applyするだけかと思いきや... - ⼀部変数を書き換えてApplyすれば新クラスタがサクッと⽴つ 👍 > Terraformのmoduleを利⽤して再利⽤準備 OK 👍👍 > 既存クラスタのインフラで運⽤問題なし 👍👍👍 期待

Slide 9

Slide 9 text

Terraform applyするだけかと思いきや... - ⼀部変数を書き換えてApplyすれば新クラスタがサクッと⽴つ 👍 > Terraformのmoduleを利⽤して再利⽤準備 OK 👍👍 > 既存クラスタのインフラで運⽤問題なし 👍👍👍 - クラスタは⽴ちません > エラー、エラー、エラー.... どうして.... - 試⾏錯誤中に本番環境のSecrets Managerを消してしまった 期待 現実🔥

Slide 10

Slide 10 text

Terraform applyするだけかと思いきや... - 意図せずリソースに順序関係が⽣まれていた > ⼿探りで徐々にリソースを追加していたため気が付かず > クラスタ内のアドオンありきのリソース作成等.. - Terraformとk8sのマニフェストとの役割⾒直し - クラスタ作成後でないとApplyできないようなステートの分割 原因 対応

Slide 11

Slide 11 text

どっちなの?

Slide 12

Slide 12 text

クラスタ移⾏中の想像不⾜ - アプリもまだ少ないしクラスタの移⾏はサクッ終わる👍 > クラスタ移⾏中は2クラスタ⽴つけど少しの我慢👍👍 期待

Slide 13

Slide 13 text

クラスタ移⾏中の想像不⾜ - クラスタ移⾏完了まで5ヶ⽉かかり 研究員(アプリ開発者)を混乱に陥れる > どちらのクラスタにデプロイしたら良いの? > 間違えて古い⽅のクラスタにデプロイしてしまった (TargetGroupBindingの暴⾛..) > Web UIからデプロイしたアプリが⾒えないよ? (Argo CD, Argo Workflows, Argo Rollouts..) 現実🔥 - アプリもまだ少ないしクラスタの移⾏はサクッ終わる👍 > クラスタ移⾏中は2クラスタ⽴つけど少しの我慢👍👍 期待

Slide 14

Slide 14 text

クラスタ移⾏中の想像不⾜ - クラスタ移⾏中において、 研究員(アプリ開発者)への影響を軽視 - ユーザへの案内 > クラスタ移⾏中であることの周知 / 移⾏中⽤のWeb UIのURL発⾏ - Argo CD⽤クラスタ検討 > そもそも複数UIを持たせない - クラスタ移⾏のリードタイム削減 原因 対応

Slide 15

Slide 15 text

さいごに

Slide 16

Slide 16 text

失敗ばかり話しましたが... Kubernetesを導⼊してよかったこと - アプリケーションのリリース数がかなり増えました 🎉 K8s導⼊以降 とあるアプリのリリース数

Slide 17

Slide 17 text

WE ARE HIRING JOIN OUR TEAM https://media.sansan-engineering.com/randd https://open.talentio.com/r/1/c/sansan/pages/76616

Slide 18

Slide 18 text

No content