diff --git a/.changelog/3370.txt b/.changelog/3370.txt
new file mode 100644
index 0000000000..80cda24ee4
--- /dev/null
+++ b/.changelog/3370.txt
@@ -0,0 +1,3 @@
+```release-note:enhancement
+resource/tencentcloud_kubernetes_cluster_endpoint: update retry code logic
+```
\ No newline at end of file
diff --git a/tencentcloud/services/tke/resource_tc_kubernetes_cluster_endpoint.go b/tencentcloud/services/tke/resource_tc_kubernetes_cluster_endpoint.go
index 762f0f9707..98ef1a20c4 100644
--- a/tencentcloud/services/tke/resource_tc_kubernetes_cluster_endpoint.go
+++ b/tencentcloud/services/tke/resource_tc_kubernetes_cluster_endpoint.go
@@ -440,33 +440,26 @@ func resourceTencentCloudTkeClusterEndpointDelete(d *schema.ResourceData, meta i
 func waitForClusterEndpointFinish(ctx context.Context, service *TkeService, id string, enabled bool, isInternet bool) (err error) {
 	return resource.Retry(5*tccommon.ReadRetryTimeout, func() *resource.RetryError {
 		var (
-			status         string
-			message        string
-			inErr          error
-			retryableState = TkeInternetStatusCreating
-			finishStates   = []string{TkeInternetStatusNotfound, TkeInternetStatusCreated}
+			status       string
+			message      string
+			inErr        error
+			finishStates = []string{TkeInternetStatusNotfound, TkeInternetStatusCreated}
 		)
 
 		if !enabled {
-			retryableState = TkeInternetStatusDeleting
 			finishStates = []string{TkeInternetStatusNotfound, TkeInternetStatusDeleted}
 		}
 
 		status, message, inErr = service.DescribeClusterEndpointStatus(ctx, id, isInternet)
-
 		if inErr != nil {
 			return tccommon.RetryError(inErr)
 		}
 
-		if status == retryableState || status == "TimeOut" {
-			return resource.RetryableError(fmt.Errorf("%s create cluster internet endpoint status still is %s", id, status))
-		}
-
 		if tccommon.IsContains(finishStates, status) {
 			return nil
 		}
 
-		return resource.NonRetryableError(fmt.Errorf("%s create cluster internet endpoint error, status is %s, message is %s", id, status, message))
+		return resource.RetryableError(fmt.Errorf("%s create cluster internet endpoint status is %s, message is %s. retry...", id, status, message))
 	})
 }