Kubernetes on AWS
Using Amazon Elastic Kubernetes Service
Topic: System Administration
This training is a quick way for you to understand how to best run applications on Kubernetes using the AWS EKS service. The Kubernetes platform allows organizations to manage containers at scale using a declarative architecture ensuring applications run even when underlying infrastructure scales. Kubernetes is so dominate it pervades On-prem data centers, Google Cloud Platform, Microsoft Azure, and even AWS. Applications that run in Kubernetes can truly run anywhere!
What you'll learn-and how you can apply it
- How to manage Kubernetes on AWS using CloudFormation, EKS, and other AWS native tools.
- How to integrate other AWS services into your Kubernetes environment for real world use cases including: Load Balancers, RedShift, DynamoDB, Lambda, etc.
- Basic Management tasks with Kubernetes: Onboarding new users, upgrade Kubernetes, adding permissions, and TLS certificates to web facing applications
This training course is for you because...
- You want to run Kubernetes on AWS but are not sure how to start
- You have basic applications on AWS and want to know more advanced concepts like adding load balancers to access applications from the web, persistent volumes, and scaling out.
- You have data in AWS resources like DynamoDB, Redshift and want to know how your applications running on Kubernetes can access those resources.
- Basic Docker understanding
- Basic AWS understanding
- Basic Python skills
- Basic Kubernetes understanding
If you want to follow along and do what the instructor does you should have your own AWS Account, permissions to create EKS stacks, CloudFormation, IAM permissions, DynamoDB access permissions, Lambda, etc. The cost of these resources during the class will not exceed $10USD.
GitHub Resources: https://github.com/vallard/EKS-Training
Search for the following live training in the O’Reilly Platform: - Getting Started with Amazon Web Services (AWS) (Live Online Training) presented by Chad Smith - Getting Started with Kubernetes (Live Online Training) by Sander van Vugt
Search for the following video in the O’Reilly Platform: - Amazon Web Services: AWS LiveLessons by Richard A. Jones: https://learning.oreilly.com/videos/amazon-web-services/9780135581247 - Getting Started with Kubernetes by Sander van Vugt: https://learning.oreilly.com/videos/getting-started-with/9780135237823 - Docker Containers, Third Edition by Christopher Negus: https://learning.oreilly.com/videos/docker-containers-third/9780134862958 - Introduction to Python: Learn How to Program Today with Python: https://learning.oreilly.com/videos/introduction-to-python/9780135707333
Other Resources - Kubernetes in the Data Center (Video) by Vallard Benincosa
About your instructor
Vallard broke free from his former corporate life to focus on developing applications that use data science and automation to create solutions for customers in high end fashion, travel, and even fast food. Previously, he loved working at Cisco as a Cloud Architect and at IBM as a High Performance Computing (HPC) architect. He is a frequent speaker and author of Kubernetes in the Data Center LiveLessons by Cisco Press.
The timeframes are only estimates and may vary according to how the class is progressing
Segment 1 Introduction Length (10 min)
- Big Picture overview
- Clone Github resources
- install kubectl if not yet on system
- Install eksctl on laptops if not yet installed.
- Log into AWS
Segment 2 Foundational Concepts Length (20 min)
- Describe the benefits of using Kubernetes on AWS
- Compare and contrast EKS with other Kubernetes services and options
- Describe basic building blocks of EKS
- Describe eksctl tool
- Examine CloudFormation templates
- Become familiar with EKS console
Segment 3 Launch EKS Length (20 min)
- Launch EKS cluster
- Validate Security Groups
- Apply ConfigMaps to allow nodes into the cluster
- Login with kubectl and setup AWS Kubernetes login validator
- Run quick sample application to ensure cluster is running.
Break (10 minutes)
Segment 4 Launch Applications Length (40 minutes)
- Create an application that uses Amazon Elastic Block Storage for persistence
- Create an AWS ELB for outside access to the cluster
- Configure R53 DNS to point to the ELB
- Install NGINX ingress controller for TLS certificates
- Access application using secure https://
Break (10 minutes)
Segment 5 Cluster Lifecycle Length (20 minutes)
- Demonstrate adding additional users to be able to access your EKS cluster with kubectl
- Setup and demonstrate Autoscaling for more nodes to go up and down.
- Upgrade cluster to current version
Segment 6 Connecting to additional AWS Services Length (30 minutes)
- Create an AWS lambda function that connects to Kubernetes when an event is triggered
- Show how an application running on EKS accesses S3 and DynamoDB database.
Segment 7 – Wrap up and Questions Length (10 minutes)