Get in Touch

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.

 35 Hours

Number of participants


Price per participant

Testimonials (7)

Upcoming Courses

Related Categories