LoginSignup
1
0

EKS 1.24 から 1.28 へアップグレードしたので感想等

Posted at

背景

EKSの1.24が2024/01末日 でEOLを迎えます。
それに伴って、最新のバージョンに上げました。(サービス無停止)
そこで得た知見をシェアします。

前提として
AWS上でクラスタを構築していて、terraformで管理されています。

全般

kubernetes上にOSSで他のアプリケーション(Argo etc)を使っていたら
upgrade guide みたいなものがあるので一通りを通すと、問題に直面した時に感が利く。
release noteとか、見てたら、日が暮れてしまうので、そこまでしなくてよかったと反省。

https://aws.github.io/aws-eks-best-practices/
が更新されていそうなので、適宜眺めておくとよかった。

in-placeであげるよりも、同じ構成のクラスタをもう一つ用意して、lbで切り替えた方が良さそう。

IaC必須

kubernetes

https://aws.amazon.com/about-aws/whats-new/2023/12/amazon-eks-upgrade-insights/
こういう機能が出たけど、あまり役に立たなそうだった。(Custom resource使っていると、影響あるリソースが網羅できていないので注意)

ArgoCD

あまりk8s 依存がないので、単体であげる方が良さそう。
最新のバージョンは権限まわりが厳しくなっているので、ちゃんと設計した方が良さそう
雑に最低権限だけ与えていても動くっちゃ動く

ArgoWorkflow

あまりk8s 依存がないので、単体であげる方が良さそう。
アップグレードによる影響がほぼない。
webhookAPI使えるので、うまく利用して、CronWorkflowとかcliで管理すると楽

Istio

canary releaseができるみたいなので、利用して、単体でupgradeすると良さそう。
1.21はExternalName周りの挙動に気になる変更があるので、1.20にアップグレードしてから、当該の機能を有効化する動作検証やっといた方が良さそう。

感想

動作確認になかなか骨が折れた。
動作確認のためにcli commandをたくさん書いて、テスト項目書を作ったので、cli周りはそこそこ慣れた。

やったことのボリュームが大きすぎて、何か書き残そうと思ったけど、まとめるのがしんどくなるので、内容が薄くなってしまう。

SREチームのメンバー数人に合意を得ながら一人で進めたので、
このプロジェクトに従事した3ヶ月で書いたドキュメントの量はそこそこあるが、
X(twitter)の採用ページにドキュメント書く人材よりコード各人材のが価値がある。
みたいな記載があって悲しくなった。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0