6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【待望】EKSでワーカーノードのプロビジョニングがサポートされた

Last updated at Posted at 2019-11-19

概要

EKSで使用するワーカーノードのプロビジョニングおよび管理を、EKSのサポートとして対応されたことが2019年11月18日にAWSから発表されました。
つまり、自前でEC2を管理する必要がなくなります。これは超待望。
https://aws.amazon.com/jp/about-aws/whats-new/2019/11/amazon-eks-adds-support-for-provisioning-and-managing-kubernetes-worker-nodes/

従来のワーカーノードの管理方法

ワーカーノード用EC2のプロビジョニングはオートスケーリンググループを用意するなどの方法で行う必要がありました。
つまり、EC2の管理とEKSの管理は別々でした。

さらに、オートスケーリンググループを使った場合は下記の設定をする必要がありました。

  • クラスターオートスケール用の設定を自身で行う
  • EC2起動時のuser dataにEKSクラスタと紐付けるスクリプトが必要

今回のアップデート内容

EKSにNodeGroupという概念が登場しました。
eks-api-evolution-1024x495.png

NodeとPodのキャパシティを見て、EKSが自動でEC2を増やしたり減らしたりしてくれる機能です。
AWSコンソール上で、EKSクラスターの詳細画面から設定できます。
0_mng-cluster-overview-1024x516.png

NodeGroupの設定に必要なのは

  • ワーカーノード用のサブネット
  • ワーカーノード用のIAMロール
  • ワーカーノードのインスタンスタイプ
  • 台数(Minimum size, Max size, Desired size)

この辺りの最低限必要なマシンの設定を行なっていきます。
つまり、従来のクラスターオートスケールの設定、EC2起動時のスクリプトなどが不要となり、マシンのあらかたの外枠だけ決めておけば後はkubernetesで良い感じにやってくれるようになります。

画像は公式ブログより抜粋。
https://aws.amazon.com/jp/blogs/containers/eks-managed-node-groups/

また、AWSコンソール以外にも下記ツールなどを使用してNodeGroupを作成することもできます。

  • AWS CLI
  • eksctl CLI
  • Cloudformation
  • Terraform

Terraformではもう使えるの?

私は業務で、TerraformでEKSクラスタを構築しているので、サポートされているかが気になっていましたが、バッチリサポートされていました。
https://github.com/terraform-providers/terraform-provider-aws/blob/master/CHANGELOG.md

Terraformの場合は aws_eks_node_group というリソースを使用することでNodeGroupを作成できます。

まとめ

EKSでワーカーノードのプロビジョニング、管理がサポートされました。
EC2のスペックなどの指定は必要になりますが、オートスケーリンググループを使って自前で管理していた部分がマネージドになるのは幸せになれそうです!
今後も素晴らしいアップデートを期待しております。

6
2
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
6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?