Skip to content

Latest commit

 

History

History
334 lines (187 loc) · 8.38 KB

README.md

File metadata and controls

334 lines (187 loc) · 8.38 KB

CKA

Use the below to set and initialize your backend config variables terraform init -backend-config=backend.conf

For example

backend.conf

bucket = "bucket-name"
key = "object-name"
region = "eu-west-2"
dynamodb_table = "table-name"

Table of Contents

Core Concepts

  1. Lab 01: Deploy a Kubernetes Cluster on AWS EC2 and attach a Cilium CNI
  2. Lab 02: Deploy a single pod to an EKS cluster
  3. Lab 03: Deploy a single pod to an EKS cluster, and then scale the pod using a ReplicaSet for high availability
  4. Lab 04: Deploy 2 Namespaces and set a Resource Quota in them
  5. Lab 05: Deploy a Replicaset and expose it using a Nodeport Service
  6. Lab 06: Deploy a Replicaset and expose it using a ClusterIP Service
  7. Lab 07: Deploy a Replicaset and an ExternalName service. Access the service via its metadata name from inside each pod
  8. Lab 08: Deploy a Replicaset and a LoadBalancer service. Use an AWS Load Balancer

Scheduling

  1. Lab 09: Manually Schedule a Pod to a Node
  2. Lab 10: Taint Nodes and Add Tolerations to Pods
  3. Lab 11: Labels, Node Selectors & Affinity, Pod Affinity and Anti-Affinity
  4. Lab 12: Set CPU Resource Limit to a Namespace and Deploy a Pod that Requests more CPU and also changes the CPU Limit
  5. Lab 13: Deploy a DaemonSet across 2 nodes, and scale it to 3
  6. Lab 14: Deploy a StaticPod into a Control Plane Node
  7. Lab 15: Deploy a Custom Scheduler and a Pod that Uses It

Logging & Monitoring

  1. Lab 16: Deploy a Metric Server and View the Metrics of Resources

Application Lifecycle Management

  1. Lab 17: Deploy a Deployment with 3 Replicas, then install a new version of the image using the Rolling Update strategy
  2. Lab 18: Use Command & Argument to Execute an Instruction in the Shell of a Pod
  3. Lab 19: Use a ConfigMap to Dynamically Pass Configs to a Container in a Pod via its Environmental Variables
  4. Lab 20: Attach a Secrets object to a Pod
  5. Lab 21: Configure a multi-container Pod and send each log to a file
  6. Lab 22: Configure init-container Pods which uses two services

Storage

  1. Lab 23a: Configure a deployment and use a hostPath volume type

  2. Lab 23b: Configure a deployment and use a hostPath volume type with a persistent volume and persistent volume claim

  3. Lab 24: Configure a deployment and use a static local volume type with a persistent volume and persistent volume claim

  4. Lab 25: Configure a deployment and use a dynamic EBS volume type with a persistent volume, persistent volume claim

  5. Lab 26: Configure a deployment and use a static EBS volume type with a persistent volume, persistent volume claim

  6. Lab 28: Configure a deployment and use a dynamic local volume type with a persistent volume, persistent volume claim, and a snapshot

Storage for Application Lifecycle Management

  1. Lab 29: Mounting a config map to a deployment as a volume
  2. Lab 30: Mounting secrets to a deployment as a volume

Cluster Maintenance

  1. Lab 31: Performing OS patches on a node
  2. Lab 32: Upgrading/Downgrading a cluster
  3. Lab 33: Backup & Restore an ETCD Cluster using a Volume

Security

  1. Lab 34: User Authentication using Certificates and kubeconfig
  2. Lab 35: User Authorization using Roles and Role Bindings
  3. Lab 36: User Authorization using Cluster Roles and Cluster Role Bindings
  4. Lab 37: Service Accounts
  5. Lab 38: Private Image Repository
  6. Lab 39: Security Contexts
  7. Lab 40: Network Policies

High Availability

  1. Lab 41: Multi-Cluster

Lab 01

Deploy a Kubernetes Cluster on AWS EC2 and attach a Cilium CNI

Lab 01

Lab 02

Deploy a single pod to an EKS cluster

Lab 02

Lab 03

Deploy a single pod to an EKS cluster, and then scale the pod using a ReplicaSet for high availability

Lab 03

Lab 04

Deploy 2 Namespaces and set a Resource Quota in them

Lab 04

Lab 05

Deploy a Replicaset and expose it using a Nodeport Service

Lab 05

Lab 06

Deploy a Replicaset and expose it using a ClusterIP Service

Lab 06

Lab 07

Deploy a Replicaset and an ExternalName service. Access the service via its metadata name from inside each pod

Lab 07

Lab 08

Deploy a Replicaset and a LoadBalancer service. Use an AWS Load Balancer

Lab 08

Lab 09

Manually Schedule a Pod to a Node

Lab 09

Lab 10

Taint Nodes and Add Tolerations to Pods

Lab 10

Lab 11

Labels, Node Selectors & Affinity, Pod Affinity and Anti-Affinity

Lab 11

Lab 12

Set CPU Resource Limit to a Namespace and Deploy a Pod that Requests more CPU and also changes the CPU Limit

Lab 12

Lab 13

Deploy a DaemonSet across 2 nodes, and scale it to 3

Lab 13

Lab 14

Deploy a StaticPod into a Control Plane Node

Lab 14

Lab 15

Deploy a Custom Scheduler and a Pod that Uses It

Lab 15

Lab 16

Deploy a Deployment with 3 Replicas, then install a new version of the image using the Rolling Update strategy

Lab 16

Lab 17

Deploy a Metric Server and View the Metrics of Resources

Lab 17

Lab 18

Use Command & Argument to Execute an Instruction in the Shell of a Pod

Lab 18

Lab 19

Use a ConfigMap to Dynamically Pass Configs to a Container in a Pod via its Environmental Variables

Lab 19

Lab 20

Attach a Secrets object to a Pod

Lab 20

Lab 21

Configure a multi-container Pod and send each log to a file

Lab 21

Lab 22

Configure init-container Pods which uses two services

Lab 22

Lab 23a

Configure a deployment and use a hostPath volume type

Lab 23a

Lab 23b

Configure a deployment and use a hostPath volume type with a persistent volume and persistent volume claim

Lab 23b

Lab 24

Configure a deployment and use a static local volume type with a persistent volume and persistent volume claim

Lab 24

Lab 25

Configure a deployment and use a dynamic EBS volume type with a persistent volume and persistent volume claim

Lab 25

Lab 26

Configure a deployment and use a static EBS volume type with a persistent volume and persistent volume claim

Lab 26

Lab 27 -- in progress

Lab 28

Configure a deployment and use a dynamic local volume type with a persistent volume, persistent volume claim and a snapshot

Lab 28

Lab 29

Mounting a config map to a deployment as a volume

Lab 29

Lab 30

Mounting secrets to a deployment as a volume

Lab 30

Lab 31

Performing OS patches on a node

Lab 31

Lab 32

Upgrading/Downgrading a Cluster

Lab 32

Lab 33

Backup & Restore an ETCD Cluster using a Volume

Lab 33

Lab 34

User Authentication using Certificates and kubeconfig

Lab 34

Lab 35

User Authorization using Roles and Role Bindings

Lab 35

Lab 36

User Authorization using Cluster Roles and Cluster Role Bindings

Lab 36

Lab 37

Service Accounts

Lab 37

Lab 38

Private Image Repository

Lab 38

Lab 39

Security Contexts

Lab 39

Lab 40

Network Policies

Lab 40

Lab 41

Multi-Cluster

Lab 41