Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes AWS CDK:标记现有子网_Kubernetes_Aws Cdk_Amazon Eks - Fatal编程技术网

Kubernetes AWS CDK:标记现有子网

Kubernetes AWS CDK:标记现有子网,kubernetes,aws-cdk,amazon-eks,Kubernetes,Aws Cdk,Amazon Eks,我正在尝试用Java中的AWS cdk构建一个AWS EKS集群 我们有一个现有的VPC和子网,需要获得一些Kubernetes标签,如Kubernetes.io/role/internal elb=1等 我可以通过以下方式获取vpc来获取iSubnet: IVpc-vpc=vpc.fromVpcAttributes(这是“我的vpc”,vpcAttributes); List subnets=vpc.getPrivateSubnets(); 子网forEach(iSubnet->Tag.add

我正在尝试用Java中的AWS cdk构建一个AWS EKS集群

我们有一个现有的VPC和子网,需要获得一些Kubernetes标签,如Kubernetes.io/role/internal elb=1

我可以通过以下方式获取vpc来获取iSubnet:

IVpc-vpc=vpc.fromVpcAttributes(这是“我的vpc”,vpcAttributes);
List subnets=vpc.getPrivateSubnets();
子网forEach(iSubnet->Tag.add(iSubnet,“kubernetes.io/role/internalelb”,“1”);
但是
awscdk.core.Tag.add()
需要一个构造,我没有创建它,因为子网已经存在

还尝试了以下示例:

private void addtag到所有VPC子网(Tag-Tag){
TagProps includeOnlySubnets=TagProps.builder()
.includeResourceTypes(单例列表(“AWS::EC2::子网”))
.build();
add(这个,Tag.getKey(),Tag.getValue(),包括onlysubnets);
}
。。。但我仍然无法在
cdk-synth
的CF-yaml中看到任何新标签


任何帮助都将不胜感激

这似乎是目前CDK的一个限制。这是CDK中EKS构造应该解决的问题,但目前还不可能解决,因为CDK部署期间出现警告:

[Warning at /stack/some-project-EKS-cluster] Could not auto-tag private subnets with "kubernetes.io/role/internal-elb=1", please remember to do this manually
出于无法自动完成此操作的相同原因,您不能使用
Tag.add()
来完成此操作

由于CDK中的EKS模块仍然是实验/开发预览版,您现在有三个选项:

  • 等待完整版本,其中可能包括自动子网标记
  • 通过CDK创建您自己的VPC,它允许您标记您自己的子网
  • 通过AWS控制台中的VPC服务接口手动编辑现有子网

  • 一个好主意可能是在AWS CDK Github上创建一个问题,并请求将现有子网(以及其他现有结构)标记为一个功能。我在他们的Github上找不到与此相关的其他问题。

    您可以使用lambda支持的自定义资源自动执行此操作。

    我不确定CloudFormation是否可以执行此操作?我想这是一个CF问题,而不是CDK。我最后用aws cli作为脚本标记子网。1和2仍然不是我们的选择。