I'm wondering if I can use an EKS managed node to be the control plane for a K3s cluster deployed on an edge/IoT device, such as the Intel NUC. My goal is to have a lightweight kubernetes distro to manage containerized applications running on the NUC or theoretically any edge/IoT device, but be able to manage it from the cloud whenever there is internet connectivity.

Could I set up a k3s cluster on the NUC (or an edge/IoT device) and then have that communicate with an AWS EKS control plane via the Kubernetes API server?


You cannot attach a K8s worker node outside of the VPC your EKS control plane is attached to. You could import you local K8s cluster into the EKS management console using EKS Connector but your local cluster will need to have both a control and a data plane (i.e. EKS Connector is only a way to consolidate multiple clusters in a single view irrespective of where they run).

In general the K8s architecture is such that it's not possible (nor advisable) to separate the data plane from the control plane. What you are describing is more akin to the ECS Anywhere architecture which implements a "control plane in the cloud, data plane anywhere" model (with its own advantages and disadvantages). If you are looking for a strict K8s solution this would not help though.