VeloDynamics Manufacturing is modernizing its transaction-clearing microservices by migrating them from on-premises virtual machines to Amazon EKS in a multi-account AWS environment. The EKS worker nodes must be deployed in a highly constrained VPC where the primary subnet allocated for nodes is a single block (), which cannot be expanded due to tight integration with the corporate Transit Gateway mesh. The microservices must scale up to concurrent pods during peak clearing cycles. The pods must communicate with on-premises mainframe databases over AWS Direct Connect via an AWS Transit Gateway. The on-premises firewalls and routing tables are strictly managed and will only route traffic originating from the node primary subnet (); adding routes for new CIDR blocks to the on-premises network is prohibited. Additionally, client applications in other VPCs must connect to the services via an Application Load Balancer (ALB) with direct routing to pods (minimal network hops) to meet latency SLAs. Which of the following architectures meets these requirements with the least operational overhead?
- Associate a secondary CIDR block with the VPC and create subnets in this range. Set the AWS_VPC_K8S_CNI_CUSTOM_NETWORK_CFG environment variable to true in the VPC CNI DaemonSet, and define ENIConfig custom resources mapping to the secondary subnets to allocate pod IPs. Keep the AWS_VPC_K8S_CNI_EXTERNALSNAT environment variable set to false to ensure the CNI performs source NAT using the worker nodes' primary IPs for outbound traffic. Deploy the AWS Load Balancer Controller and configure the Ingress with the target type set to ip.Answer
- BAssociate a secondary CIDR block with the VPC and create subnets in this range. Configure the EKS cluster with Calico in overlay mode using VXLAN encapsulation to assign pod IPs from the secondary range. Set up the AWS Load Balancer Controller with the target type set to ip to enable direct routing. Configure AWS Transit Gateway to route the overlay network CIDR block to the Direct Connect gateway, and configure the on-premises routers to accept the encapsulated packet headers.
- CAssociate a secondary CIDR block with the VPC and create subnets in this range. Set the AWS_VPC_K8S_CNI_CUSTOM_NETWORK_CFG environment variable to true in the VPC CNI DaemonSet, and define ENIConfig custom resources mapping to the secondary subnets. Set the AWS_VPC_K8S_CNI_EXTERNALSNAT environment variable to true to allow the pods to bypass NAT and communicate directly with on-premises databases using their secondary IPs. Deploy the AWS Load Balancer Controller and configure the Ingress with the target type set to instance.
- DDeploy EKS worker nodes on AWS Outposts using the AWS Fargate launch type to scale the pods. Configure the Fargate pod execution role to inherit permissions from the node group. Configure the tasks to use host networking mode to share the underlying host network namespace, bypassing the primary subnet's IP limitations. Deploy an Application Load Balancer and configure target groups using instance mode.