EKSを利用していると、必ずついて回るのがクラスターのバージョンアップデート対応です。作業・検証の負担が大きく、かつ更新頻度が高い為(Kubernetesバージョンがリリースされた時点から14ヶ月後に終了)、定期的に対応工数がかかります。 仮にリリース後即座に最新化しても、14ヶ月後には再びアップデート対応を行わなくてはなりません。
そんな中、2023年12月21日にUpgrade insightsという便利な機能がリリースされました。早速検証環境のクラスターで実際に確認してみます。
※2023年10月頃にEKSクラスターバージョンの延長サポート機能のプレビュー版がリリース、2024年1月頃に利用可能予定です。有償ですが、使う場合は追加で+12ヶ月サポートされます。
Upgrade insightsとは
EKSのバージョンごとで非推奨・削除予定となっているKubernetes APIをAWSのコンソール画面やAPIで確認できる機能です。
利用するにあたり事前に設定等する必要はなく、EKSを利用中であれば簡単に確認が可能です。
以下は検証用環境のv1.25クラスター画面です
EKS画面の中央タブ・Upgrade Insightsの項目から確認できます
日本語 案内:
https://aws.amazon.com/jp/about-aws/whats-new/2023/12/amazon-eks-upgrade-insights/
コンソールから確認する
先ほどの画面でErrorとなっている箇所を押下すると、対象のクラスターで利用されているAPIでv1.26では非推奨となるリソースを教えてもらえます。
Deprecated API usage detected within last 30 days and your cluster is on Kubernetes v1.25.
■Deprecation details
Usageに該当するAPI、Replaced withにAPIの修正例が記載されています
Errorとなっている箇所は、実際にEKS上で利用されている状態であることを示しています。/apis/autoscaling/v2beta2/horizontalpodautoscalersをクリックしてみますと、
該当するリソース名、30日以内にリクエストされた数が確認できます。
■Recommended action
こちらでは以下のようなEKS、Kubernetesのアップデートに関するドキュメントが案内されています。
v1.26では、以下のAPIが非推奨になるようです
Flow control resources:flowcontrol.apiserver.k8s.io/v1beta1
HorizontalPodAutoscaler:autoscaling/v2beta2
■Resources
クラスター内で非推奨APIが実際に使われているリソースのネーム一覧が記載されています
(画像のNameにあるhorizontalpodautoscalersの右側に続くのはmetadata.name名となっています)
APIから確認
aws eks ****-insightコマンドから確認ができます
コマンドの詳細は以下リンクのAWS CLIより確認できます
https://docs.aws.amazon.com/eks/latest/userguide/cluster-insights.html
オプション等
https://awscli.amazonaws.com/v2/documentation/api/latest/reference/eks/describe-insight.html
アップグレード作業の時間短縮に活用したい
クラスターのバージョンごとに非推奨・削除予定となっているAPIを簡単に確認できるようになりました。上手く利用する事で、クラスターアップデート前にする調査対応の負担権限が期待できます。
現状、年1回程度はEKSアップデート対応が生じる状況ですので積極的に活用できればと思います。