eksctl & kubectl – let’s be friends

It’s been a day of EKS, then more EKS. Standing up, configuring and shutting down clusters on my AWS account. And while eksctl, AWS’ official CLI for EKS by Weaveworks seems to work easily and out of the box, kubectl just doesn’t want to play nice. It used to work fine on my local kind environment with Docker/Virtualbox, but for some reason it’s not able to log into AWS. Thought I was doing something wrong with kubeconfig but no. I tried workarounds and going ahead with other tasks but keep coming back to it – I’ve been trying to work this out all day. Then started having ssh issues (??) with my EC2 instance after specifically configuring it for port 22 in the AWS GUI and literally copy/pasting the commands they suggested… only for it to timeout. No zscalers/firewalls here to blame either you’re at home! Decided to call it a day as I just wasn’t getting anywhere. Just in time for Pizza Night… perfect timing.

Going through the documentation for eksctl earlier this evening, tucked away in a corner of their website I discovered the experimental release of EKS Quickstart. This not only does all the heavy lifting for your regular EKS setup, but also includes Prometheus, Grafana, Fluentd, Kubernetes dashboard, load balancer and autoscaler plus toy application. Sounds too good to be true?

Earlier today I was messing around with eksctl/kubectl, and then still needed to separately install Prometheus and Grafana and configure. If I could do everything out of the box with one tool, this would be it. However ssh and kubectl not working are a major issue and it won’t resolve itself… will give myself a few hours to figure it out on Monday.

(images: gopher illustration from, octopus illustration from kubectl on Github)