みなさん、こんにちは。サニービュー事業部の小寺です。
今月、EKSが Kubernetes 1.21のサポートを開始しました。

https://aws.amazon.com/jp/blogs/news/amazon-eks-1-21-released/

■EKS(Elastic Kubernetes Service)とは
Elastic Kubernetes Service(以下、EKS)とはKubernetes(Googleによって開発され、現在はOSS化されたプロジェクト)をマネージドのサービスとして利用するコントロールプレーンが、EKSです。

OSSであるKubernetesを使ってAWSのデータプレーンを操作するため、扱いにはKubernetesに対する学習が必要な反面、プロビジョニングやトラブルシューティングに関するナレッジもあり、AWSのみならずオンプレミス、Microsoft(AKS)、Google(GKE)等他社のマネージドKubernetesサービスに対する理解も同時に得られる事ができます。

EKS を使用すると、フルマネージド EKS クラスターを AWS で実行できます。
Amazon EKS Distro で一貫した操作を行うために、オープンソースで実績のある Kubernetes のディストリビューションをどこにでも配置することができます。オンプレミスとエッジで AWS Outposts と AWS Wavelength を使用して、Kubernetes クラスターをホストおよび運用して、Amazon EKS Anywhere (2021 年に登場) で一貫したクラスター管理を行うこともできるようになりました。

■Kubernetes バージョン 1.21の主なリリース内容

・CronJob の改善
CronJob は、Kubernetes のこのリリースで安定版に移行されました。

・Graceful Node Shutdown
この機能はベータ版に移行し、すべての Pod が正常にシャットダウンする機会が与えられるまで、kubelet がノードのシャットダウンをブロックできるようになりました。

・IPv4/IPv6 デュアルスタックのサポート
Kubernetes は、Pod が IPv4 と IPv6 のアドレスを同時に持つことができる機能を追加しました。この機能は、クラスターのニーズや使用している Container Network Interface (CNI) に依存します。

・Immutable Secret と Immutable ConfigMap
Kubernetes API で ConfigMap と Secret をイミュータブルとしてマークすることができるようになりました。これは、ConfigMap の変更が必要な新しいアプリケーションに移行しようとするときに非常に役立ちます。

・マネージド型ノードグループのための Cluster Autoscaler priority expander
EKS 1.21 のマネージド型ノードグループは、Auto Scaling Group に eks– の形式で 名前を付けます。これにより、マネージド型ノードグループで Cluster Autoscaler の priority expander を利用できるようになりました。

Kubernetes 1.21 の Amazon EKS Distro ビルドは、ECR Public Gallery および GitHub から入手できます。

さらに、次のリリースである1.22からは、デフォルトのランタイムを Docker から containerd に変更されます。1.21 のライフサイクルにおいて、containerd を使用してワークロードをテストすることをお勧めします。そうすることで、
Dockerに依存することなく、EKSを利用することが確認できます。

■Kubernetesのバージョンについて

Kubernetes の各バージョンに Kubernetes コミュニティが提供するサポートに沿って、Amazon EKS は Kubernetes の少なくとも 4 つの実稼働対応バージョンを常時サポートするようになっています。現在、Kubernetes 1.17、1.18、1.19、1.20、および 1.21 が EKS によってサポートされます。

ただし、Kubernetes バージョン 1.17を利用されている方は、サポート終了日である2021年10月4日から、新しい 1.17 クラスターの作成ができなくなります。 Kubernetes バージョン 1.17 を実行している既存 EKS クラスターのすべてが、Kubernetes バージョン 1.18 の最新プラットフォームに自動的に更新されます。

ここで注意事項として、コントロールプレーンの自動更新後は、クラスターアドオンと Amazon EC2 ノードを手動で更新する必要があります。
さらに、コントロールプレーンを更新する場合は、Fargate ノードを更新する必要があります。Fargate ノードを更新するには、ノードと対応した Fargate ポッドを削除した上で、ポッドを再デプロイします。新しいポッドは、クラスターと同じ kubelet バージョンでデプロイされます。

また、更新については、AWSの任意なタイミングで実行されますので、Kubernetes バージョン 1.17をご利用の場合、アップデートの計画をたてて、早めに1.18以降のバージョンへアップグレードをお勧めします。

■まとめ

いかがでしたでしょうか。SunnyCloudでは、AWS移行、構築、運用までの様々なソリューションを提供しています。

▼「無料相談」受付中です。
https://www.sunnycloud.jp/contact-us/