<p>I incurred the same problem during one of my deployments.</p>
<p>This happens due to the <strong>Networking issue</strong> of the EKS cluster. Assuming that you are working in AWS, follow the following  steps to debug this problem:</p>
<ol>
<li>Check if your security groups are correctly configured correctly to your Nodes.</li>
<li>If the EKS is present in the public sub-nets, check its connectivity to internet gateway and is able to access the internet.</li>
<li>If Eks is present in the private sub-net, check the connectivity with NAT gateway and that NAT gateway is able to access the internet.</li>
</ol>

CC BY-SA 4.0
2022-04-15T09:19:55.973Z
2022-04-15T09:19:55.973Z
krishna dutt Panchagnula
<p>I was getting the same issue, it was solved by creating another nat gateway and choosing public subnet and attaching that new nat gateway in routable to my private subnet.</p>

CC BY-SA 4.0
2022-08-21T13:14:14.377Z
2022-08-21T13:14:14.377Z
user36543
<p>AWS has listed a set of reasons it could make Node groups to fail joining a cluster. Refer, <a href="https://repost.aws/knowledge-center/eks-worker-nodes-cluster" rel="nofollow noreferrer">https://repost.aws/knowledge-center/eks-worker-nodes-cluster</a>
I was able to understand that one of my security groups rejected the comms between Control Plane and the worker node. This troubleshooting was possible using System Automation - TroubleshootingEKSNode.</p>

CC BY-SA 4.0
2023-11-07T13:05:06.417Z
2023-11-07T13:05:06.417Z
MadhiniGM
<p>I had a similar issue in the past where the nodes couldn't join the cluster.
The cause of this was a mismatch in security groups, the nodes and the EKS control plane weren't allowed to talk to each other and therefore timed out.</p>

CC BY-SA 4.0
2022-04-14T04:34:49.827Z
without some context to corroborate that these two situations are related, it's difficult to be sure that this is an answer. Have you got some output you can share, or other information, to link this answer to the question?
Bruce Becker
CC BY-SA 4.0
2022-04-14T04:34:58.673Z
Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers [in the help center](/help/how-to-answer).
Community
CC BY-SA 4.0
2022-04-14T03:35:27.047Z
2022-04-14T03:35:27.047Z
Mathis Van Eetvelde
<p>In the event you are using a NAT instance instead of a NAT gateway, you need to make sure that the NAT instance is provisioned before the cluster. Usually terraform will handles these dependencies automatically, but in this case it is not aware of the depenedency since the NAT instance is just an EC2 instance that wouldn't typically need special status. You can enforce the provison order with</p>
<pre><code>module &quot;eks&quot; {
  source = &quot;./modules/eks&quot;
  cluster_name    = var.cluster_name
  cluster_version = var.cluster_version
  vpc_id          = module.vpc.vpc_id
  subnet_ids      = module.vpc.private_subnets
  tags            = var.tags
  depends_on = [module.vpc, module.fck_nat] # This is the key point, where fck_nat is your nat instance module
}
</code></pre>

CC BY-SA 4.0
2024-08-16T23:43:52.310Z
2024-08-16T23:43:52.310Z
Adam Conrad
<p>I'm setting up an EKS cluster using <a href="https://github.com/ManagedKube/kubernetes-ops" rel="nofollow noreferrer">https://github.com/ManagedKube/kubernetes-ops</a></p>
<p>and, based on that code, when I do a <code>terraform apply</code> I'm getting a <code>NodeCreationFailure</code> error.</p>
<p>Specifically:</p>
<pre><code>│ Error: error waiting for EKS Node Group (staging:staging-ng12022040211190144860000000d) to create: unexpected state 'CREATE_FAILED', wanted target 'ACTIVE'. last error: 1 error occurred:
│   * i-0d5c42031eaf061ff, i-0d9a073240fd29c45: NodeCreationFailure: Instances failed to join the kubernetes cluster
</code></pre>
<p>Admittedly, that's not much code, but does anyone have any pointers on where to start debugging?</p>

<eks>
NodeCreationFailure: Instances failed to join the kubernetes cluster
Snowcrash
# NodeCreationFailure: Instances failed to join the kubernetes cluster

(Asked by: username_0 on 2022-04-02)

I'm setting up an EKS cluster using https://github.com/ManagedKube/kubernetes-ops
and, based on that code, when I do a terraform apply I'm getting a NodeCreationFailure error.
Specifically:
│ Error: error waiting for EKS Node Group (staging:staging-ng12022040211190144860000000d) to create: unexpected state 'CREATE_FAILED', wanted target 'ACTIVE'. last error: 1 error occurred:
│   * i-0d5c42031eaf061ff, i-0d9a073240fd29c45: NodeCreationFailure: Instances failed to join the kubernetes cluster

Admittedly, that's not much code, but does anyone have any pointers on where to start debugging?

**Tags:** eks


---

## 5 answers

### Answer by username_1 on 2022-04-15. Score: 2 | Accepted answer

I incurred the same problem during one of my deployments.

This happens due to the **Networking issue** of the EKS cluster. Assuming that you are working in AWS, follow the following steps to debug this problem:

1. Check if your security groups are correctly configured correctly to your Nodes.
2. If the EKS is present in the public sub-nets, check its connectivity to internet gateway and is able to access the internet.
3. If Eks is present in the private sub-net, check the connectivity with NAT gateway and that NAT gateway is able to access the internet.


---

### Answer by username_2 on 2022-08-21. Score: 0

I was getting the same issue, it was solved by creating another nat gateway and choosing public subnet and attaching that new nat gateway in routable to my private subnet.


---

### Answer by username_3 on 2023-11-07. Score: 0

AWS has listed a set of reasons it could make Node groups to fail joining a cluster. Refer, <https://repost.aws/knowledge-center/eks-worker-nodes-cluster>
I was able to understand that one of my security groups rejected the comms between Control Plane and the worker node. This troubleshooting was possible using System Automation - TroubleshootingEKSNode.


---

### Answer by username_4 on 2022-04-14. Score: 0

I had a similar issue in the past where the nodes couldn't join the cluster.
The cause of this was a mismatch in security groups, the nodes and the EKS control plane weren't allowed to talk to each other and therefore timed out.

> **Comments:**
> **username_5**: without some context to corroborate that these two situations are related, it's difficult to be sure that this is an answer. Have you got some output you can share, or other information, to link this answer to the question?  
> **username_6**: Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers [in the help center](/help/how-to-answer).  

---

### Answer by username_7 on 2024-08-16. Score: 0

In the event you are using a NAT instance instead of a NAT gateway, you need to make sure that the NAT instance is provisioned before the cluster. Usually terraform will handles these dependencies automatically, but in this case it is not aware of the depenedency since the NAT instance is just an EC2 instance that wouldn't typically need special status. You can enforce the provison order with
module "eks" {
  source = "./modules/eks"
  cluster_name    = var.cluster_name
  cluster_version = var.cluster_version
  vpc_id          = module.vpc.vpc_id
  subnet_ids      = module.vpc.private_subnets
  tags            = var.tags
  depends_on = [module.vpc, module.fck_nat] # This is the key point, where fck_nat is your nat instance module
}


---

