0

我需要在 lambda 函数中针对 EKS 集群运行一些 kubectl 命令。这个函数最终需要查询 ECR 来获取图像。我在使用aws-lambda-layer-kubectl时遇到了下面描述的错误

我相信我已经正确部署了 lambda 层,因为我可以看到它的 ARN arn:aws:lambda:us-east-1:xxxxxxxx:layer:kubelambda:1

使用 aws-lambda-layer-kubectl 的 lambda 函数的屏幕截图

lambda 函数代码如下所示

拉姆达函数代码

但是,当我运行 lambda 函数时,出现以下错误

/var/task/bootstrap: line 7: aws: command not found
/var/task/bootstrap: line 12: kubectl: command not found

问题

  1. 这里有什么问题?
  2. 是否有从 ECR 检索图像的特定策略?

先感谢您。

4

1 回答 1

0

可能您已经弄清楚了这一点,但该层将可执行文件保存在自述文件 https://github.com/aws-samples/aws-lambda-layer-kubectl中提到的 /opt 路径下。对于 aws,它是 /opt/awscli/aws,对于 kubectl,它是 /opt/kubectl/kubectl。

于 2020-09-24T17:19:25.873 回答