Difference between revisions of "AWS Elastic Kubernetes Service (EKS)"

From wikieduonline
Jump to navigation Jump to search
 
(84 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[AWS]] Elastic [[Kubernetes]] Service ([[EKS]]) is a managed [[Kubernetes]] solution for running [[containers]] available in AWS cloud platform since June 2018 <ref>https://en.wikiversity.org/wiki/DevOps/Kubernetes/EKS</ref>. EKS can be managed using [[Jenkins X]] software <ref>https://aws.amazon.com/blogs/opensource/continuous-delivery-eks-jenkins-x/</ref>. Other AWS services for running containers are [[ECS]] or [[Fargate]].
+
[[AWS]] Elastic [[Kubernetes]] Service ([[EKS]]) ([[AWS timeline|Jun 2018]] <ref> https://aws.amazon.com/blogs/aws/amazon-eks-now-generally-available/</ref>) is a managed [[Kubernetes]] solution for running [[containers]] available in AWS cloud platform since June 2018 <ref>https://en.wikiversity.org/wiki/DevOps/Kubernetes/EKS</ref>. EKS can be managed using [[Jenkins X]] software <ref>https://aws.amazon.com/blogs/opensource/continuous-delivery-eks-jenkins-x/</ref>. Other AWS services for running containers are [[ECS]] or [[Fargate]].
 +
* https://aws.amazon.com/eks/
  
By default EKS provides 3 [[master node]]s and 3 <code>[[etcd]]</code> nodes, but are invisible to you and Amazon is responsible of AutoScaling them when needed.
+
By default EKS provides 3 [[master node]]s and 3 <code>[[etcd]]</code> nodes, but are invisible to you and Amazon is responsible of [[Autoscaling]] them when needed.
  
<code>[[helm]] repo add eks https://aws.github.io/eks-charts</code>
+
== Topics ==
 +
* [[Amazon EKS authorization]]: <code>[[aws-iam-authenticator]]</code>
 +
* [[Amazon EKS cluster endpoint]]
 +
* [[AWS EKS Cluster Identity Provider Configuration]]
 +
* [[AWS EKS Addons]]: <code>[[aws-ebs-csi-driver]]</code>
 +
* [[Amazon EKS nodes]]
 +
* [[EKS versions]]
 +
* [[EKS single sign-on using AWS SSO]]
 +
* [[EKS logging]]
  
 +
== Installation ==
 +
* <code>[[helm repo add eks]] https://aws.github.io/eks-charts</code>
 +
* [[Create your first EKS Cluster using AWS Management Console]] <ref>https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html</ref>
 +
* [[Deploy EKS cluster using Terraform]]
  
== Creation your first EKS Cluster <ref>https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html</ref> ==
+
* Helm charts:  
:0) Prerequisites: <code>[[kubectl]]</code> and <code>aws-iam-authenticator</code> (a tool to authenticate to Kubernetes using AWS IAM credentials)<ref>https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html</ref>
+
** [[helm repo add eks|EKS repo]]: <code>[[aws-for-fluent-bit]], [[aws-cloudwatch-metrics]]</code>
:: On macOS: <code>brew install aws-iam-authenticator</code> and <code>brew install kubernetes-cli</code>
+
** [[helm repo add aws-ebs-csi-driver|aws-ebs-csi-driver repo]]: <code>[[aws-ebs-csi-driver]]</code>
:1) Create a new service role
 
:2) Create a new VPC for you new EKS Cluster using this [[CloudFormation]] template from AWS: https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html
 
:3) Create EKS Cluster from AWS Webconsole, user used for creating EKS Cluster will be the initial administrator.
 
:4) Create Worker Nodes using AWS Cloudformation template https://github.com/awslabs/amazon-eks-ami/blob/master/amazon-eks-nodegroup.yaml
 
:5) Install Kubernetes dashboard<ref>https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/</ref>
 
  
 
== Costs ==
 
== Costs ==
[[EKS]] is not included in [[AWS Free Tier]], usually running an EKS cluster is more expensive than [[ECS]] for small deployments. [[Google Kubernetes Engine (GKE)]] offers free trial Kubernetes service. AWS charges $0.10 per hour for each EKS cluster.
+
* [[EKS]] is not included in [[AWS Free Tier]], usually running an EKS cluster is more expensive than [[ECS]] for small deployments.
 +
