考虑到 Amazon EKS 的容错能力
首先
この記事はDevOps on AWS大全の一部です。
DevOps on AWS大全の一覧はこちら。
本文中非常详细地解释了Amazon EKS从容错性的角度。
我将以以下步骤进行具体说明。
-
- Amazon EKSとは
-
- Amazon EKSのスケーラビリティ
-
- Amazon EKSのストレージ
- Amazon EKSのロギング
AWSの区分でいう「Level 200:トピックの入門知識を持っていることを前提に、ベストプラクティス、サービス機能を解説するレベル」の内容です。
この記事を読んでほしい人
-
- Amazon EKSを採用するときのベストプラクティスを説明できるようになりたい人
-
- Amazon EKSの耐障害性に不安を感じている人
- AWS Certified DevOps Engineer Professionalを目指している人
什么是亚马逊EKS?
EKSとはKubernetesクラスターをAWS上でローンチするためのサービスです。
ECSと同じようにコンテナアプリケーションの自動デプロイやスケーリング、管理をするためのサービスですがEKSはオープンソースのKubernetesベースでありAWSオリジナルのECSとはAPIが異なります。
过去只支持EKS on EC2,但现在也支持EKS on Fargate,因此可以在没有管理基础架构层的情况下使用Kubernetes。
如果您想在AWS上使用容器服务,首先考虑的最佳实践是使用Faragate上的ECS。
考虑使用EKS的情况通常是已经使用Kubernetes或者考虑可移植性的情况较多。
亚马逊EKS的可扩展性
在解释EKS的可扩展性之前,先了解节点管理的方法,然后再考虑可扩展性。
在EC2上的EKS
在EKS on EC2的情况下,有两种节点管理方式。
一种是托管节点型节点组,另一种是自行管理型节点。
在托管节点组中,您无需单独配置或注册EC2实例即可运行Kubernetes应用程序。
您可以通过一次操作来创建、自动更新或终止集群节点。
对于自管理型节点,您需要自行创建节点并将其注册到集群中。
Amazon EKS 提供了一种特殊的 AMI,称为 Amazon EKS 优化 AMI,您可以使用它来构建 EC2 实例,并将其注册到 EKS 集群中。
以下是关于EKS on EC2的可扩展性。
EKS on EC2的节点可以使用任何节点类型,并通过AutoScalingGroup进行管理。
因此,在节点内启动大量的Pod并增加负载时,AutoScaling会启动新的EC2实例作为新的节点。
不过,与ECS不同,EKS是基于Kubernetes的机制运行的,所以并不需要直接意识到AWS的AutoScalingGroup。
实际上,我们使用名为Cluster-Autoscaler的Kubernetes机制进行扩展,而在其背后则调用了AutoScaling的API进行操作。
Fargate 上的 EKS
对于在Fargate上运行的EKS,和在Fargate上运行的ECS一样,不需要进行管理。
因此,无需特别设置即可自动使用并进行扩展。
另外,数年前因为EKS on Fargate的扩展性能太差,所以如果追求性能的话,只能选择EKS on EC2。然而,最近性能得到了改进,所以现在在许多情况下,EKS on Fargate也可以满足需求了。
亚马逊托管的EKS存储
在设置EKS存储时,需要在EKS集群上指定StorageClass清单并利用符合CSI标准的驱动程序。
EKS支持多种存储选项,包括Amazon EBS和Amazon EFS。
EBS提供对单个EC2实例连接的基于块级的存储,并实现高性能和可靠性。
一方、EFSはマルチAZにわたる複数のEC2インスタンスで共有されるファイルレベルのストレージであり、スケーラビリティとシンプルな共有が可能です。
亚马逊弹性容器服务(Amazon EKS)的日志记录。
亚马逊 EKS 在控制平面和节点/容器两个级别上提供了有效的日志记录功能。
控制平面的日志记录
在控制平面日志记录中,会自动记录Kubernetes主控组件,如API服务器和调度器的活动到CloudWatch日志中。这样一来,集群的性能和问题排查都变得更加容易。
节点/容器的日志记录
在节点和容器的日志记录中,可以使用Fluentd或Fluent Bin将日志数据发送到CloudWatch Logs或其他自定义日志组中。
这样可以监控应用程序和基础架构的活动,并能够快速识别和修复问题。
总结
本文通过耐障性的角度对Amazon EKS进行了非常详细的解说。
-
- Amazon EKSとは
-
- Amazon EKSのスケーラビリティ
-
- Amazon EKSのストレージ
- Amazon EKSのロギング
下一步将考虑Kinesis系列产品的耐障性能。