所以,我们可以从这个有趣的问题中看出:https ://github.com/aws/aws-cli/issues/4947
AWS CLI 2 永远不会被推送到 pip。
在 AWS MWAA(托管 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
etc。这意味着根据工作人员提供的 aws cli 版本,它可能与您在 S3 for MWAA 中的 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 执行器,我们需要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 有时会返回不同版本的身份验证,如讨论的那样。
目前,我们已经固定awscli
在. 但是,AWS 说停止使用 V1:https ://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-mac.htmlrequirements.txt
1.20.11
那么,综上所述,如何在我的 AWS MWAA 工作人员上安装特定版本的 AWS CLI 2?亚马逊的帮助将不胜感激;我也会在那里提交 AWS Support 票证。