碰到一个初学者的问题。当前,我正在尝试在AWS中设置一些基本的Kubernetes模式,例如Deployment-> Service-> Ingress-> Network Load Balancer。
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 /私人工作者方案?
感谢一百万
答案 0 :(得分:0)
在创建EKS集群时,您需要同时具有私有和公共子网。推荐的网络体系结构是用于工作节点的专用子网,以及用于Kubernetes的公共子网,以便在其中创建公共负载均衡器。
请参考下面的AWS链接
https://docs.aws.amazon.com/eks/latest/userguide/create-public-private-vpc.html