Kubernetes is AWS's popular managed service, EKS, but it only functions within the AWS ecosystem. Organizations needing to run Kubernetes on their own hardware or in disconnected environments previously faced significant operational burdens with self-managed distributions. Spinifex offers a new solution by implementing the EKS API on customer-managed infrastructure. This allows teams to use familiar EKS tools and workflows, such as CLI commands and Terraform configurations, on bare metal or in colocation facilities.When a cluster is created via the Spinifex EKS API, it provisions a managed control plane within a Spinifex-managed VM. This control plane is made accessible via a load balancer and uses the same API access-entry model for authentication as AWS EKS. Spinifex handles the underlying control plane infrastructure, eliminating the need for users to manage etcd clusters or control plane nodes. Node groups are provisioned similarly, with Spinifex managing worker VM creation and joining them to the cluster.The worker node image is managed by Spinifex, simplifying OS maintenance and addon updates for users. Security groups for node groups are automatically created and managed, simplifying network access configuration for workloads. Before creating a cluster, users must ensure the Spinifex eks-node image is registered, have a provisioned VPC with subnets, and configure egress access for container image pulls. Correct IAM roles for the cluster and nodes are also essential prerequisites.Cluster creation is achieved through standard AWS CLI commands pointed at a Spinifex profile. The authenticationMode=API flag is mandatory. Once the control plane is active, node groups can be created using aws eks create-nodegroup. Authenticating with kubectl utilizes the standard AWS EKS token mechanism, invoking aws eks get-token to sign requests to the Spinifex gateway.Terraform configurations can be adapted to Spinifex by overriding the AWS provider endpoints. All other Terraform resources remain unchanged, allowing for seamless migration of existing EKS infrastructure code. Spinifex mandates the API authentication mode, requiring cluster access to be managed via access entries, a more secure approach than the older aws-auth ConfigMap.The key difference from AWS EKS lies in the infrastructure management: while Spinifex manages the control plane VM, users are responsible for the physical servers, networking, and storage. This trade-off is beneficial for organizations with specific needs like GPU acceleration, disconnected environments, or data sovereignty requirements. Spinifex offers documentation, Terraform examples, and a free sandbox to facilitate adoption.
authenticationMode=APIflag is mandatory. Once the control plane is active, node groups can be created usingaws eks create-nodegroup. Authenticating withkubectlutilizes the standard AWS EKS token mechanism, invokingaws eks get-tokento sign requests to the Spinifex gateway.Terraform configurations can be adapted to Spinifex by overriding the AWS provider endpoints. All other Terraform resources remain unchanged, allowing for seamless migration of existing EKS infrastructure code. Spinifex mandates the API authentication mode, requiring cluster access to be managed via access entries, a more secure approach than the olderaws-authConfigMap.The key difference from AWS EKS lies in the infrastructure management: while Spinifex manages the control plane VM, users are responsible for the physical servers, networking, and storage. This trade-off is beneficial for organizations with specific needs like GPU acceleration, disconnected environments, or data sovereignty requirements. Spinifex offers documentation, Terraform examples, and a free sandbox to facilitate adoption.