The Ultimate Openshift (2018) Bootcamp

Video description

This course will take you on a journey where you'll learn to Install and configure an OpenShift cluster using various options. You will learn about Platform as a Service and the advantages of building one with containers. Docker offers a way to run isolated processes and also allows you to package an application, along with its run time environment, using primitives such as dockerfiles. However, when it comes to running Docker in a production-like environment, with container workloads spanning across more than one node, you need a COE (Container Orchestration Engine). COEs offer clustering and convert your nodes into one super computer, make intelligent decisions as to where to schedule the containers, connect containers running on different nodes by setting up a multi-host network, and offer many other interesting features such as fault tolerance, zero downtime deployments, and more. OpenShift simplifies Kubernetes deployment by abstracting away the complexity and by providing a simple, unified interface. It also gives you a complete Platform as a Service offering by packaging Kubernetes, Container Registry, Container Runtime, and build and pipelines tools including Jenkins; it also creates best practices and integration out of the box. You can just point to your application code, and OpenShift builds and deploys it taking care of high availability, fault tolerance, scalability, self-healing, and reliability.

What You Will Learn

  • Understand Platform as a Service and the advantages of building one with containers
  • Install and configure an OpenShift Cluster using various options
  • Deploy applications with High Availability, Fault Tolerance, and Self-Healing built in
  • Set up service discovery and load balancing with OpenShift Services and Router, and understand service networking
  • Manage different types of workload with Deployments, Stateful sets, Crons, and Jobs
  • Understand how persistent storage works with PVs, PVCs, Storage classes, and dynamic provisioners
  • Set up Auto Scaling with the Horizontal Pod Autoscaler

Audience

This course is designed for developers who would like to deploy their applications with containers and are keen to understand how to leverage OpenShift features; operations or DevOps people who would like to build a PaaS or Container as a Service Offering and operate it; anyone who would like to understand OpenShift from the ground up; anyone who wants to run containers in production or production-like environments; and those who want to sit OpenShift certifications by RedHat.

About The Author

Gourav Shah: Gourav comes with more than a decade of experience in building, managing, and automating systems at scale. He has helped organizations design and implements DevOps practices. He left his corporate job in 2012 to start Initcron, a niche DevOps consulting firm. He eventually got into delivering DevOps workshops for the corporates in India and then internationally. He has conducted more than 300 instructor-led training.

Publisher resources

Download Example Code

Table of contents

  1. Chapter 1 : Setting up the Learning Environment
    1. Section Introduction
    2. Option I Part A: Setup Docker
    3. Option I Part B: Install oc client and bring up all in one cluster with oc clus
    4. Option II part A: Setup Minishift
    5. Option II Part B: Setup 1 node cluster with Minishift
  2. Chapter 2 : Openshift Quick Dive - Deploying a Web App with HA
    1. Section Introduction
    2. okd Console Tour, Launching app from the catalogue
    3. Deploying a PHP for a GitHub repo
    4. Paas in action - observing how created a build, deployment and even published app
    5. Demo of high availability and fault tolerance with openshift
    6. Rolling out a new version when application updates
    7. Defining Dynamic Scaling
    8. Service Discovert, Deploying and connecting to a database
  3. Chapter 3 : Concepts - Projects, Pods Service, Routes, Build and Deployment Configs
    1. Section Introduction
    2. Projects and Multi Tenancy
    3. Pods and Containers - Deployment Units
    4. When to run multi container Pods
    5. Deployment Configs - Availability and Release Strategies
    6. Replication Controllers, Lables and Selectors
    7. Services and Routes - Publishing Services, Service Discovery and Load Balancing
    8. Builds, Pipelines and Image Streams
  4. Chapter 4 : Just Enough Docker for an Openshift Practitioner
    1. Setting up and validating docker environment
    2. Running your first container
    3. Making containers persist with -idt options
    4. Essential Container Operations - list, logs, exec, cp, inspect, stop, rm
    5. Publishing containers using port mapping
    6. Using docker instead of VMs to create development environments
    7. Portainer - Web console to managing Docker Environments
    8. Launching Application Stack with Docker Compose
    9. Building an image manually with docker commit
    10. Automating image builds with a Dockerfile
    11. Dockerfile Primer
  5. Chapter 5 : Openshift the Kubernetes Way
    1. Section Introduction
    2. Creating a project and switching context
    3. Writing a pod spec and applying it with oc cli
    4. Rebuilding docker image with non-privileged User and Port
    5. Pod operations - connect with shell, check logs, attach, delete
    6. Achieving high availability and self-healing with Replication Controllers
    7. Exposing application with Service and NodePort
    8. Kube proxy, iptables - ppenshift service internals
    9. Exposing service with a DNS Route - openshift equivalent to Ingress
    10. Adding deployment strategy
    11. Achieving Zero Downtime Deployments
    12. Deploying additional Kubernetes specific objects
    13. Cleaning Up
  6. Chapter 6 : Deploying Vote and Redis with Images - Images, Image Streams, Router Configs
    1. Section Introduction
    2. Setting openshift on a remote Fedora server
    3. Deploying with image
    4. Exposing vote app with Router
    5. Introduction to oc new-app command
    6. Setup vote app with using oc cli utility
    7. Using annotations to change Router configurations
    8. Deploying Redis and connecting it with the vote frontend
    9. Update environment vars and images with oc set
    10. Imagestream Primer and updating vote app
  7. Chapter 7 : Deploying apps from Source, Template, Dockerfile - S2I Builders,Build Configs
    1. Section Introduction
    2. Launching demo app with source strategy
    3. S2I Builder Primer
    4. Deploying results app with Nodejs S2I Builder
    5. Launching db with a template and parameters
    6. Using docker strategy with oc new-app to deploy worker app
    7. Rebuilding from changes to local repository

Product information

  • Title: The Ultimate Openshift (2018) Bootcamp
  • Author(s): Gourav Shah
  • Release date: September 2018
  • Publisher(s): Packt Publishing
  • ISBN: 9781789809541