# Elastic Kubernetes Service (EKS)

## Icon

![EKS Icon](https://icon.icepanel.io/AWS/svg/Containers/Elastic-Kubernetes-Service.svg)

## Basics

* Managed service offering from AWS for managing [Kubernetes](https://kubernetes.io/docs/concepts/overview/) cluster on AWS.
* Its an alternative to ECS, but uses kubernetes standardization to manage containerized applications.
* Supports two launch modes,
  * EC2 instances _(for worker nodes)_
  * Fargate _(Serverless)_
* When companies are already using `Kubernetes` to manage containerized application on-premises and wants to migrate to AWS. This offering can be used as `Kubernetes` is cloud-agnostic.

### Node Types

* Managed Node groups
  * Creates and manages nodes for you.
  * Nodes are part of `ASG` managed by EKS.
  * Supports both On-Demand & Spot instances.
* Self Managed Node
  * Created by you & registered to `EKS` cluster & managed by an `ASG`.
  * Supports both On-Demand & Spot instances.
* Fargate
  * No nodes need to be managed.

## Data Volumes

* `StorgeClass` manifest on `EKS` cluster specifies the volumes attached to your cluster.
* Container Storage Interface _(CSI)_ compliant driver is used to specify data volumes.
* Supports following file systems,
  * `EBS`
  * `EFS`
  * `FSx` for Lustre file system
  * `FSx` for NetApp ONTAP file system

### EKS Diagram

![EKS On Cloud](https://574639531-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJDnjsv52I3fJ56WbLgHu%2Fuploads%2Fgit-blob-dcef7286a26b9594e5133ece3e6010d57f05122a%2FEKS_Diagram.png?alt=media)

## Reference

* [Storage for EKS](https://docs.aws.amazon.com/eks/latest/userguide/storage.html)
