
Students will learn about the course content.
Students will learn how to create AWS free tier account. Keep in mind that whenever you are not using whatever you created in AWS - it is a good thing to shut it down - just to avoid paying some undesired fees.
Students will learn how to install (download) awscli (aws) binary to their PC or MAC (machine from they are doing this course from).
Students will learn how to install (download) awscli binary (called as aws) to their PC or MAC (machine from they are doing this course from). This setup is necessary if we want to be able to use kops and terraform in this course. Kops will write some specifications for Kubernetes cluster in S3 bucket in AWS and this is achieved via aws binary which allows our computer to communicate with AWS.
Students will learn how to install (download) kubectl binary to their PC or MAC (machine from they are doing this course from). This software allow students to talk to their Kubernetes cluster in AWS (this binary is used across all cloud provider's platforms).
Student will learn how to setup Kops binary at their PC or MAC (machine from they are doing this course from).
Students will learn how to install (download) Terraform binary to their PC or MAC (machine from they are doing this course from).
Students will learn how to create EC2 instance (server) in AWS by specificity few lines of Terraform code. This should give students the idea how useful is to use Terraform code for building their own infrastructure in AWS (this knowledge can be used for other cloud providers too).
Students will learn some basic kops command specification for creation of Kubernetes cluster in AWS. I'm going through all the flags used with kops command just to make sure anybody can understand how to use kops command with AWS on his/her own.
Continuation of previous lecture. Students will learn some basic kops command specification for creation of Kubernetes cluster in AWS. I'm going through all the flags used with kops command just to make sure anybody can understand how to use kops command with AWS on his/her own. This lecture is mostly about the importance of a hosted zone in AWS and necessity of having some domain name available.
Students will learn how to actually execute kops (terraform code generated kubernetes.tf) command and execute terraform code which was pre-generated by kops. They will also learn how to destroy Kubernetes cluster by using terraform destroy.
Student will be walked through what has been created in AWS when they actually created their first Kubernetes cluster in AWS.
Students will lean how to proceed two step deployment simply by running two commands: kubectl create deployment ... and kubectl expose deployment... They will be able to go to their browsers and navigate to some the link where they will be seeing Welcome to Nginx landing page.
This lecture is about the recapitulation of a previous one. I wanted to describe what has happened in our Kubernetes cluster when I run two simple commands (kubectl create deployment ..., kubectl expose deployment ...). I just want to make sure that this simple deployment concept was well understood and explained.
This lecture explains how that basically any object in Kubernetes can be defined in form of YAML files (e.g. some_service.yaml). I am explaining how to edit POD and SERVICE objects throughout this lecture. If we want to imagine what we can really call as an OBJECT in Kubernetes - we might think about POD, SERVICE, DEPLOYMENT, REPLICA SET, INGRESS, CONFIGMAP, and many many others. These are greatly documented in the official Kubernetes web page.
The goal of this lecture is to explain how to deploy our own content (in our case there are some *.css, *.js and index.html files) to NGINX web server which will be deployed in our Kubernetes cluster on AWS. The document root (folder where NGINX web server reads the content it is going to be served to the world) is normally "/usr/share/nginx/html". The tricky part is that we are dealing with NGINX as a Docker container within POD in Kuberneters. Well, we needed to come up with some way how to get our content (*.css, *.js and index.html files) and place/save/deploy it to desired folder "/usr/share/nginx/html" inside Docker container in Kubernetes. We solved this task by creating an object in Kubernetes called CONFIGMAP. We have simple taken our files (*.css, *.js and index.html) saved in our PC or MAC, server and saved them to the configmap named nginx-content (you can name it whatever name you like). This configmap is then loaded in volumeMounts section of out deployment specification file - deployment_file.yaml. There are other ways how to accomplish this task for example by using some other "storage-like" objects in Kubernetes in order to be able to place your own content to particular (some specific) folder inside Docker container scheduled in Kubernetes cluster.
Actual NGINX deployment is covered within this lecture. I'm explaining how to trigger deployment in Kubernetes simply by defining basic Deployment specification as well as Service specification. I'm also covering topics like how to get inside the Docker container (NGINX) deployed in Kubernetes cluster, seeing logs of particular Pod (NGINX in our case). I'm also explaining how to process and scale horizontal deployment which is often considered as one of the greatest Kubernetes feature. Furthermore, I'm demonstrating how to kill/delete one of the NGINX Pods and this Pod is automatically recreated thanks to ReplicaSet kubernetes object. The final result is obviously NGINX (custom content) deployed in Kubernetes cluster on AWS.
I will go through what Students have learned and achieved by completing this basic course on Kubernetes in AWS. I will summarize what they should be able to do after this course and I will also announce that I am about preparing some more advanced coursed on Kubernetes in future.
Kubernetes as the orchestration platform for not only Docker containers is gaining more momentum everyday especially in DevOps like world. Besides other main orchestration systems Kubernetes can be considered as one of the most popular one. All big cloud providers like AWS, Google Cloud, Azure have already more or less adopted Kubernetes as a part of their portfolio and services. Kubernetes and Docker containers altogether create an ideal ecosystem for deploying micro services - which seems to be the model for next generation applications.
When thinking about containers and horizontally scalable applications we might be taking into account also some other other software such as Terraform which helps us tremendously to keep our infrastructure (independent of cloud provider) in immutable state. There are some officially supported tools like "kops" which hand in hand with Terraform makes the Kuberentes deployment to AWS extraordinary easy and comprehensive and makes DevOps people lives super easy.
The main goal of this course is to provide a comprehensive explanation to the people who are truly willing to deep dive in Kubernetes and Docker world and perhaps aspiring for DevOps carrier. In order to achieve this goal I have decided to use NGINX web server examples throughout this course - just because year back I was amazed by value which is delivered by web server itself. Imagine that every business in the world is serving their content via some kind of this powerful piece of software. Nowadays, we can take an advantage of deploying and scaling of docerized mainly Open Source web servers to Kubernetes at any cloud provider you can think of.
I hope you guys are going to enjoy this course and I am certain that anybody is more than good enough to complete this course. Crossed fingers and which you the best!