Get in Touch

Course Outline

Day 1 – Containers and Image Management

Introduction to Container Platforms

  • Traditional application deployment compared with container-based deployment
  • Containers and virtual machines
  • Container runtimes and container engines
  • The role of Docker, Kubernetes and OpenShift
  • Common container platform architectures
  • Development, testing and production workflows

Working with Containers

  • Running and managing containers
  • Container lifecycle
  • Starting, stopping and removing containers
  • Executing commands inside containers
  • Environment variables
  • Port mapping
  • Container logs
  • Resource usage and process inspection

Building Container Images

  • Image structure and layers
  • Creating Dockerfiles and Containerfiles
  • Selecting base images
  • Adding application dependencies
  • Configuring entry points and commands
  • Image caching
  • Reducing image size
  • Building reproducible images

Container Registries

  • Public and private registries
  • Tagging and versioning images
  • Pushing and pulling images
  • Image authentication
  • Image retention and cleanup
  • Basic image security considerations

Container Networking and Storage

  • Container network concepts
  • Bridge networking
  • Port exposure
  • Container-to-container communication
  • Bind mounts and volumes
  • Persistent container data
  • Backup considerations

Hands-on Exercises

  • Run and inspect containers
  • Build an application image
  • Configure ports and environment variables
  • Publish an image to a registry
  • Store persistent data outside a container

Day 2 – Kubernetes Architecture and Workloads

Kubernetes Fundamentals

  • The purpose of container orchestration
  • Kubernetes architecture
  • Control plane components
  • Worker nodes
  • API server
  • Scheduler
  • Controllers
  • Cluster state and desired state
  • Communicating with the cluster using kubectl

Kubernetes Resources

  • Pods
  • ReplicaSets
  • Deployments
  • Namespaces
  • Labels and annotations
  • Selectors
  • Declarative resource definitions
  • YAML manifests

Deploying Applications

  • Creating and managing Deployments
  • Scaling workloads
  • Updating container images
  • Rolling updates
  • Rollbacks
  • Deployment history
  • Restarting workloads
  • Managing application replicas

Application Configuration

  • ConfigMaps
  • Secrets
  • Environment variables
  • Configuration files
  • Separating application code from configuration
  • Managing environment-specific settings

Resource Management

  • CPU and memory requests
  • CPU and memory limits
  • Resource quotas
  • Limit ranges
  • Scheduling implications
  • Diagnosing resource-related failures

Hands-on Exercises

  • Deploy a containerized application
  • Create and update Kubernetes manifests
  • Scale an application
  • Perform a rolling update and rollback
  • Configure the application using ConfigMaps and Secrets
  • Apply resource requests and limits

Day 3 – Kubernetes Networking, Storage and Security

Kubernetes Networking

  • Cluster networking model
  • Pod-to-pod communication
  • Service discovery
  • DNS inside the cluster
  • ClusterIP services
  • NodePort services
  • LoadBalancer services
  • Ingress concepts
  • Application exposure patterns

Network Policies

  • Controlling traffic between workloads
  • Ingress and egress rules
  • Namespace-based traffic control
  • Testing network connectivity
  • Troubleshooting service communication

Persistent Storage

  • Ephemeral and persistent storage
  • Volumes
  • PersistentVolumes
  • PersistentVolumeClaims
  • StorageClasses
  • Dynamic provisioning
  • Access modes
  • Reclaim policies
  • Storage for stateful applications

Kubernetes Access Control

  • Authentication and authorization concepts
  • Role-Based Access Control
  • Roles and ClusterRoles
  • RoleBindings and ClusterRoleBindings
  • Service accounts
  • Least-privilege access
  • Inspecting effective permissions

Workload Security

  • Security contexts
  • Running containers as non-root
  • Linux capabilities
  • Read-only filesystems
  • Secret handling
  • Image provenance
  • Common configuration risks

Hands-on Exercises

  • Expose an application using Kubernetes services
  • Configure ingress
  • Restrict traffic using a network policy
  • Provision persistent storage
  • Configure RBAC permissions
  • Run a workload with an appropriate security context

Day 4 – Working with OpenShift Environments

