0

我正在 AWS 中开发 EKS 集群。我们有一个应用程序,它是内存密集型的。因此,我添加了一个 HPA,它的内存利用率为 60%。我们希望在 cloudwatch 中只有这些信息,因此我们可以相应地扩展我们的服务器。我尝试了容器洞察力,但这是一种矫枉过正。

有什么方法可以在 cloudwatch 中获取 Kubernetes HPA 日志作为事件?

高压钠灯:

apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
  name: resize-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1beta1
    kind: Deployment
    name: magento-prod-deployment
  minReplicas: 2
  maxReplicas: 5
  metrics:
  - type: Resource
    resource:
      name: memory 
      target:
        type: Utilization 
        averageUtilization: 60

版本:

 kubectl version
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.8", GitCommit:"9f2892aab98fe339f3bd70e3c470144299398ace", GitTreeState:"clean", BuildDate:"2020-08-26T20:32:49Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"15+", GitVersion:"v1.15.11-eks-065dce", GitCommit:"065dcecfcd2a91bd68a17ee0b5e895088430bd05", GitTreeState:"clean", BuildDate:"2020-07-16T01:44:47Z", GoVersion:"go1.12.17", Compiler:"gc", Platform:"linux/amd64"}

EKS 集群在 1.15 上运行

4

1 回答 1

1

我相信您可以根据k8s-cloudwatch-adapter需要使用。 使用 Amazon CloudWatch 指标文档扩展 Kubernetes 部署提供了有关如何k8s-cloudwatch-adapter工作、如何安装和使用它的信息。

适用于 Kubernetes 的 Amazon CloudWatch 指标适配器

k8s-cloudwatch-adapter 是 Kubernetes 自定义指标 API 和外部指标 API 的实现,并集成了 CloudWatch 指标。它允许您使用 Horizo​​ntal Pod Autoscaler (HPA) 和 CloudWatch 指标来扩展您的 Kubernetes 部署。

k8s-cloudwatch-适配器 github

另请查看Kubernetes AWS Cloudwatch 适配器未获取 EKS HPA 自动缩放的自定义指标值- 关于如何基于自定义 Cloudwatch 指标启用 AWS EKS 自动缩放的很好示例

于 2020-09-25T10:30:56.677 回答