使用 CDK 部署 EKS 显示 Kubernetes 版本错误

问题描述

我正在尝试使用 Python CDK 部署我的 EKS 集群。我正在关注此(https://github.com/pahud/aws-cdk-python-workshop/tree/master/Lab6链接以进行实施。 一切正常,但是当我执行“cdk deploy”时,它显示以下错误

enter image description here

在 Cloudformation 控制台上,它显示以下错误

enter image description here

我尝试通过以下方式将 cdk_pycon_eks_stack.py 中的版本更改为 1.20、1.20.4、1.16、1.16.5 等(https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html),

...................

# create the cluster
        cluster = aws_eks.Cluster(self,'cluster',masters_role=eks_admin_role,vpc=vpc,default_capacity=0,version='1.20',output_cluster_name=True
                                  )

...........................................

,但随后显示以下错误

enter image description here

任何帮助将不胜感激! 谢谢


编辑:

评论/答案中供参考的其他图像: version = aws_eks.Kubernetesversion.of("v1_20")

enter image description here

对于version = aws_eks.Kubernetesversion().V1_20

enter image description here

解决方法

这里的代码正在寻找一个完整的 KubernetesVersion 对象,而不是一个字符串。
看看:https://docs.aws.amazon.com/cdk/api/latest/python/aws_cdk.aws_eks/KubernetesVersion.html#aws_cdk.aws_eks.KubernetesVersion
因此,您可以执行以下操作(请原谅我这是未经测试的,因为我通常将 TypeScript 用于 CDK):

version = aws_eks.KubernetesVersion().V1_20

或者也许:

version = aws_eks.KubernetesVersion.of("v1_20") #string may be something else,try it and see