Introduction to OpenShift

  • OpenShift as a Kubernetes-based application platform
  • Kubernetes resources in an OpenShift environment
  • OpenShift cluster architecture
  • Projects and namespaces
  • Platform users and service accounts
  • Working with the web console
  • Working with the OpenShift CLI

Managing Projects and Access

  • Creating and managing projects
  • Assigning user permissions
  • Project-level roles
  • Administrative access
  • Resource quotas
  • Limit ranges
  • Service accounts
  • Reviewing project resources

Deploying Applications

  • Deploying container images
  • Creating application workloads
  • Managing deployments
  • Scaling applications
  • Updating application versions
  • Rollbacks
  • Managing application configuration
  • Working with secrets

Application Exposure

  • Services in OpenShift
  • Routes
  • TLS concepts
  • Internal and external application access
  • Hostnames and certificates
  • Diagnosing route and service issues

Storage in OpenShift

  • Persistent Volume Claims
  • StorageClasses
  • Attaching storage to workloads
  • Stateful workloads
  • Storage access permissions
  • Troubleshooting volume mounting

Scheduling and Node Management

  • Labels and selectors
  • Node selectors
  • Taints and tolerations
  • Affinity and anti-affinity concepts
  • Workload placement
  • Cordoning and draining nodes
  • Node maintenance considerations

Hands-on Exercises

  • Access an OpenShift environment
  • Create and configure a project
  • Deploy and expose an application
  • Configure user and service-account access
  • Attach persistent storage
  • Scale and update a running workload

Day 5 – Operations, Monitoring and Troubleshooting

Platform Monitoring

  • Monitoring cluster and application health
  • Resource metrics
  • Node health
  • Workload status
  • Capacity and resource utilization
  • Identifying performance constraints

Logging and Events

  • Container logs
  • Pod logs
  • Previous container logs
  • Kubernetes events
  • Application and platform messages
  • Filtering and interpreting operational data

Health Checks

  • Startup probes
  • Readiness probes
  • Liveness probes
  • Designing useful health endpoints
  • Diagnosing probe failures
  • Preventing unnecessary application restarts

Troubleshooting Workloads

  • Pending pods
  • Image pull failures
  • Crash loops
  • Misconfigured environment variables
  • Failed mounts
  • Insufficient resources
  • Permission errors
  • Service and route connectivity problems
  • DNS issues
  • Application startup failures

Operational Security

  • Reviewing permissions
  • Service account usage
  • Secure handling of credentials
  • Image security practices
  • Network isolation
  • Platform access auditing
  • Applying the principle of least privilege

Maintenance and Lifecycle Management

  • Routine platform checks
  • Node maintenance
  • Application backup considerations
  • Configuration backup
  • Update planning
  • Change management
  • Testing updates
  • Rollback planning
  • Disaster recovery concepts

Final Practical Workshop

Participants complete an end-to-end operational scenario:

  • Build and tag a container image.
  • Publish the image to a registry.
  • Deploy the application to Kubernetes or OpenShift.
  • Configure application settings and credentials.
  • Expose the application.
  • Attach persistent storage.
  • Configure access permissions.
  • Add health checks.
  • Scale and update the application.
  • Diagnose and resolve an introduced failure.

Course Format

  • Interactive lectures and technical discussions.
  • Instructor demonstrations.
  • Extensive hands-on exercises.
  • Scenario-based administration and troubleshooting workshops.
  • Practical work in container, Kubernetes and OpenShift environments.

Course Customization Options

  • The course can be adapted to the participant's existing infrastructure, cloud provider and container tooling.
  • The balance between Docker, Kubernetes and OpenShift topics can be adjusted according to the team's experience.
  • Practical exercises can be tailored to the organization's applications, deployment processes and operational requirements.

Trademark Notice

OpenShift is a trademark of Red Hat, Inc. This independently developed training is not affiliated with, endorsed by or authorized by Red Hat.

Requirements

Participants should have:

  • Experience using the Linux command line.
  • Basic system administration or DevOps knowledge.
  • A general understanding of networking concepts.
  • Familiarity with software deployment processes.

Previous experience with Docker, Kubernetes or OpenShift is helpful but not required.

 35 Hours

Number of participants


Price per participant

Testimonials (7)

Upcoming Courses

Related Categories