I'm new to k8s and trying to grasp the infrastructure concepts, and trying to apply them in AWS. I know a k8s cluster has a control plane, which has the management nodes, and a data plane, which has the worker nodes. Do they have to run on their own respective VPC, or can they run on the same VPC? I hope that makes sense.

  • I'm a little confused by the wording of your question. Are you asking if the kubernetes control plane sits in the same VPC as the worker nodes? Dec 19 '20 at 5:05
  • Yes, @jonas answered it below.
    – Chris F
    Dec 21 '20 at 1:31

For Amazon EKS, the control plane is running in a separate VPC that is managed by Amazon. You only need to care about the VPC for the worker nodes.

Amazon EKS control plane – Deployed and managed by Amazon EKS in an Amazon EKS managed VPC. When you create the cluster, Amazon EKS creates and manages network interfaces in your account that have Amazon EKS in their description. These network interfaces allow AWS Fargate and Amazon EC2 instances to communicate with the control plane.

From Amazon EKS Networking

  • Thanks, and that good that, not only do I understand it correctly, I'm glad it's done that way!
    – Chris F
    Dec 21 '20 at 1:32
  • Follow up question. When creating a cluster (either EKS console or eksctl), is the provided VPC and subnet info then for the data plane, i.e., NOT for the control plane?
    – Chris F
    Feb 15 at 21:56
  • yes, that is correct. See the picture here docs.aws.amazon.com/eks/latest/userguide/eks-networking.html
    – Jonas
    Feb 15 at 21:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.