
Join the instructor to explore containers, Docker, Kubernetes, and OpenShift on Azure Red Hat OpenShift (ARO), covering architecture, deployment, networking, security, storage, and upgrades.
Discover the recommended background for this course. From Linux basics and networking to Kubernetes, OpenShift concepts, pods, deployments, and Azure services, learn to adapt as you progress.
Explain how containers use namespaces and cgroups to isolate each application, package dependencies, and share the host kernel, delivering faster startup and portability compared with VMs.
Containers enable microservices architecture by decomposing a monolithic app into independent, deployable services, improving scalability, resilience, and maintainability through modular components like authentication, catalog, and cart.
Create an Azure Ubuntu VM, install Docker Engine and CLI, then install Azure CLI, configure SSH, test Docker hello world, and learn steps to stop the VM to avoid charges.
Explore how Docker creates, deploys, and runs applications in containers using images and Dockerfile. Build images with Docker build, run containers with Docker run, and share them via Docker Hub.
Build and run a containerized python flask web app on port 8080, with request-logging routes and a health check, then push the image to Docker Hub.
Explore Kubernetes, the open source container orchestrator, with pods, deployments, replica sets, services, and master and worker nodes that enable scaling, networking, and automated rollouts; OpenShift complements it.
OpenShift enriches Kubernetes with integrated registry, git integration, and built-in CI/CD, plus a web console and operators, creating a secure, enterprise-ready platform for deploying containerized apps.
Explore OpenShift architecture, including master and worker nodes, and key components like etcd, API server, scheduler, controller manager, and CRDs, plus networking and registry features.
Discover how OpenShift operators automate apps on OpenShift using Kubernetes concepts and the operator framework. Understand CRDs, operator hub, and how to build your own operators with the operator SDK.
Azure Red Hat OpenShift (ARO) offers a fully managed OpenShift on Azure, combining Kubernetes with enterprise tools, seamless Azure integration, automatic updates, and scalable, highly available clusters.
Answering faqs about ARO, the lecture covers security, reliability, and compliance features, including encryption at rest, private access, TLS, and Azure integrations.
Explore the main ARO features, integrations, and benefits, including fully managed infrastructure, autoscaling, and GPU and spot VMs. Leverage secure networking and rich Azure integrations to optimize OpenShift deployments.
Estimate ARO costs using pay-as-you-go, reserved, and spot options; weigh master and worker VM prices, OpenShift license per CPU, and related infrastructure like disks, networking, storage, and optional services.
Compare Azure Red Hat OpenShift (ARO) and Azure Kubernetes Service (AKS) to choose the best fit for containerized workloads, highlighting Kubernetes distribution, security, cost, and scalability.
Understand aero cluster cost considerations and optimize spending with pay-as-you-go versus reserved instances, plus delete-recreate practices, and speed workflows with a VS Code shortcut.
Explore options to deploy an Azure Red Hat OpenShift cluster, including the Azure portal, Azure CLI, ARM templates, Bicep, Terraform, and Ansible, and learn about Azure Cloud Shell prerequisites.
Master prerequisites for creating an ARO cluster, including Azure CLI login, subscription setup, vCPU quotas, roles, resource providers, networking, service principal, pull secret, and domain options.
Understand how a resource group, virtual network, and subnets organize and deploy aero cluster resources in Azure. Create a VNet with master and worker subnets and deploy via the portal.
Understand how a Microsoft Entra service principal authenticates and authorizes Azure resources for OpenShift. Learn to register the app, create a secret, rotate credentials, and manage them.
Understand why a Red Hat pull secret, a json file with credentials for Red Hat Container Registry, is useful and how to obtain and use it for OpenShift on Azure.
Create your first aro cluster using the Azure portal or command line interface, configuring master and worker sizes, service principal, secrets, VNet and subnets, then validate and provision.
Explore the ARO cluster and its infrastructure resource group. Learn how the cluster uses this group to host VMs, storage, and network resources, and how a deny assignment blocks modifications.
Connect to the ARO OpenShift cluster via the console or oc CLI, obtain kube admin credentials, and manage resources; install the official OpenShift CLI and prefer it over kubectl.
Learn to login to an OpenShift cluster using tokens, with token expiry and revocation, and when to use temporary access without exposing credentials or relying on identity providers.
Understand how oc login downloads and merges kubeconfig into ~/.kube/config to let the OpenShift CLI authenticate and communicate with the API server, while managing multiple contexts.
Use the admin kubeconfig to access an Azure Red Hat OpenShift cluster with the OpenShift CLI, enabling system admin privileges for admin operations.
Explore the ARO support policy, responsibility matrix, release notes, and roadmap to manage configurations, incidents, and responsibilities while reviewing supported VM sizes and upcoming features.
Explore basic networking considerations for R0 in OpenShift on Azure Red Hat OpenShift, including private link service, internal and public load balancers, NSG rules, and pod CIDR and service CIDR.
Explore the OpenShift console at a high level, switching between administrator and developer views to navigate projects, operators, workloads, networking, storage, builds, image streams, and observe dashboards and metrics.
Explore OpenShift operators, including cluster operators and operator hub offerings, to automate installation, updates, and management of Kubernetes native applications.
Install the Azure Service Operator from the Operator Hub in OpenShift. Create a service principal and secret, then provision Azure resources as Kubernetes resources.
Connect your OpenShift cluster to Azure Arc enabled Kubernetes to access it as an Azure resource and enable GitOps, monitoring, Microsoft Defender for containers, and Kubernetes policy.
Set up a service account, grant cluster admin access, obtain a token, and view and manage deployments, pods, namespaces, services, and storage from the Azure Arc-enabled Kubernetes interface.
Learn to access aero nodes for troubleshooting and log collection with OC debug or OC node shell, including how helper pods and host binaries enable access without changing node configurations.
Learn to get inside a pod or container with oc rsh and oc exec, exploring pods, deployments, jobs, and replica sets for troubleshooting and testing in OpenShift.
Apply basic Kubernetes concepts like pods, deployments, replica sets, daemon sets, services, secrets, and config maps. See hands-on demos with namespaces and an OpenShift deployment.
Discover how to explore OpenShift resources and APIs using oke API resources, OC get CRD, and OC explain to inspect builds, specs, and strategies step by step.
OpenShift projects are enhanced Kubernetes namespaces with integrated security policies, quotas, and extended metadata, helping to isolate resources and set the current context automatically.
Explore the integrated OpenShift container registry, a built-in, scalable registry managed by an operator, with Azure storage for images and metadata, plus access control for building, deploying, and sharing.
Configure and access the OpenShift integrated container registry. Manage authorization with built-in roles and enable external access through routes for pushing and pulling images.
Learn how image streams and image stream tags manage container images in OpenShift, using oc import-image to create pointers, view digests and tags, and reference images from registries.
Learn to use oc new-app to quickly build and deploy apps from source code, templates, or images, with automatic resource creation via source-to-image, image streams, and streamlined workflows.
Expose a Kubernetes service externally by creating an OpenShift route, mapping a stable hostname to your internal service through the router, with https and a load balancer.
Use the OCI status command in the OpenShift CLI to display resource state and health in a project, showing how root relates to a service, pod, deployment, and build config.
Master source-to-image in OpenShift by using build configs, builder images, and incremental builds to securely and efficiently create and deploy container images.
Explore OpenShift templates to create customizable sets of objects defined in json or yaml, with parameters that tailor apps like the httpd example using the console or oc cli.
Create a custom OpenShift template and catalog item by adapting a YAML for a Python app, updating the image and git settings. Instantiate template and verify the build and route.
Understand security context constraints (SCC) in OpenShift and how they govern pod security, including default restricted v2. Learn to assign SCCs to deployments via service accounts.
Extend the OpenShift CLI with oc plugin and the crew plugin manager, and explore SRU and krew for managing CLI plugins.
Create a new OpenShift project, deploy a built image, and expose it with a secure route to access the app via a custom domain using https.
Explore secure routes in OpenShift, compare edge, passthrough, and re-encryption TLS termination, and implement HTTPS exposure for applications using Microsoft managed certificates.
Customize OpenShift routes using annotations to restrict traffic with ip whitelist CIDR ranges, illustrating how to edit routes and verify access via curl and cloud shell.
Set up a public Azure DNS zone for your purchased domain, update Namecheap to use Azure name servers, and verify propagation with nslookup.
Expose an OpenShift app with a custom domain by creating a project and route with a hostname, updating an Azure DNS A record, and verifying with curl before https certificates.
Explore OpenShift identity providers to replace the kube admin with role-based access, authenticate users with ldap, google, github, or OpenID connect, and issue access tokens via the built-in auth server.
Learn to implement htpasswd for basic authentication in OpenShift, create and manage users and hashed passwords, configure the secret, and assign roles and groups.
Configure Microsoft Entra authentication for an ARO cluster by registering an Entra app with a redirect URI and optional claims, then configure an OpenID Connect provider in OpenShift.
Remove identity providers in OpenShift by deleting cluster role bindings, the htpasswd secret, and the Microsoft Entra app, then edit the spec to empty and verify none remain.
Learn how Azure Container Registry compares to Docker Hub. See how ACR stores and manages private container images in Azure, with secure access, OCI support, and geo replication.
Create an Azure container registry and learn to push or import images into it, including creating a resource group, logging in with admin credentials, and using import.
Learn to integrate your OpenShift cluster with Azure Container Registry by creating a docker-registry secret from admin credentials, linking it to the default service account, and using image pull secrets.
Explore compute related terminologies in OpenShift, including machine set, machine, node, cluster autoscaler, machine autoscaler, auto scaling, machine health check, and machine config pools.
Create a new machine set in a separate subnet within Azure Red Hat OpenShift (ARO), isolating worker nodes and enabling subnet-specific workloads.
Understand infrastructure nodes in OpenShift, dedicated to host router, registry, and logging and monitoring services, and learn how to deploy three machine sets across availability zones with node_role infra.
Use a machineconfig to set kubelet log verbosity to eight on OpenShift nodes, enabling detailed logs via the systemd kubelet service, then delete the machine config to revert.
Understand how to allocate and reserve node resources in an OpenShift 4 and Azure Red Hat OpenShift cluster, including CPU, memory, and ephemeral storage, with limits, requests, and auto sizing.
Scale the number of OpenShift nodes by adjusting the machine set via the console or oc scale commands, provisioning new VMs and deleting them with the machine.openshift.io delete-machine-set=true annotation.
Manually scale pods by adjusting the replica count in OpenShift. Use oc commands or the OpenShift console to set replicas to three and observe three running pods, revert to one.
Implement the cluster autoscaler resource and machine autoscaler resource with the OpenShift machine API to scale the cluster and machine sets up or down based on demand and node availability.
Learn how the horizontal pod autoscaler in OpenShift automatically scales pods using Prometheus metrics based on CPU utilization, with configurable min/max replicas and a downscale stabilization period.
Disclaimer: This course requires you to download Docker Engine from the official Docker Docs website. If you are a Udemy Business user, please check with your employer before downloading software.
Embark on a transformative learning journey with this comprehensive course that dives deep into the realms of OpenShift and Azure Red Hat OpenShift (ARO). Whether you're a beginner or an experienced developer, this course is your gateway to mastering container orchestration and cloud-native application deployment.
Course Highlights:
Hands-On Experience: Gain practical insights into containers, microservices architecture, and Docker, laying the foundation for your OpenShift and ARO adventure.
Azure Red Hat OpenShift Mastery: Uncover the full potential of ARO as we guide you through FAQs, pricing, cluster creation, and connectivity. Harness the power of Azure Cloud Shell, explore the OpenShift console, and seamlessly integrate ARO with Azure Arc.
Practical OpenShift Insights: From basic OpenShift commands to advanced routing, identity providers, and the integrated container registry, you'll learn the intricacies of OpenShift with real-world examples.
Identity providers: We will learn how to implement identity providers, including htpasswd, and Microsoft Entra authentication.
Security and Governance: Navigate the complexities of security, governance, and identity management in ARO. Implement Azure Policy, integrate with Azure Key Vault, and keep your clusters secure.
Networking and Scaling Mastery: Explore ARO's networking nuances, like public and private clusters, outbound types and how to work with an Azure Firewall, scale nodes and pods effortlessly, and delve into the intricacies of Cluster Autoscaler and Horizontal Pod Autoscaler.
Storage in ARO: Dive into the storage options in ARO, dynamically provision Azure Disk, statically provision Azure Disk and Azure File. Learn to create and manage StorageClass for flexible storage solutions.
Monitoring and Troubleshooting: Learn to troubleshoot and monitor ARO effectively, enabling Azure Monitor with Container Insights. Explore metrics, logs, and alerts to keep your clusters healthy.
OpenShift Versions and ARO Cluster Upgrade: Understand OpenShift versions, support lifecycles, and execute a seamless ARO version update. We guide you through checks, best practices, and the intricacies of performing an OpenShift version upgrade in ARO.
By the end of this course, you'll be equipped with the skills to confidently deploy, manage, upgrade, and optimize applications using OpenShift and Azure Red Hat OpenShift. Join me on this enriching learning adventure, and let's make container orchestration easy together!