* AWS charges $0.10 per hour for each EKS cluster (aprox $72 per month) [https://calculator.aws/#/estimate?id=c9a2b153ce184659c1353bf959ebc47ba3af916a calculator]
  
==Activities==
+
Related:
 +
* [[Google Kubernetes Engine (GKE)]] offers [[free trial]] Kubernetes service.
 +
 
 +
== Activities ==
 +
* [[Create your first EKS Cluster]]: [[Deploy EKS cluster using Terraform]]
 +
* [[Authenticate]]: <code>[[aws eks update-kubeconfig]]</code>
 
* Read [[GitLab]] integration with [[EKS]]: https://about.gitlab.com/blog/2020/03/09/gitlab-eks-integration-how-to/
 
* Read [[GitLab]] integration with [[EKS]]: https://about.gitlab.com/blog/2020/03/09/gitlab-eks-integration-how-to/
* Read: AWS EKS getting starting guide: https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html
+
* Read: [[AWS EKS]] getting starting guide: https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html
 +
* StackOverflow: https://stackoverflow.com/questions/tagged/amazon-eks?tab=Votes
 +
* Read: https://aws.amazon.com/blogs/compute/tag/amazon-eks/
 +
* Read [[Amazon EKS Blueprints]]
  
 
== Related ==
 
== Related ==
Line 26: Line 43:
 
* [[Amazon EKS cluster role]]
 
* [[Amazon EKS cluster role]]
 
* [[AWS Bottlerocket]]
 
* [[AWS Bottlerocket]]
 +
* [[Terraform EKS]]
 +
* [[Network policy]]: [[Calico]] [[EKS add-ons|add-on]] https://docs.aws.amazon.com/eks/latest/userguide/calico.html
 +
* [[Amazon EKS Workshop]]: https://www.eksworkshop.com/
 +
* [[EKS Best Practices Guides]]
 +
* [[Tencent Kubernetes Engine (TKE)]]
 +
* [[Kustomize]]
 +
* <code>[[kubectl version --short]]</code>
 +
* [[Self-managed nodes]]
 +
* [[fargate-scheduler]]
 +
* [[EKS tasks]]
 +
* [[Security groups for Pods in EKS]]
 +
* [[Amazon EKS Blueprints]]
 +
 +
== News ==
 +
* Nov 2022 [[EKS v1.20]] deprecated.
 +
* May 2022 Amazon EKS console now supports all standard [[Kubernetes resources]] <ref>https://aws.amazon.com/about-aws/whats-new/2022/05/amazon-eks-console-supports-standard-kubernetes-resources-cluster-management/</ref>
 +
* Mar 2022 [[EKS v1.23]] [[Amazon EBS CSI driver]]
 +
* Aug 2020 [[launch template]] and [[custom AMI]] support in Amazon EKS [[Managed Node Groups]] https://aws.amazon.com/blogs/containers/introducing-launch-template-and-custom-ami-support-in-amazon-eks-managed-node-groups/
 +
* Nov 2019 EKS [[Managed node groups]] <ref>https://aws.amazon.com/about-aws/whats-new/2019/11/amazon-eks-adds-support-for-provisioning-and-managing-kubernetes-worker-nodes/</ref>
  
 
== See also ==
 
== See also ==

Latest revision as of 08:32, 22 August 2024

AWS Elastic Kubernetes Service (EKS) (Jun 2018 [1]) is a managed Kubernetes solution for running containers available in AWS cloud platform since June 2018 [2]. EKS can be managed using Jenkins X software [3]. Other AWS services for running containers are ECS or Fargate.

By default EKS provides 3 master nodes and 3 etcd nodes, but are invisible to you and Amazon is responsible of Autoscaling them when needed.

Topics[edit]

Installation[edit]

Costs[edit]

  • EKS is not included in AWS Free Tier, usually running an EKS cluster is more expensive than ECS for small deployments.
  • AWS charges $0.10 per hour for each EKS cluster (aprox $72 per month) calculator

Related:

Activities[edit]

Related[edit]

News[edit]

See also[edit]

  • https://aws.amazon.com/blogs/aws/amazon-eks-now-generally-available/
  • https://en.wikiversity.org/wiki/DevOps/Kubernetes/EKS
  • https://aws.amazon.com/blogs/opensource/continuous-delivery-eks-jenkins-x/
  • https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html
  • https://aws.amazon.com/about-aws/whats-new/2022/05/amazon-eks-console-supports-standard-kubernetes-resources-cluster-management/
  • https://aws.amazon.com/about-aws/whats-new/2019/11/amazon-eks-adds-support-for-provisioning-and-managing-kubernetes-worker-nodes/
  • Advertising: