In this document: Self-managed nodes - Amazon EKS,
Amazon documents how you can use a self-managed AMI for use in EKS Kubernetes clusters.
Has anyone tried this approach where tailscale is installed in an AMI,
and then this AMI is used as nodes for EKS?
This would seem like a good way to have an AWS EKS cluster running with full connectivity to
AWS provides the Packer configuration for the nodes they use to run EKS: GitHub - awslabs/amazon-eks-ami: Packer configuration for building a custom EKS AMI
I tried this patch: Add tailscale by rodrigc · Pull Request #1 · rodrigc/amazon-eks-ami · GitHub ,
and was succesfully able to build an AMI image
which was derived from amazon-eks-ami and then adds tailscale.
However, when I tried to spin up an EKS cluster with this image, the EKS cluster never came up.
I need to investigate some more.
It’s been a while, but I had good results with adding stuff to the “userdata” of the EKS fully managed nodes.
The AWS documentation is here.
For example I added Userify’s agent with the below snippet:
Content-Type: multipart/mixed; boundary="==MYBOUNDARY=="
Content-Type: text/x-shellscript; charset="us-ascii"
curl -1 -sS "https://userify-cfg.example.com/installer.sh" | \
sudo -s -E
# append -b to the sudo line for Terraform and Salt Stack
Doing it this way, using this syntax, makes it so your directive is appended to the EKS configurations (not overriding them).
One could use this mechanism to both not create/maintain the AMI and install the Tailscale agent.
Hope that helped, and good luck.