Get in Touch
 Duration 35 hours

Course Outline

Day 1 – Containers and Image Management

Introduction to Container Platforms

  • Comparing traditional application deployment with container-based approaches
  • Distinguishing between containers and virtual machines
  • Understanding container runtimes and engines
  • The specific roles of Docker, Kubernetes, and OpenShift
  • Standard container platform architectures
  • Workflows for development, testing, and production

Working with Containers

  • Executing and managing containers
  • The container lifecycle
  • Starting, stopping, and deleting containers
  • Running commands within containers
  • Managing environment variables
  • Port mapping techniques
  • Reviewing container logs
  • Inspecting resource usage and processes

Building Container Images

  • Understanding image structure and layers
  • Creating Dockerfiles and Containerfiles
  • Selecting appropriate base images
  • Including application dependencies
  • Defining entry points and default commands
  • Utilizing image caching
  • Strategies for minimizing image size
  • Creating reproducible images

Container Registries

  • Differences between public and private registries
  • Tagging and versioning strategies for images
  • Pushing and pulling images
  • Image authentication mechanisms
  • Image retention policies and cleanup
  • Basic security considerations for images

Container Networking and Storage

  • Fundamental concepts of container networking
  • Bridge networking configurations
  • Exposing ports
  • Inter-container communication
  • Bind mounts and volumes
  • Handling persistent container data
  • Backup strategies

Hands-on Exercises

  • Running and inspecting containers
  • Building a custom application image
  • Configuring ports and environment variables
  • Publishing an image to a registry
  • Storing persistent data externally

Day 2 – Kubernetes Architecture and Workloads

Kubernetes Fundamentals

  • The purpose of container orchestration
  • Overview of Kubernetes architecture
  • Control plane components
  • Worker node functions
  • API server operations
  • Scheduler mechanisms
  • Controller roles
  • Managing cluster state vs. desired state
  • Interacting with the cluster via 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
  • Executing rolling updates
  • Performing rollbacks
  • Reviewing deployment history
  • Restarting workloads
  • Managing application replicas

Application Configuration

  • ConfigMaps
  • Secrets
  • Environment variables
  • Configuration files
  • Decoupling 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

  • Deploying a containerized application
  • Creating and modifying Kubernetes manifests
  • Scaling an application
  • Executing a rolling update and subsequent rollback
  • Configuring applications using ConfigMaps and Secrets
  • Applying resource requests and limits

Day 3 – Kubernetes Networking, Storage, and Security

Kubernetes Networking

  • Cluster networking model
  • Pod-to-pod communication
  • Service discovery mechanisms
  • DNS resolution within the cluster
  • ClusterIP services
  • NodePort services
  • LoadBalancer services
  • Ingress concepts
  • Patterns for application exposure

Network Policies

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

Persistent Storage

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

Kubernetes Access Control

  • Authentication and authorization principles
  • Role-Based Access Control (RBAC)
  • Roles and ClusterRoles
  • RoleBindings and ClusterRoleBindings
  • Service accounts
  • Implementing least-privilege access
  • Inspecting effective permissions

Workload Security

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

Hands-on Exercises

  • Exposing an application via Kubernetes services
  • Configuring ingress
  • Restricting traffic with network policies
  • Provisioning persistent storage
  • Setting up RBAC permissions
  • Running workloads with appropriate security contexts

Day 4 – Working with OpenShift Environments

Introduction to OpenShift

  • OpenShift as a Kubernetes-based application platform
  • Kubernetes resources in the context of OpenShift
  • OpenShift cluster architecture
  • Projects and namespaces
  • Platform users and service accounts
  • Navigating the web console
  • Using the OpenShift CLI

Managing Projects and Access

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

Deploying Applications

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

Application Exposure

  • Services in OpenShift
  • Routes
  • TLS concepts
  • Internal vs. 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 strategies
  • Cordoning and draining nodes
  • Node maintenance considerations

Hands-on Exercises

  • Accessing an OpenShift environment
  • Creating and configuring a project
  • Deploying and exposing an application
  • Configuring user and service-account access
  • Attaching persistent storage
  • Scaling and updating a running workload

Day 5 – Operations, Monitoring, and Troubleshooting

Platform Monitoring

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

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 effective 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 issues
  • DNS problems
  • Application startup failures

Operational Security

  • Reviewing permissions
  • Service account usage
  • Secure credential handling
  • 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 will 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-led 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 are expected to have:

  • Proficiency with the Linux command line.
  • Foundational knowledge in system administration or DevOps practices.
  • A general grasp of networking concepts.
  • Familiarity with software deployment workflows.

While prior experience with Docker, Kubernetes, or OpenShift is beneficial, it is not mandatory.

Number of participants


Price per participant

Testimonials (7)

Upcoming Courses

Related Categories