首页 > 解决方案 > AWS EKS 集群 - 需要使用私有子网和公有子网创建它

问题描述

有一个初学者的问题。目前,我正在尝试在 AWS 中设置一些基本的 Kubernetes 架构,例如部署 -> 服务 -> 入口 -> 网络负载均衡器。

Worker 节点和 Ingress 应该在私有子网中运行,而 LoadBalancer 应该是公共的。问题是,现在我们的 EKS 集群中只有私有子网,就像这样。

EksCluster:
        Type: AWS::EKS::Cluster
        Properties:
            Name: !Ref AWS::StackName
            ResourcesVpcConfig:
                SecurityGroupIds:
                  - !Ref VpcPrivateSecurityGroup
                SubnetIds:
                  - !Ref VpcPrivateSubnetA
                  - !Ref VpcPrivateSubnetB
                  - !Ref VpcPrivateSubnetC
            RoleArn: !GetAtt EksRole.Arn
            Version: "1.14"

因此,由于“找不到任何合适的子网来创建 ELB”错误,未创建 LoadBalancer - 没有可用的公共子网。

问题是 - 如何配置此集群以同时使用私有子网和公共子网?以及如何配置子网以便它们使用正确的安全组(因为显然私有子网不应该使用“VpcPrivateSecurityGroup”)。有没有混合的方法?如果没有,我该如何设置这个公共 NLB/私人工作者场景?

太感谢了

标签: amazon-web-serviceskubernetesamazon-vpcamazon-eksnlb

解决方案


创建 EKS 集群时,您需要同时拥有私有子网和公有子网。推荐的网络架构为您的工作节点使用私有子网,并为 Kubernetes 使用公共子网在其中创建公共负载均衡器。

请参考以下 AWS 链接

https://docs.aws.amazon.com/eks/latest/userguide/create-public-private-vpc.html


推荐阅读