
Learn the basics of Kubernetes
Learn about the benefits of Kubernetes.
Learn about nodes, node types and their function.
Learn about the Kubernetes control plane architecture.
Learn about the data plane of Kubernetes.
Learn about a Kubernetes Object.
Learn about the Kubernetes Pod.
Learn about the various objects in Kubernetes.
Learn about the purpose of labels and selectors in Kubernetes.
Learn about basics of Amazon EKS.
Learn the steps to work with an EKS Cluster
Learn the architecture of Amazon EKS
Create an IAM user with administrator access in the AWS management console, set a secure password, and download the access keys to sign in for EKS labs.
Create a Cloud9 workspace to access a browser-based terminal that deploys and manages an EKS cluster, spinning up a secure EC2 dev environment for hands-on labs.
Create an IAM role with administrator access and attach it to the Cloud9 workspace to enable launching an e-commerce cluster, then export account id and region and configure default region.
Install cube CTO tool and aws iam authenticator to set up and manage the eks cluster, downloading binaries, making them executable, and verifying versions in a Cloud9 workspace.
Generate an RSA SSH key, configure AWS CLI with the new access keys and region, then upload the public key to EKS to enable SSH access.
Launch an Amazon EKS cluster using the ECA CDL tool, create a dedicated VPC, initialize the control plane and worker nodes, and verify connectivity with kubectl.
Learn how to scale an EKS cluster by adjusting node group capacity and by adding new node groups, including scaling up from 2 to 4 and scaling down to 2.
Deploy the official dashboard with the dashboard YAML and kubectl apply, then connect from your Cloud9 workspace via a proxy and authenticate with an IAM token to manage workloads.
Clone the course’s GitHub repository into your Cloud9 environment to access all deployment YAML files, or manifests, describing the microservices you’ll deploy to the cluster.
Create a namespace in an EKS cluster to isolate resources for teams and projects, ensuring unique names within the namespace. Set a kubectl context so commands default to that namespace.
Deploy the engine X app with a YAML deployment specifying name, replicas, selectors, and port 80. Expose it via a load balancer service with a readiness probe for rolling updates.
Launch the NGINX app on EKS by creating a deployment and a load balancer service. Verify replicas and endpoints, test with curl to the external load balancer.
Calculate monthly costs for a two-node e-commerce EKS cluster, including data and control planes, and reduce expenses by deleting the cluster when idle using the delete cluster command.
Learn to deploy a WordPress microservice on ecommerce with a single replica, backed by a relational database such as MySQL, and using persistent volumes and PVCs.
Learn how volumes, persistent volumes, and persistent volume claims enable data persistence outside container roots, preserving data across restarts and enabling mounting via claims.
Create persistent volume claims using a storage class in Amazon EKS, with gp2 as default, enabling dynamic provisioning and mounting of MySQL and WordPress volumes into their pods.
Deploy a MySQL pod on amazon eks by applying the mysql deployment yaml, securing the root password with a kubernetes secret, and mounting a persistent volume for data.
Create a cluster-internal MySQL service in Kubernetes by applying the mysql-service file, exposing port 3306 via cluster IP, and verifying the endpoint IP matches the backend pods for WordPress integration.
Deploy a WordPress pod on Kubernetes using a WordPress YAML file, configuring WordPress to connect to a MySQL service with environment variables, mounting a persistent volume, and verifying deployment.
Deploy and test the WordPress service on EKS using a load balancer to expose port 80 externally, then verify the ELB routing to the WordPress node port.
Update a Kubernetes deployment by changing the WordPress container image tag, trigger a rollout with kubectl apply, and verify the new image is running.
Clean up a WordPress site on kubernetes by removing WordPress and my sequel services and deployments, and delete persistent volumes to prevent data loss; then explore role-based access control.
Explore how role-based access control authenticates API calls and authorizes actions with permissions, using service accounts and rules with verbs like get, create, and delete.
Create a namespace and deploy Nginx on Amazon Elastic Kubernetes Service, using kubectl to apply the deployment and verify all pods run in the new namespace.
Create an IAM user, generate access keys, and save credentials to a file to test role-based access control.
Create an IAM user to EKS user mapping with a config map, substitute your account ID, apply the config map, source credentials, and verify access before moving to rule binding.
Create a reader role in the outback namespace and bind it to the outback user, granting get, list, and watch access to ports and deployments.
Bind a role to the outback user and verify rbac by reading pods and deployments in the outback namespace, then confirm forbidden actions in other namespaces.
unset credentials and delete the rbac namespace to remove all resources under it, including deployments, ports, and role bindings. clean up the credentials file.
Explore Helm basics as a Kubernetes package manager for charts, enabling easy install, upgrade, and management of applications via chart repositories.
Explore Helm's core concepts—charts, config, releases, and repositories—and learn how the Helm client and library interact with the Kubernetes API to install charts on EKS.
Install Helm on an EKS cluster using the official script, verify the install, add the stable chart repository, and search for charts to deploy.
Update helm repositories, search and add the bitnami engine X chart, install the release my engine X, verify status, test the service, and uninstall the release.
Learn to customize a helm chart by viewing default values with helm show values, creating a config file, and overriding replicaCount and image.tag during install.
Upgrade your helm release by applying a new configuration, verify with get values, track revisions with history, and rollback to a previous release or uninstall if needed.
Create a WordPress helm chart by scaffolding chart.yaml, values.yaml, and a templates directory, then adapt templates with Go template language and override values with -f during install.
Package and install a WordPress chart on EKS by editing values.yaml, applying templates, and using helm to lint, render, package, deploy, test, and clean up.
In this course, you'll learn about Kubernetes & Helm by creating your own Amazon EKS cluster and doing hands-on labs.
This course does not assume that you have any prior experience with Kubernetes, EKS or Helm.
This course will teach you,
a) Kubernetes Essentials
b) Creating & Scaling an EKS cluster
c) Deploying applications on the EKS cluster
d) Controlling user access using RBAC
e) Helm essentials such as charts, releases, repositories, templates & packages
f) Packaging, installing, uninstalling & rolling back applications using Helm