awesome-eks
A curated list of awesome tools for Amazon EKS π
Want to add something? Open a PR! π
What is EKS
Amazon Elastic Kubernetes Service (Amazon EKS) is a managed service that makes it easy for you to run Kubernetes on AWS without needing to stand up or maintain your own Kubernetes control plane. Kubernetes is an open-source system for automating the deployment, scaling, and management of containerized applications.
Amazon EKS runs Kubernetes control plane instances across multiple Availability Zone to ensure high availability. Amazon EKS automatically detects and replaces unhealthy control plane instances, and it provides automated version upgrades and patching for them.
Amazon EKS runs up-to-date versions of the open-source Kubernetes software, so you can use all the existing plugins and tooling from the Kubernetes community. Applications running on Amazon EKS are fully compatible with applications running on any standard Kubernetes environment, whether running in on-premises data centers or public clouds. This means that you can easily migrate any standard Kubernetes application to Amazon EKS without any code modification required.
Table of content
- Cluster management tools
- Data plane management
- CLI tools
- Package managers
- Security
- Networking
- Compliance
- Container runtime security
- Audit
- Monitoring
- Logging
- Tracing
- CI and CD tools
- Scaling
- Chaos testing
- Storage
- Ingress
- API gateways
- Service meshes
- Backup
- Cost allocation
- Machine learning
- Self-paced learning
- Miscellaneous
- Upcoming Events
- re:Invent 2019 sessions
- Books
- Contributors
Cluster management tools
- eksctl
- AWS CloudFormation
- cdk8s – Define Kubernetes native apps and abstractions using object-oriented programming
- CDK Amazon EKS Construct Library
- Terraform
- Pulumi
- Octant – Deploy VMware Octant on a EKS Cluster using Pulumi
- ekstender – tool that extends a vanilla Amazon EKS cluster with a number of add-on OSS projects.
-
aws-k8s-tester – Implements
k8s.io/test-infra/kubetest2
, creates/deletes testing EKS cluster with various add-ons. - eksctl with Ocean integration by Spot.io – eksctl integrated with Ocean by Spot.io to launch EKS on spot instances with a single command
Data plane management
- Managed nodes groups
- AWS Node Termination Handler
- amazon-k8s-node-drainer
- EKS Rolling Update
- Optimized worker node management, launched on spot instances
CLI tools
- Krew – a plugin manager for kubectl
- kubectl-plugins
- kubectx β Faster way to switch between clusters and namespaces in kubectl
- kube-ps1 β Kubernetes prompt for bash and zsh. Adds the current context and namespace to the prompt
- kui – A hybrid command-line/UI development experience for cloud-native development
- kubectl debug – Debug your pod by a new container with every troubleshooting tools pre-installed
- k9s – Provides a terminal UI to interact with your Kubernetes clusters
- kubectl tree
Package managers
- Helm – The Kubernetes Package Manager
- Amazon EKS Helm chart repository
Security
- EKS Best Practices Guide for Security
- Kyverno
- Gatekeeper
- Open Policy Agent
- Bane – Custom & better AppArmor profile generator for Docker containers.
- IAM Roles for service accounts
- eksuser – Utility to manage Amazon EKS users
- Sysdig Falco
- cert-manager
- Pod security policy
- kube-hunter
Networking
- AWS VPC CNI
- CNI metrics helper
- Calico network policy engine for Kubernetes
- Cluster VPC considerations
- ksniff – Kubectl plugin to ease sniffing on kubernetes pods using tcpdump and wireshark
Compliance
- kube-bench
- docker-bench-security
- actuary
- AWS Inspector
- Sysdig Secure
Container runtime security
Audit
- Logging Amazon EKS API calls with AWS CloudTrail
- kaudit
- kubeaudit
- MKIT
- kubesec.io
- polaris
Monitoring
- Kubernetes Metrics Server β Cluster-wide aggregator of resource usage data
- kube-state-metrics β Add-on agent to generate and expose cluster-level metrics.
- Prometheus + Grafana
- CloudWatch Container Insights
- Using Prometheus Metrics in Amazon CloudWatch
- k8s-image-availability-exporter – Alerts if an image used in Kubernetes cannot be pulled from container registry
- Mizu – The API Traffic Viewer for Kubernetes (Think TCPDump and Wireshark re-invented for Kubernetes)
Troubleshooting
- kubespy
- Sloop
Logging
- Amazon EKS control plane logging
- Fluentd β Set Up FluentD as a DaemonSet to Send Logs to CloudWatch Logs
- Kubernetes Logging powered by AWS for Fluent Bit
- Cloudwatch Container Insights
Tracing
- AWS X-Ray
- Jaeger
CI and CD tools
- Flux – The GitOps Kubernetes operator
- Flagger – Progressive Delivery Operator for Kubernetes
- Spinnaker
- Jenkins
- Jenkins X
- Travis
- Circle CI
- Gitlab
- Shippable
- Argo
Pod scaling
- Goldilocks vertical-pod-autoscaler
- kube-metrics-adapter
- right-size-guide β A CLI tool providing memory & CPU recommendations for containerized apps
- Automatic right-sizing β Using Kubernetes dynamic admission controller to implement automatic right-sizing recommendations
- Escalator – A batch or job optimized horizontal autoscaler
Chaos testing
- Gremlin
- Chaos Mesh
- PowerfulSeal
- kube-monkey
- chaoskube
- LitmusChaos
Storage
- Amazon EBS CSI driver
- Amazon EFS CSI driver
- Amazon FSx for Lustre CSI driver
- Rook
- OpenEBS
Ingress
- ALB Ingress Controller – AWS ALB Ingress Controller for Kubernetes
- Gloo – The Feature-rich, Kubernetes-native, Next-Generation API Gateway Built on Envoy
- Traefik β Cloud Native Edge Router
- Nginx
- Contour
API gateways
- Ambassador
- Kong
- Amazon API Gateway
Service meshes
Backup
Cost allocation
- kubecost
- Kubernetes Opex Analytics
- Kubernetes Cost Allocation
Machine learning
- Kubeflow β Machine Learning Toolkit for Kubernetes
- Optimizing Spark performance on Kubernetes
- Video AWS re:Invent 2019: Building machine-learning infrastructure on Amazon EKS with Kubeflow (CON306-R1)
Self-paced learning
- EKS Workshop
- Amazon EKS and Kubernetes on EC2 Container Networking Workshop
- AWS Kubeflow Workshop
- App Mesh Workshop
- Blue Green Deployment with Amazon EKS and K8s
- EKS/ECR/ECS Modernization
- GitOps Helm Workshop
- Introduction to GitOps on Amazon EKS with Weaveworks
Miscellaneous
- AWS container services roadmap
- Container content ideas for AWS
- AWS containers blog
- Nick Brandaleone’s blog
- Amazon EKS Kubernetes versions
- Windows support
- ARM Support
- Amazon EKS on AWS Outposts
- Awesome AWS Workshops
Upcoming events
- July 9, 2020 – AWS Cloud Containers Conference
re:Invent 2019 sessions
- AWS re:Invent 2019: Running Kubernetes at Amazon scale using Amazon EKS (CON212-R1)
- AWS re:Invent 2019: Running Kubernetes Applications on AWS Fargate (CON326-R1)
- AWS re:Invent 2019: Amazon EKS under the hood (CON421-R1)
- AWS re:Invent 2019: Building machine-learning infrastructure on Amazon EKS with Kubeflow (CON306-R1)
- AWS re:Invent 2019: How Ticketmaster runs Kubernetes for 80% less without managing VMs (CON308-S)
- Chris Short – AWS Developer Advocate
- Massimo Re Ferre’ – AWS Developer Advocate
- Michael Hausenblas – AWS Developer Advocate
Books
- Container Security by Liz Rice
- Kubernetes Patterns by Roland HuΓ
- Kubernetes Best Practices by Lachlan Evenson, Dave Strebel, Eddie Villalba, Brendan Burns
- Programming Kubernetes by Michael Hausenblas and Stefan Schimanski
- Kubernetes Cookbook by SΓ©bastien Goasguen and Michael Hausenblas
- Mastering Kubernetes by Gigi Sayfan
- Kubernetes Security by Liz Rice and Michael Hausenblas
- Kubernetes – A Complete DevOps Cookbook by Murat Karslioglu