Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何触发EKS吊舱的自动缩放? 上下文_Amazon Web Services_Kubernetes - Fatal编程技术网

Amazon web services 如何触发EKS吊舱的自动缩放? 上下文

Amazon web services 如何触发EKS吊舱的自动缩放? 上下文,amazon-web-services,kubernetes,Amazon Web Services,Kubernetes,我正在EKS上运行一个应用程序(Apache Airflow),它可以增加新员工来完成新任务。每个工人都需要旋转一个新吊舱。我担心在产生多个工作线程时内存和/或CPU会耗尽。我的目标是触发自动缩放 我试过的 我使用Terraform进行资源调配(也很高兴得到Terraform中没有的答案,我可以从概念上转换为Terraform代码) 我已设置fargate配置文件,如: #创建EKS Fargate配置文件 资源“aws\U eks\U fargate\U配置文件”“气流”{ cluster\u

我正在EKS上运行一个应用程序(Apache Airflow),它可以增加新员工来完成新任务。每个工人都需要旋转一个新吊舱。我担心在产生多个工作线程时内存和/或CPU会耗尽。我的目标是触发自动缩放

我试过的 我使用Terraform进行资源调配(也很高兴得到Terraform中没有的答案,我可以从概念上转换为Terraform代码)

我已设置fargate配置文件,如:

#创建EKS Fargate配置文件
资源“aws\U eks\U fargate\U配置文件”“气流”{
cluster\u name=module.eks\u cluster.cluster\u id
fargate_profile_name=“${var.project_name}-fargate-${var.env_name}”
pod_execution_role_arn=aws_iam_role.fargate_iam_role.arn
子网\u id=var.private\u子网\u id
选择器{
namespace=“fargate”
}
标签={
Terraform=“true”
Project=var.Project\u name
环境=var.env_名称
}
}
我的自动缩放节点策略:

#为节点自动缩放创建IAM策略
资源“aws\u iam\u策略”“节点自动缩放\u pol”{
name=“${var.project_name}-节点自动缩放-${var.env_name}”
policy=data.aws\u iam\u policy\u document.node\u autoscaling\u pol\u doc.json
}
#创建自动缩放策略
数据“aws_iam_政策_文件”“节点自动校准_pol_文件”{
声明{
行动=[
“自动缩放:描述BeautoScalingGroup”,
“自动缩放:描述BeautoScalingInstances”,
“自动缩放:描述配置”,
“自动缩放:描述标签”,
“自动缩放:SetDesiredCapacity”,
“自动缩放:TerminateInstanceInAutoScalingGroup”,
“ec2:描述UnchTemplateVersions”
]
effect=“允许”
资源=[“*”]
}
}
最后是一个(为了简洁起见,只需一个片段):

#创建EKS集群
模块“eks_集群”{
cluster_name=“${var.project_name}-${var.env_name}”
#分配工作组
工人组=[
{
实例类型=变量节点实例类型1
asg_最大尺寸=1
name=“${var.project_name}-${var.env_name}”
}
]
}
问题: 增加asg_max_size是否足以自动缩放?我有一种感觉,我需要设置一些类似于“当记忆超过X do y”的东西,但我不确定


我没有太多使用高级监视/度量工具的经验,因此,一个简单的解决方案,它可以进行基本的自动缩放,最适合我的需要=)

这是由一个名为cluster autoscaler的工具处理的。您可以在中找到EKS指南,也可以在中找到项目本身。这是由一个名为cluster autoscaler的工具处理的。您可以在中找到EKS指南,也可以在

Hi@coderanger中找到项目本身。考虑到我上面提到的结构,这是否意味着只需更改
asg\u max\u size
我就可以做到这一点,还是我仍然需要进行一些配置?Kubernetes不使用常规asg缩放规则,您需要部署和配置cluster-autoscaler。因此,基本上我需要同时执行这两项操作,部署自动缩放并增加ASG缩放规则?我只是不知道ASG规则是如何有用的?Cluster autoscaler尊重最小值和最大值,但不使用正常的缩放规则系统。Hi@coderanger。考虑到我上面提到的结构,这是否意味着只需更改
asg\u max\u size
我就可以做到这一点,还是我仍然需要进行一些配置?Kubernetes不使用常规asg缩放规则,您需要部署和配置cluster-autoscaler。因此,基本上我需要同时执行这两项操作,部署自动缩放并增加ASG缩放规则?我只是不知道ASG规则是如何有用的?Cluster autoscaler尊重最小值和最大值,但不使用正常的缩放规则系统。