Answers: <p>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.</p>
  <blockquote>
  <p><strong>Amazon EKS control plane</strong> – 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.</p>
  </blockquote>
  <p>From <a href="https://docs.aws.amazon.com/eks/latest/userguide/eks-networking.html" rel="nofollow noreferrer">Amazon EKS Networking</a></p>
  
Answers: CC BY-SA 4.0
Answers: 2020-12-21T01:32:45.360Z
Answers: Thanks, and that good that, not only do I understand it correctly, I'm glad it's done that way!
Answers: Chris F
Answers: CC BY-SA 4.0
Answers: 2021-02-15T21:56:21.993Z
Answers: 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?
Answers: Chris F
Answers: CC BY-SA 4.0
Answers: 2021-02-15T21:57:44.397Z
Answers: yes, that is correct. See the picture here https://docs.aws.amazon.com/eks/latest/userguide/eks-networking.html
Answers: Jonas
Answers: CC BY-SA 4.0
Answers: 2020-12-19T23:40:23.397Z
Answers: 2020-12-19T23:40:23.397Z
Answers: Jonas
Body: <p>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.</p>
  
Comments: CC BY-SA 4.0
Comments: 2020-12-19T05:05:53.340Z
Comments: 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?
Comments: Zachary Delano
Comments: CC BY-SA 4.0
Comments: 2020-12-21T01:31:08.390Z
Comments: Yes, @jonas answered it below.
Comments: Chris F
Tags: <amazon-web-services><kubernetes><eks>
Title: In k8s, do the controller nodes have to be in same VPC as the worker nodes for a cluster?
UserDisplayName: Chris F
ThreadText: # In k8s, do the controller nodes have to be in same VPC as the worker nodes for a cluster?
  
  (Asked by: username_0 on 2020-12-18)
  
  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.
  
  **Tags:** amazon-web-services, kubernetes, eks
  
  > **Comments:**
  > **username_1**: 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?  
  > **username_0**: Yes, @username_2 answered it below.  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2020-12-19. Score: 1 | Accepted answer
  
  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](https://docs.aws.amazon.com/eks/latest/userguide/eks-networking.html)
  
  > **Comments:**
  > **username_0**: Thanks, and that good that, not only do I understand it correctly, I'm glad it's done that way!  
  > **username_0**: 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?  
  > **username_2**: yes, that is correct. See the picture here https://docs.aws.amazon.com/eks/latest/userguide/eks-networking.html  
  
  ---
  
  