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

m4pnthwp  于 2023-04-05  发布在  Kubernetes
关注(0)|答案(2)|浏览(152)

所以,我们可以从这个有趣的问题中看到:https://github.com/aws/aws-cli/issues/4947
AWS CLI 2永远不会被推到pip。
在AWS MWAA(Managed AIrflow)中,我们 * 没有 * 指定apt-get级别安装的能力。我们只获得requirements.txt,AWS V2无法通过该版本使用。这意味着,我们没有接口或介质来执行Amazon代表在该问题中所说的操作,即使用包管理器(来自Amazon的MWAA)。
最近,我们遇到了对kubernetes集群进行身份验证的问题,因为各种版本的AWS CLI * 硬编码 * auth版本:https://github.com/aws/aws-cli/blob/1.20.11/awscli/customizations/eks/get_token.py#L77
在其他版本中,它被硬编码为alpha等。这意味着取决于工作人员提出的aws cli版本,它可能会或可能不会与MWAA的S3中的kubeconfig匹配。我们已经遇到了短暂的不匹配,如

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

如果我们“翻转”kubeconfig

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

由于我们使用Airflow中的kubernetes executor,我们需要get-token

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

但是如所讨论的,该获取令牌有时返回不同版本的认证。
目前,我们已经将requirements.txt中的awscli硬固定到1.20.11。然而,AWS说要 * 停止 * 使用V1:https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-mac.html
那么,说了这么多,我如何在我的AWS MWAA工作人员上安装特定版本的AWS CLI 2呢?我也会在那里提交AWS支持票证。

vs91vp4v

vs91vp4v1#

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

1sbrub3j

1sbrub3j2#

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

sudo yum -y install libaio

见下面的链接

相关问题