AWS EKS Deployment
AWS EKS deployments use a different approach: instead of installing Edera on existing nodes, you deploy nodes with pre-configured Edera AMIs.
This streamlines the process and ensures consistent configuration across your EKS cluster.
Prerequisites
Before you begin, ensure you have:
- AWS CLI installed and configured
- kubectl installed
- Terraform (recommended for infrastructure as code)
- Edera AMI access (provide to Edera support team on the customer portal)
- Edera account ID (provided by Edera team during onboarding)
Regional Availability
Edera AMIs are currently available in two regions:
us-west-2(US West - Oregon)us-gov-west-1(AWS GovCloud US-West)
Plan your deployment accordingly. If you need support for additional regions, contact Edera support.
Step 1: Locate the Edera AMI
Set your region:
export AWS_REGION=us-west-2 # or us-gov-west-1 for GovCloudQuery available Edera AMIs using the AWS CLI:
aws ec2 describe-images \
--owners <edera-account-id> \
--filters "Name=name,Values=edera-*" \
--region $AWS_REGION \
--query 'Images[*].[ImageId,Name,CreationDate]' \
--output tableNote the most recent AMI IDβyou’ll use this in your Terraform configuration.
Step 2: Configure Terraform
Use the official EKS Terraform module with the Edera AMI.
Data source for Edera AMI:
data "aws_ami" "edera" {
most_recent = true
owners = ["<edera-account-id>"]
filter {
name = "name"
values = ["edera-*"]
}
filter {
name = "virtualization-type"
values = ["hvm"]
}
}EKS cluster configuration:
module "eks" {
source = "terraform-aws-modules/eks/aws"
version = "~> 20.0"
cluster_name = "edera-cluster"
cluster_version = "1.32"
vpc_id = module.vpc.vpc_id
subnet_ids = module.vpc.private_subnets
eks_managed_node_groups = {
edera_nodes = {
ami_id = data.aws_ami.edera.id
instance_types = ["t3.medium"]
min_size = 2
max_size = 10
desired_size = 3
labels = {
runtime = "edera"
}
}
}
}Step 3: Deploy the Cluster
Initialize and apply the Terraform configuration:
terraform init
terraform plan
terraform applyThis provisions your EKS cluster with nodes running the Edera AMI.
Step 4: Connect to Your Cluster
Update your kubeconfig to access the new cluster:
aws eks update-kubeconfig \
--name edera-cluster \
--region $AWS_REGIONVerify connectivity:
kubectl get nodesAll nodes should show Ready status.
Step 5: Verify Nodes Are Running Edera
Confirm that your nodes are using the Edera AMI:
kubectl describe nodes | grep amiCheck the AMI ID matches the Edera AMI you specified in Terraform.
Step 6: Create the RuntimeClass
Apply the Edera RuntimeClass:
kubectl apply -f https://public.edera.dev/kubernetes/runtime-class.yamlStep 7: Deploy a Test Workload
Create a test pod to verify Edera is working:
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Pod
metadata:
name: edera-test-eks
namespace: default
spec:
runtimeClassName: edera
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
EOFCheck the pod status:
kubectl get pod edera-test-eks
kubectl describe pod edera-test-eks | grep -B 3 ederaThe pod should be running with Runtime Class Name: edera.
EKS-Specific Considerations
Node Auto-Scaling
Configure cluster autoscaler to work with Edera nodes:
apiVersion: apps/v1
kind: Deployment
metadata:
name: cluster-autoscaler
namespace: kube-system
spec:
template:
spec:
containers:
- name: cluster-autoscaler
image: k8s.gcr.io/autoscaling/cluster-autoscaler:v1.27.0
command:
- ./cluster-autoscaler
- --cloud-provider=aws
- --nodes=2:10:edera-cluster-edera-nodesIAM Roles for Service Accounts (IRSA)
Edera works seamlessly with IRSA. Configure your pod service accounts as usual:
apiVersion: v1
kind: ServiceAccount
metadata:
name: my-service-account
annotations:
eks.amazonaws.com/role-arn: arn:aws:iam::123456789012:role/my-roleEdera-isolated pods can assume IAM roles just like standard EKS pods.
VPC CNI Compatibility
Edera is compatible with the AWS VPC CNI plugin. No special configuration required.
AMI Updates
Edera periodically releases updated AMIs with security patches and improvements. To update:
- Identify the latest AMI using
aws ec2 describe-images - Update your Terraform configuration with the new AMI ID
- Apply the configuration:
terraform apply - Rotate nodes gradually using rolling updates
Getting AMI Access
To deploy Edera on AWS EKS, contact the Edera customer engineering team:
- Customer portal: https://customer.edera.dev/
- Email: support@edera.dev
The team will share the Edera AMI with your account and provide the Edera account ID for AMI queries.
What’s Next?
AWS EKS deployment complete! Now let’s look at other cloud platforms.
Up next: Azure Linux Deployment β
