Get in Touch
 Duration 35 hours

Course Outline

Day 1 – Containers and Image Management

Introduction to Container Platforms

  • Comparison of traditional application deployment versus container-based deployment
  • Differences between containers and virtual machines
  • Container runtimes and container 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
  • Monitoring resource usage and inspecting processes

Building Container Images

  • Image structure and layering
  • Creating Dockerfiles and Containerfiles
  • Choosing appropriate base images
  • Installing application dependencies
  • Setting entry points and commands
  • Implementing image caching
  • Optimizing image size
  • Creating reproducible images

Container Registries

  • Public and private registry options
  • Tagging and versioning strategies
  • Pushing and pulling images
  • Image authentication methods
  • Image retention and cleanup policies
  • Basic image security considerations

Container Networking and Storage

  • Core container network concepts
  • Bridge networking configurations
  • Exposing ports
  • Communication between containers
  • Using bind mounts and volumes
  • Managing persistent container data
  • Backup considerations for data

Hands-on Exercises

  • Run and inspect container instances
  • Build a custom application image
  • Set up ports and environment variables
  • Publish an image to a registry
  • Store 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
  • The API server
  • The Scheduler
  • Controller managers
  • Cluster state versus desired state
  • Interacting with the cluster via kubectl

Kubernetes Resources

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

Deploying Applications

  • Creating and managing Deployments
  • Scaling workloads up and down
  • Updating container images
  • Implementing rolling updates
  • Performing rollbacks
  • Reviewing deployment history
  • Restarting workloads
  • Managing application replicas

Application Configuration

  • ConfigMaps
  • Secrets management
  • Using environment variables
  • Managing configuration files
  • Separating code from configuration
  • Handling environment-specific settings

Resource Management

  • CPU and memory requests
  • CPU and memory limits
  • Resource quotas
  • Limit ranges
  • Impact on scheduling
  • Diagnosing resource-related failures

Hands-on Exercises

  • Deploy a containerized application
  • Create and modify Kubernetes manifests
  • Scale an application instance
  • Execute a rolling update and rollback
  • Configure settings using ConfigMaps and Secrets
  • Apply resource requests and limits

Day 3 – Kubernetes Networking, Storage, and Security

Kubernetes Networking

  • The cluster networking model
  • Pod-to-pod communication
  • Service discovery mechanisms
  • Internal DNS resolution
  • ClusterIP services
  • NodePort services
  • LoadBalancer services
  • Ingress concepts
  • Application exposure patterns

Network Policies

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

Persistent Storage

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

Kubernetes Access Control

  • Authentication and authorization concepts
  • 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 users
  • Linux capabilities
  • Read-only filesystems
  • Handling secrets securely
  • Verifying image provenance
  • Identifying common configuration risks

Hands-on Exercises

  • Expose an application via Kubernetes services
  • Configure ingress resources
  • Restrict traffic with a network policy
  • Provision persistent storage
  • Set up RBAC permissions
  • Run a workload with a secure context

Day 4 – Working with OpenShift Environments

Introduction to OpenShift

  • OpenShift as a Kubernetes-based platform
  • Mapping Kubernetes resources in OpenShift
  • OpenShift cluster architecture
  • Projects and their relation to 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 role definitions
  • Administrative access levels
  • Setting resource quotas
  • Configuring limit ranges
  • Managing service accounts
  • Reviewing project resources

Deploying Applications

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

Application Exposure

  • Services in the OpenShift context
  • Configuring Routes
  • TLS concepts
  • Internal and external access methods
  • Managing hostnames and certificates
  • Diagnosing route and service issues

Storage in OpenShift

  • Using Persistent Volume Claims
  • Utilizing StorageClasses
  • Attaching storage to workloads
  • Managing stateful workloads
  • Setting storage access permissions
  • Troubleshooting volume mounting issues

Scheduling and Node Management

  • Using labels and selectors
  • Applying node selectors
  • Taints and tolerations
  • Affinity and anti-affinity rules
  • Workload placement strategies
  • Cordoning and draining nodes
  • Considerations for node maintenance

Hands-on Exercises

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

Day 5 – Operations, Monitoring, and Troubleshooting

Platform Monitoring

  • Monitoring cluster and application health
  • Tracking resource metrics
  • Assessing node health
  • Checking workload status
  • Analyzing capacity and resource utilization
  • Identifying performance bottlenecks

Logging and Events

  • Reviewing container logs
  • Analyzing Pod logs
  • Accessing previous container logs
  • Inspecting Kubernetes events
  • Reading 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

  • Investigating Pending pods
  • Resolving image pull failures
  • Addressing Crash loops
  • Fixing misconfigured environment variables
  • Resolving failed mounts
  • Handling insufficient resources
  • Correcting permission errors
  • Fixing service and route connectivity issues
  • Resolving DNS problems
  • Diagnosing application startup failures

Operational Security

  • Auditing permissions
  • Monitoring service account usage
  • Securing credential handling
  • Implementing image security practices
  • Enforcing network isolation
  • Auditing platform access
  • Applying the principle of least privilege

Maintenance and Lifecycle Management

  • Performing routine platform checks
  • Managing node maintenance
  • Considering application backup strategies
  • Backing up configurations
  • Planning updates
  • Implementing change management
  • Testing updates in safe environments
  • Planning rollbacks
  • Understanding disaster recovery concepts

Final Practical Workshop

Participants will complete an end-to-end operational scenario that includes:

  • Building and tagging a container image.
  • Publishing the image to a registry.
  • Deploying the application to Kubernetes or OpenShift.
  • Configuring application settings and credentials.
  • Exposing the application to users.
  • Attaching persistent storage.
  • Configuring access permissions.
  • Adding health checks.
  • Scaling and updating the application.
  • Diagnosing and resolving an injected 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 curriculum can be tailored to the participant's existing infrastructure, cloud provider, and container tooling.
  • The depth of Docker, Kubernetes, and OpenShift topics can be adjusted based on the team's experience level.
  • Practical exercises can be customized to match the organization's specific applications, deployment processes, and operational needs.

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 of system administration or DevOps.
  • A general understanding of networking concepts.
  • Familiarity with software deployment processes.

Prior experience with Docker, Kubernetes, or OpenShift is advantageous but not mandatory.

Number of participants


Price per participant

Testimonials (7)

Upcoming Courses

Related Categories