Introduction to Containers w/ Docker, Kubernetes & OpenShift

IBM via Coursera

Go to Course: https://www.coursera.org/learn/ibm-containers-docker-kubernetes-openshift

Introduction

# Course Review: Introduction to Containers w/ Docker, Kubernetes & OpenShift on Coursera In the ever-evolving world of software development, staying at the cutting edge can significantly enhance your career prospects. One of the key advancements in this realm is the adoption of containerization tools, and Coursera's "Introduction to Containers w/ Docker, Kubernetes & OpenShift" course provides an excellent starting point for anyone looking to expand their skills in this area. ## Course Overview The course aims to equip learners with an understanding of essential container tools and technologies. Given the high demand for professionals skilled in containerization — highlighted by an average salary of $137,000 for related job roles in the U.S. — the relevance of this course cannot be overstated. More than 70% of Fortune 100 companies have integrated containerized applications into their operations, showcasing the technology's significance. Throughout the course, you’ll dive into a comprehensive syllabus that not only covers fundamental concepts but also guides you through practical applications of tools like Docker, Kubernetes, and OpenShift. ## Syllabus Breakdown ### Week 1: Containers and Containerization The journey begins with foundational theories behind containerization. You’ll learn about the basic concepts, use cases, and advantages, moving on to a deep dive into Docker — a trailblazer in this space. You will grasp the inner workings of Docker, including the Docker CLI and the creation and management of container images using Dockerfiles. At the end of this week, learners will confidently pull images from Docker Hub and execute containers, marking their first hands-on experience with real containerization tasks. ### Week 2: Kubernetes Basics As the course transitions into Kubernetes, you’ll learn about container orchestration — a critical skill for managing complex environments. The module delves into Kubernetes architecture, key components like Pods and ReplicaSets, and empowers you with the kubectl CLI to manage your Kubernetes resources effectively. By the end of the week, you'll have substantial hands-on experience creating and manipulating Kubernetes pods and deployments, laying the groundwork for more advanced techniques. ### Week 3: Managing Applications with Kubernetes This week focuses on advanced application management tactics using Kubernetes. You'll explore ReplicaSets, autoscaling, and rolling updates — essential concepts for maintaining application stability and scalability. You'll learn to handle configurations using ConfigMaps and Secrets, ensuring that your deployments are both efficient and secure. Expect to finish the week with practical experience in scaling and updating applications in Kubernetes, a critical competency in today's software landscape. ### Week 4: The Kubernetes Ecosystem - OpenShift, Istio, and More Diving into the expansive Kubernetes ecosystem, this week covers complementary tools and technologies such as Red Hat OpenShift and Istio. You’ll learn how OpenShift enhances Kubernetes capabilities and how operators can simplify application deployment. By the end of the course, you will use the OpenShift command-line interface (oc CLI) to manage OpenShift clusters and deploy applications from source code stored in Git repositories, solidifying your skills across various container platforms. ### Final Assignment The culmination of your learning experience is a final project where you will deploy a simple guestbook application using all the tools and technologies covered in the course. This hands-on project ensures that you can apply what you've learned to a real-world scenario. ## Recommendation "**Introduction to Containers w/ Docker, Kubernetes & OpenShift**" is not just an educational course; it’s a gateway into one of the most sought-after skill sets in the tech industry. Its well-structured curriculum, combined with invaluable hands-on experience, makes it an excellent choice for software developers and IT professionals looking to advance their careers. I highly recommend this course to anyone interested in container technologies, regardless of prior experience. Whether you are looking to break into DevOps, enhance your software engineering skills, or simply stay current with technology trends, this course will provide you with the knowledge necessary to excel in today’s competitive job market. Dive in, and you may just find yourself at the forefront of the next major trend in software development! **Enroll now on Coursera, and take the first step towards mastering the future of software engineering!**

Syllabus

Containers and Containerization

