Skip to content

Commit 227d72c

Browse files
Kalyan Reddy DaidaKalyan Reddy Daida
authored andcommitted
Welcome to Stack Simplify
1 parent 14877d8 commit 227d72c

File tree

1 file changed

+140
-172
lines changed

1 file changed

+140
-172
lines changed

README.md

Lines changed: 140 additions & 172 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,106 @@
1-
# AWS Elastic Kubernetes Service - Masterclass
1+
# AWS EKS - Elastic Kubernetes Service - Masterclass
22

33
## Course Modules
44

5+
| S.No | AWS Service Name |
6+
| ---- | ---------------- |
7+
| 1. | Create AWS EKS Cluster using eksctl CLI |
8+
| 2. | [Docker Fundamentals](https://github.com/stacksimplify/docker-fundamentals) |
9+
| 3. | [Kubernetes Fundamentals](https://github.com/stacksimplify/kubernetes-fundamentals) |
10+
| 4. | EKS Storage with AWS EBS CSI Driver |
11+
| 5. | Kubernetes Important Concepts for Application Deployments |
12+
| 5.1 | Kubernetes - Secrets |
13+
| 5.2 | Kubernetes - Init Containers |
14+
| 5.3 | Kubernetes - Liveness & Readiness Probes |
15+
| 5.4 | Kubernetes - Requests & Limits |
16+
| 5.5 | Kubernetes - Namespaces, Limit Range and Resource Quota |
17+
| 6. | EKS Storage with AWS RDS MySQL Database |
18+
| 7. | Load Balancing using CLB & NLB |
19+
| 7.1 | Load Balancing using CLB - AWS Classic Load Balancer |
20+
| 7.2 | Load Balancing using NLB - AWS Network Load Balancer |
21+
| 8. | Load Balancing using ALB - AWS Application Load Balancer |
22+
| 8.1 | ALB Ingress Controller - Install |
23+
| 8.2 | ALB Ingress - Basics |
24+
| 8.3 | ALB Ingress - Context path based routing |
25+
| 8.4 | ALB Ingress - SSL |
26+
| 8.5 | ALB Ingress - SSL Redirect HTTP to HTTPS |
27+
| 8.6 | ALB Ingress - External DNS |
28+
| 9. | Deploy Kubernetes workloads on AWS Fargate Serverless |
29+
| 9.1 | AWS Fargate Profiles - Basic |
30+
| 9.2 | AWS Fargate Profiles - Advanced using YAML |
31+
| 10. | Build and Push Container to AWS ECR and use that in EKS |
32+
| 11. | DevOps with AWS Developer Tools CodeCommit, CodeBuild and CodePipeline |
33+
| 12. | Microservices Deployment on EKS - Service Discovery |
34+
| 13. | Microservices Distributed Tracing using AWS X-Ray |
35+
| 14. | Microservices Canary Deployments |
36+
| 15. | EKS HPA - Horizontal Pod Autosaler |
37+
| 16. | EKS VPA - Vertical Pod Autosaler |
38+
| 17. | EKS CA - Cluster Autosaler |
39+
| 18. | EKS Monitoring using CloudWatch Agent & Fluentd - Container Insights |
40+
41+
42+
## AWS Services Covered
43+
44+
| S.No | AWS Service Name |
45+
| ---- | ---------------- |
46+
| 1. | AWS EKS - Elastic Kubernetes Service |
47+
| 2. | AWS EBS - Elastic Block Store |
48+
| 3. | AWS RDS - Relational Database Service MySQL |
49+
| 4. | AWS CLB - Classic Load Balancer |
50+
| 5. | AWS NLB - Network Load Balancer |
51+
| 6. | AWS ALB - Application Load Balancer |
52+
| 7. | AWS Fargate - Serverless |
53+
| 8. | AWS ECR - Elastic Container Registry |
54+
| 9. | AWS Developer Tool - CodeCommit |
55+
| 10. | AWS Developer Tool - CodeBuild |
56+
| 11. | AWS Developer Tool - CodePipeline |
57+
| 12. | AWS Developer Tool - CodePipeline |
58+
| 13. | AWS X-Ray |
59+
| 14. | AWS CloudWatch - Container Insights |
60+
| 15. | AWS CloudWatch - Log Groups & Log Insights |
61+
| 16. | AWS CloudWatch - Alarms |
62+
| 17. | AWS Route53 |
63+
| 18. | AWS Certificate Manager |
64+
| 19. | EKS CLI - eksctl |
65+
66+
67+
## Kubernetes Concepts Covered
68+
69+
| S.No | Kubernetes Concept Name |
70+
| ---- | ------------------- |
71+
| 1. | Kubernetes Architecture |
72+
| 2. | Pods |
73+
| 3. | ReplicaSets |
74+
| 4. | Deployments |
75+
| 5. | Services - Node Port Service |
76+
| 6. | Services - Cluster IP Service |
77+
| 7. | Services - External Name Service |
78+
| 8. | Services - Ingress Service |
79+
| 9. | Services - Ingress SSL & SSL Redirect |
80+
| 10. | Services - Ingress & External DNS |
81+
| 11. | Imperative - with kubectl |
82+
| 12. | Declarative - Declarative with YAML |
83+
| 13. | Secrets |
84+
| 14. | Init Containers |
85+
| 15. | Liveness & Readiness Probes |
86+
| 16. | Requests & Limits |
87+
| 17. | Namespaces - Imperative |
88+
| 18. | Namespaces - Limit Range |
89+
| 19. | Namespaces - Resource Quota |
90+
| 20. | Storage Classes |
91+
| 21. | Persistent Volumes |
92+
| 22. | Persistent Volume Claims |
93+
| 23. | Services - Load Balancers |
94+
| 24. | Annotations |
95+
| 25. | Canary Deployments |
96+
| 26. | HPA - Horizontal Pod Autoscaler |
97+
| 27. | VPA - Vertical Pod Autoscaler |
98+
| 28. | CA - Cluster Autoscaler |
99+
| 29. | DaemonSets |
100+
| 30. | DaemonSets - Fluentd for logs |
101+
| 31. | Volumes |
102+
| 32. | Config Maps |
103+
5104
## List of Docker Images on Docker Hub
6105

7106
| Application Name | Docker Image Name |
@@ -34,175 +133,44 @@
34133
| DevOps Usecase | YOUR-AWS-ACCOUNT-ID.dkr.ecr.us-east-1.amazonaws.com/eks-devops-nginx:DATETIME-REPOID |
35134

36135

37-
## AWS Services - Covered as part of this course
38-
1. AWS Elastic Kubernetes Service - EKS
39-
2. AWS EKS Fargate (Serverless)
40-
3. AWS Elastic Container Registry - ECR
41-
3. AWS Elastic Block Storage - EBS
42-
4. AWS Elastic File Storage - EFS
43-
5. AWS VPC - Virtual Private Cloud
44-
6. AWS ELB - Elastic Load Balancer
45-
- CLB - Classic Load Balancer
46-
- NLB - Network Load Balancer
47-
- ALB - Application Load Balancer
48-
7. AWS RDS - Relation Database Service
49-
8. AWS EC2 Instances
50-
9. AWS EC2 Autoscaling
51-
10. AWS AppMesh
52-
11. AWS X-Ray
53-
12. AWS CloudFormation
54-
13. AWS CloudWatch
55-
14. AWS CloudTrial
56-
15. AWS Parameter Store (for secrets - CICD)
57-
16. AWS Lambda (For secrets - CICD)
58-
59-
## AWS EFS with EKS
60-
17. AWS Datasync
61-
18. AWS S3 Buckets
62-
19. AWS EFS
63-
- https://docs.aws.amazon.com/datasync/latest/userguide/creating-task.html#in-coud-setup
64-
20. Cerficate Manager (For ALB SSL)
65-
66-
| S.No | AWS Services | S.No |Kubernetes Concepts |
67-
| ------------- | ------------- | ------------- | -------------|
68-
| 1. | AWS EKS - Elastic Kubernetes Service | 1. |Pods |
69-
| 2. | AWS EKS - Fargate (Serverless) | 2. |ReplicaSets |
70-
| 3. | AWS ECR - Elastic Container Registry | 3. |Deployments |
71-
| 4. | AWS EBS - Elastic Block Store | 4. |Services - NodePort |
72-
| 5. | AWS EFS - Elastic File Store | 5. |Services - ClusterIp |
73-
| 6. | AWS VPC - Virtual Private Cloud | 6. |Imperative & Delcarative ways to create k8s objects |
74-
| 7. | AWS ELB - Elastic Load Balancer - ALB | 7. |YAML Basics - for writing k8s manifests |
75-
76-
77-
# Kubernetes Topics - For Preparation
78-
79-
## Foundation
80-
- YAML Basics
81-
82-
## Kube Core Topics
83-
- PODs
84-
- Deployments
85-
- Services
86-
- Volumes
87-
- ConfigMaps
88-
- Replication Controller or Replica Sets
89-
- Declarative commands (kubectl)
90-
- Live Template writing for PODS, Deployments & Services
91-
92-
## AWS EKS Topics
93-
- Create Cluster
94-
- AWS Management Console
95-
- eksctl
96-
- Worker Nodes
97-
- Launch a Worker Node (Linux)
98-
- Managed Node Groups (MNG)
99-
- Updating (Patching) Managed Node Groups
100-
- Editing Managed Node Groups
101-
- Managed Node Group ERRORS
102-
- Deleting MNG
103-
- Storage
104-
- EBS CSI Driver
105-
- EFS CSI Driver
106-
- Autoscaling
107-
- Cluster Autoscaler
108-
- Horizontal Pod Autoscaler
109-
- Vertical Pod Autoscaler
110-
- Load Balancing and Ingress
111-
- Load Balancing (CLB, NLB)
112-
- ALB Ingress Controller
113-
- Networking
114-
- Creating a VPC for EKS
115-
- Cluster VPC Considerations
116-
- EKS Security Group Considerations
117-
- Understand Pod Networking
118-
- CoreDNS (Already exists in new clusters - just intro about it will suffice)
119-
- Calico (Multi-tenant environment - not needed)
120-
- Managing Cluster Authentication (Optional)
121-
- Important Topic - Managing Users or IAM Roles for your cluster
122-
- Guest Book Application
123-
- Metrics Server
124-
- Prometheus Metrics
125-
- Using Helm
126-
- Deploy Kubernetes Dashboard
127-
- AppMesh Integration with Kubernetes
128-
- Security (IAM role to Kubernetes Service Accounts)
129-
- IAM
130-
- Pod Security Policy
131-
- CloudTrial
132-
- AWS Fargate (LAST)
133-
- Important Note: Pods running on Fargate are only supported on private subnets (with NAT gateway access to AWS services, but not a direct route to an Internet Gateway), so your cluster's VPC must have private subnets available.
134-
- Stateful applications are not recommended for pods running on Fargate.
135-
- Daemonsets are not supported on Fargate.
136-
- GPUs are currently not available on Fargate.
137-
- Troubleshooting
138-
139-
## Monitoring & Logging
140-
- CloudWatch
141-
- CloudTrail
142-
- AWS X-Ray
143-
144-
## Kube Tools
145-
- Kubeapps
146-
- Helm Charts
147-
- https://github.com/aws/eks-charts
148-
- https://docs.aws.amazon.com/eks/latest/userguide/helm.html
149-
- https://helm.sh/docs/intro/quickstart/
150-
- Kubeadm
151-
- Grafana, Prometheus
152-
- Istio
153-
- Kiali
154-
155-
156-
157-
158-
# Kube Topics List
159-
160-
## Series -1
161-
- Cluster Setup (AWS)
162-
- Architecture
163-
- PODS
164-
- Deployments
165-
- Services
166-
- ReplicaSets
167-
- YAML
168-
169-
## Series-2
170-
- ConfigMaps
171-
- Resources
172-
- Containers
173-
- P Volume Claims
174-
- Networking
175-
- Taints &
176-
-
177-
178-
## Series-3
179-
- Ingress
180-
- Secrets
181-
- Persistent Volumes
182-
- Security
183-
-
184-
185-
## Series-4
186-
- StatefulSets
187-
- Storage
188-
- Administration
189-
- Federation
190-
- Jobs
191-
192-
193-
194-
## Local Dev MySQL Server
195-
```
196-
docker run --name mysql-dev -p 3306:3306 -e MYSQL_ROOT_PASSWORD=redhat -d mysql:latest
197-
docker stop mysql-dev
198-
docker rm mysql-dev
199-
docker exec -it mysql-dev bash
200-
201-
# Docker network
202-
docker network ls
203-
204-
# Connect to MySQL
205-
docker run -it --network some-network --rm mysql mysql -hsome-mysql -uexample-user -p
206-
docker run -it --network host --rm mysql mysql -hmysql-dev -uroot -p
207-
```
136+
## Sample Applications
137+
- User Management Microservice
138+
- Notification Miroservice
139+
- Nginx Applications
140+
141+
## What will students learn in your course?
142+
- You will slowly start by learning Docker Fundamentals and move on to ECS or Fargate.
143+
- You will learn Docker fundamentals by implementing usecases like download image from Docker Hub and run on local desktop and build an image locally, test and push to Docker Hub.
144+
- You will master the Elastic Container Service core concepts like Task Definition, Task and Service.
145+
- You will learn using ECR - Elastic Container Registry in combination with ECS.
146+
- You will learn Docker Image Build, Push to ECR, run it as Task on ECS or Fargate Clusters.
147+
- You will learn usage of Application Load Balancers in combination with ECS Tasks (Containers) and also implement URI based routing on ALB.
148+
- You will understand and implement Service Autoscaling concepts of ECS
149+
- You will implement Continuous Integration and Continuous Delivery concepts using AWS Developer Tools like CodeBuild, CodeCommit and CodePipeline.
150+
- You will learn to master microservices deployments on ECS in combination with AWS CloudMap (for Service Discovery) and with AWS App Mesh (Service Mesh).
151+
- You will learn to deploy Microservices Canary Deployments using AWS App Mesh.
152+
- You will write CloudFormation Templates for Fargate Deployments starting from Network stack (VPC) to Service Stack (ECS or Fargate).
153+
- You will learn to implement Distributed Tracing using X-Ray without making any application level code changes when AWS App Mesh (Envoy Proxy) is in place with ECS Deployments.
154+
155+
## Are there any course requirements or prerequisites?
156+
- You must have an AWS account to follow with me for hands-on activities.
157+
- You dont need to have any basic Docker knowledge also to start this course. As part of Docker Fundamentals we have covered that too.
158+
159+
## Who are your target students?
160+
- AWS Architects or Sysadmins or Developers who are planning to master Elastic Container Service (ECS) for Docker deployments.
161+
- Any beginner who is interested in learning Docker fundamentals and moving on to master Docker Container deployments on AWS Cloud.
162+
- Technologists who want to implement Continuous Integration and Continuos Delivery/Deployment process (CI/CD) in AWS with Docker Container Images.
163+
164+
## Each of my courses come with
165+
- Amazing Hands-on Step By Step Learning Experiences
166+
- Real Implementation Experience
167+
- Friendly Support in the Q&A section
168+
- 30 Day "No Questions Asked" Money Back Guarantee!
169+
170+
## My Other AWS Courses
171+
- [Udemy Enroll](https://github.com/stacksimplify/udemy-enroll)
172+
173+
## Stack Simplify Udemy Profile
174+
- [Udemy Profile](https://www.udemy.com/user/kalyan-reddy-9/)
175+
208176

0 commit comments

Comments
 (0)