AWS MWAA;如何安装特定版本的AWS CLI V2



所以,我们可以从这个有趣的问题中看到:https://github.com/aws/aws-cli/issues/4947

AWS CLI 2永远不会被推送到pip。

在AWS MWAA (Managed AIrflow)中,我们没有赋予指定apt-get级别安装的能力。我们只得到一个requirements.txt,而AWS V2不能通过它获得。这意味着,我们没有接口或媒介来做亚马逊代表在该问题中所说的,即使用包管理器(来自亚马逊的MWAA)。

最近,我们遇到了对kubernetes集群进行身份验证的问题,因为不同版本的AWS CLI硬编码认证版本:https://github.com/aws/aws-cli/blob/1.20.11/awscli/customizations/eks/get_token.py#L77

在其他版本中,它被硬编码为alpha等。这意味着根据工作程序提供的aws cli版本,它可能与S3中用于MWAA的kubecconfig匹配,也可能不匹配。我们遇到过一些短暂的不匹配,比如

{{refresh_config.py:71}} ERROR - exec: plugin api version client.authentication.k8s.io/v1alpha1 does not match client.authentication.k8s.io/v1beta1

和,如果我们"flip"我们kubeconfig,

{{refresh_config.py:71}} ERROR - exec: plugin api version client.authentication.k8s.io/v1beta1 does not match client.authentication.k8s.io/v1alpha1

由于我们使用来自气流的kubernetes执行器,我们需要get-token:

user:
exec:
apiVersion: client.authentication.k8s.io/v1beta1
args:
- --region
- us-east-1
- eks
- get-token
- --cluster-name
- thor
command: aws

但是这个get-token有时会返回一个不同版本的授权,如前所述。

目前,我们已经将requirements.txt中的awscli硬钉在1.20.11上。但是,AWS要求停止使用V1: https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-mac.html

那么,说了这么多,我如何在我的AWS MWAA worker上安装特定版本的AWS CLI 2呢?亚马逊的帮助将是感激的;我也会在那里提交AWS支持单。

MWAA目前不支持安装特定的AWS CLI版本。这是MWAA团队意识到的一个限制。

您将需要查看Shell启动(启动)脚本来安装外部工具,例如使用bash和Yum。

sudo yum -y install libaio

见下面的链接

  • MWAA Shell启动脚本
  • 在MWAA中使用bash启动脚本

最新更新