Start your first week by learning about container concepts, features, use cases, and benefits. Building on your new knowledge of containers, you’ll learn what Docker does and discover why Docker is a winner with developers. You’ll learn what Docker is, become acquainted with Docker processes, and explore Docker’s underlying technology. Learn about how developers and organizations can benefit from using Docker and see which situations are challenging for using Docker. Next, learn how to build a container image using a Dockerfile, how to create a running container using that image, become familiar with the Docker command line interface (CLI), and explore frequently used Docker commands. You’ll become knowledgeable about Docker objects, Dockerfile commands, container image naming, and learn how Docker uses networks, storage, and plugins. Then, assimilate this knowledge when you see Docker architecture components in action and explore containerization using Docker. At the end of this first week, you’ll pull an image from a Docker Hub registry. You’ll run an image as a container using Docker, build and tag an image using a Dockerfile, and push that image to a registry. 

Kubernetes Basics

In week two, learn what container orchestration is. Then, explore how developers can use container orchestration to create and manage complex container environment development lifecycles. Kubernetes is currently the most popular container orchestration platform. You’ll examine key Kubernetes architectural components, including control plane components and controllers. Explore Kubernetes objects, and learn how specific Kubernetes objects such as Pods, ReplicaSets, and Deployments work. Then, learn how developers use the Kubernetes command line interface (CLI), or “kubectl” to manipulate objects, manage workloads in a Kubernetes cluster, and apply basic kubectl commands. You’ll be able to differentiate the benefits and drawbacks of using imperative and declarative commands. At the end of this module, you will use the kubectl CLI commands to create resources on an actual Kubernetes cluster. At the end of this week, you’ll use the Kubernetes CLI to create a Kubernetes pod, create a Kubernetes deployment, create a ReplicaSet and see Kubernetes load balancing in action.

Managing Applications with Kubernetes

In week three, you’ll explore ReplicaSets, autoscaling, rolling updates, ConfigMaps, Secrets, and service bindings, and learn how you can use these capabilities to manage Kubernetes applications. You’ll learn how ReplicaSets scale applications to meet increasing demand, and how autoscaling creates dynamic demand-based scaling. You’ll see how to use rolling updates to publish application updates and roll back changes without interrupting the user experience. You’ll learn how to use ConfigMaps and Secrets to provide configuration variables and sensitive information to your deployments and to keep your code clean. At the end of the week, you’ll scale and update applications deployed in Kubernetes.

The Kubernetes Ecosystem: OpenShift, Istio, etc.

In week four, you’ll learn more about the growing Kubernetes ecosystem and explore additional tools that work well with Kubernetes to support cloud-native development. You’ll gain an understanding of the similarities and differences between Red Hat ® OpenShift® and Kubernetes and see what OpenShift architecture looks like. You’ll learn about OpenShift builds and BuildConfigs, and OpenShift build strategies and triggers. You'll also discover how operators can deploy whole applications with ease. Finally, you’ll examine how the Istio service mesh manages and secures traffic and communication between an application’s services. At the end of the week, you’ll use the oc CLI to perform commands on an OpenShift cluster. And you’ll use the OpenShift build capabilities to deploy an application from source code stored in a Git repository.

Final Assignment

For the Final Project, you will put into practice the tools and concepts learned in this course, and deploy a simple guestbook application with Docker and Kubernetes.The entire application will be deployed and managed on OpenShift.

Overview

Take the next step in your software engineering career by getting skilled in container tools and technologies! The average salary for jobs that require container skills is $137,000 in the US according to salary.com, making Devops professionals and developers with these skills highly in demand. More than 70 percent of Fortune 100 companies are running containerized applications. But why? Using containerization, organizations can move applications quickly and seamlessly among desktop, on-premis

Skills

Openshift Docker Kubernetes Containers Cloud Native

Reviews

It's a very good introductory course. I wish they had discussed Kubernetes networking and CNI as well but I still recommend it.

It's not easy to understand all of this but it's good course for start learning about Kubernetes & OpenShift

The Course represents a good starting point for everyone who want to use containers, however, i think it could be better if there were more hands on labs.

Necessary concepts are explained nicely and in a detailed manner.\n\nThe virtual environment for the course is working properly and nice to gain experience on

Good intro to docker containers, kubernetes and openshift. Most topics are high level, Docker alone is given about a week's worth of material.