AWS troubleshooting
ℹ️
If you need the account id for our AMI please contact support@edera.dev
AWS debugging utilities
Get EKS node AMI & Edera version
edera_aws_node_version() {
NODES=( $(kubectl get nodes --no-headers | awk '{print $1}') )
echo "Fetching AWS image data..."
IMAGE_DATA=$(aws ec2 describe-images --owners <account_id> --query 'Images | sort_by(@, &CreationDate) | reverse(@) | [*].[ImageId, Name, State, CreationDate]' --output table)
for NODE in "${NODES[@]}"; do
NODE_AMI=$(kubectl get node "$NODE" -o json | jq -r '.metadata.labels["eks.amazonaws.com/nodegroup-image"]')
EDERA_PROTECT_VERSION=$(echo "$IMAGE_DATA" | grep "$NODE_AMI" | awk '{print $3}')
echo "Node: $NODE | AMI: $NODE_AMI | Edera: $EDERA_PROTECT_VERSION"
done
}
List AMIs
aws ec2 describe-images --filters Name=name,Values="*edera*" --query 'Images[*].[ImageId,Name,CreationDate]' --output table
Runtime not detected
Check for the RuntimeClass
-
Check that the RuntimeClass exists:
kubectl get runtimeclass
-
Ensure pod spec includes:
spec: runtimeClassName: edera
If kubelet isn’t detecting the Edera runtime, you may be missing the required CRI socket configuration.
Set the container-runtime-endpoint
ℹ️
The below should be used for debugging purposes only.
-
Edit the kubelet config on the node:
sudo vi /etc/systemd/system/kubelet.service.d/10-kubelet-args.conf
-
Add to the
KUBELET_ARGS
line:--container-runtime-endpoint=unix:///var/lib/edera/protect/cri.socket
-
Apply changes:
sudo systemctl daemon-reexec sudo systemctl daemon-reload sudo systemctl restart kubelet
-
Confirm runtime is in use:
ps aux | grep kubelet | grep edera kubectl get nodes -o wide
Last updated on