Course Outline
Day 1 – Containerization and Image Administration
Overview of Container Technologies
- Contrast between legacy application deployment methods and container-native strategies
- Differentiating container technology from traditional virtualization
- Roles of container runtimes and engine components
- Functions of Docker, Kubernetes, and OpenShift within the ecosystem
- Standard architectural patterns for container platforms
- Workflow integration for development, testing, and production phases
Container Operations
- Execution and administrative control of container instances
- Management of the container lifecycle stages
- Procedures for starting, halting, and deleting containers
- Executing internal commands within running containers
- Management of environment variable configurations
- Configuration of port mappings
- Review of container log outputs
- Analysis of resource consumption and process status
Container Image Creation
- Analysis of image composition and layering structures
- Authoring Dockerfiles and Containerfiles
- Selection of appropriate base images
- Incorporation of application dependencies
- Definition of entry points and execution commands
- Optimization of image build caching
- Techniques for minimizing image footprint
- Establishment of reproducible image builds
Image Registry Administration
- Distinction between public and private registry services
- Implementation of tagging and versioning protocols
- Procedures for pushing and retrieving images
- Configuration of image authentication mechanisms
- Policies for image retention and cleanup
- Foundational security considerations for stored images
Container Connectivity and Data Storage
- Core concepts of container networking
- Implementation of bridge networking modes
- Management of exposed ports
- Facilitating communication between container instances
- Utilization of bind mounts and volume definitions
- Persistence of container data
- Strategies for backup and data recovery
Practical Exercises
- Execute and audit container instances
- Construct an application container image
- Define port mappings and environmental parameters
- Distribute an image to a repository
- Persist data externally to the container lifecycle
Day 2 – Kubernetes Architecture and Workload Administration
Core Kubernetes Concepts
- Objectives of container orchestration for government infrastructure
- Structural overview of Kubernetes architecture
- Components constituting the control plane
- Functions of worker nodes within the cluster
- Role of the API server
- Operational duties of the scheduler
- Functions of various controller types
- Alignment of cluster state with desired state
- Cluster interaction via the kubectl interface
Kubernetes Resource Management
- Definition and usage of Pods
- Management of ReplicaSets
- Administration of Deployments
- Organization via Namespaces
- Utilization of Labels and Annotations
- Application of Selectors
- Authoring declarative resource specifications
- Construction of YAML manifest files
Application Deployment Strategies
- Creation and oversight of Deployment objects
- Scaling of workload instances
- Updating container image references
- Implementation of rolling update mechanisms
- Execution of rollback procedures
- Maintenance of deployment history records
- Restarting workload components
- Adjusting application replica counts
Application Configuration Management
- Utilization of ConfigMaps
- Management of Secrets
- Configuration of environment variables
- Handling of configuration files
- Separation of application code from configuration data
- Management of environment-specific parameters
Resource Allocation and Control
- Definition of CPU and memory requests
- Establishment of CPU and memory limits
- Implementation of resource quotas
- Configuration of limit ranges
- Impact on scheduling decisions
- Diagnosis of resource-related operational failures
Practical Exercises
- Deploy a containerized application
- Author and modify Kubernetes manifests
- Scale application instances
- Execute rolling updates and rollbacks
- Configure application parameters using ConfigMaps and Secrets
- Apply resource request and limit definitions
Day 3 – Kubernetes Networking, Storage, and Security
Kubernetes Network Architecture
- Overview of the cluster networking model
- Communication pathways between Pods
- Implementation of service discovery mechanisms
- Internal DNS resolution within the cluster
- Configuration of ClusterIP services
- Setup of NodePort services
- Deployment of LoadBalancer services
- Concepts underlying Ingress resources
- Patterns for exposing applications
Network Traffic Control
- Regulation of traffic between workloads
- Definition of Ingress and Egress rules
- Implementation of namespace-based traffic restrictions
- Verification of network connectivity
- Troubleshooting service communication issues
Persistent Data Management
- Differentiation between ephemeral and persistent storage
- Definition and usage of Volumes
- Administration of PersistentVolumes
- Configuration of PersistentVolumeClaims
- Definition of StorageClasses
- Implementation of dynamic provisioning
- Configuration of access modes
- Establishment of reclaim policies
- Storage requirements for stateful applications
Kubernetes Access Governance
- Principles of authentication and authorization
- Implementation of Role-Based Access Control (RBAC)
- Definition of Roles and ClusterRoles
- Binding via RoleBindings and ClusterRoleBindings
- Management of service accounts
- Enforcement of least-privilege access for government compliance
- Audit of effective permission assignments
Workload Security Posture
- Configuration of Security Contexts
- Execution of containers with non-root privileges
- Management of Linux capabilities
- Enforcement of read-only filesystems
- Secure handling of Secrets
- Verification of image provenance
- Mitigation of common configuration risks
Practical Exercises
- Expose an application via Kubernetes services
- Configure Ingress rules
- Apply network policies to restrict traffic
- Provision persistent storage resources
- Define RBAC permissions
- Execute a workload with a hardened security context
Day 4 – OpenShift Environment Administration
Introduction to OpenShift
- OpenShift as a Kubernetes-based application platform
- Integration of Kubernetes resources in OpenShift
- Architectural overview of OpenShift clusters
- Management of Projects and namespaces
- Administration of platform users and service accounts
- Utilization of the web console interface
- Operation via the OpenShift CLI
Project and Access Administration
- Creation and oversight of Projects
- Assignment of user permissions
- Definition of project-level roles
- Management of administrative access
- Configuration of resource quotas
- Establishment of limit ranges
- Management of service accounts
- Audit of project resources
Application Deployment in OpenShift
- Deployment of container images
- Creation of application workloads
- Administration of deployments
- Scaling of application instances
- Updating application versions
- Execution of rollbacks
- Management of application configuration
- Handling of secrets
Application Exposure and Routing
- Configuration of Services in OpenShift
- Management of Routes
- Implementation of TLS concepts
- Management of internal and external access
- Configuration of hostnames and certificates
- Diagnosis of route and service anomalies
Storage Administration in OpenShift
- Management of Persistent Volume Claims
- Definition of StorageClasses
- Attachment of storage to workloads
- Support for stateful workloads
- Configuration of storage access permissions
- Troubleshooting volume mount issues
Scheduling and Node Administration
- Utilization of Labels and Selectors
- Configuration of Node Selectors
- Implementation of Taints and Tolerations
- Application of Affinity and Anti-Affinity rules
- Strategies for workload placement
- Execution of node cording and draining
- Considerations for node maintenance
Practical Exercises
- Access an OpenShift environment
- Create and configure a Project
- Deploy and expose an application
- Define user and service-account access
- Attach persistent storage
- Scale and update a running workload
Day 5 – Operations, Monitoring, and Troubleshooting
Platform Health Monitoring
- Surveillance of cluster and application health
- Analysis of resource metrics
- Assessment of node health status
- Tracking of workload status
- Evaluation of capacity and resource utilization
- Identification of performance bottlenecks
Log Management and Event Tracking
- Review of container logs
- Analysis of Pod logs
- Retrieval of previous container logs
- Interpretation of Kubernetes events
- Correlation of application and platform messages
- Filtering and analysis of operational data
Health Check Mechanisms
- Configuration of Startup probes
- Implementation of Readiness probes
- Definition of Liveness probes
- Design of effective health endpoints
- Diagnosis of probe failures
- Prevention of unnecessary application restarts
Workload Troubleshooting Procedures
- Investigation of Pending Pods
- Resolution of image pull failures
- Diagnosis of Crash loops
- Correction of misconfigured environment variables
- Resolution of failed mounts
- Remediation of insufficient resources
- Correction of permission errors
- Resolution of service and route connectivity issues
- Troubleshooting DNS issues
- Diagnosis of application startup failures
Operational Security Governance
- Audit of permissions
- Review of service account usage
- Secure management of credentials
- Implementation of image security practices
- Enforcement of network isolation
- Conduct of platform access audits
- Application of least-privilege principles for government compliance
Maintenance and Lifecycle Administration
- Execution of routine platform checks
- Performance of node maintenance
- Consideration of application backup strategies
- Backup of configuration data
- Planning of updates
- Implementation of change management protocols
- Testing of updates
- Planning of rollback procedures
- Adoption of disaster recovery concepts
Final Practical Workshop
Participants will complete an end-to-end operational scenario:
- Build and tag a container image.
- Distribute the image to a registry.
- Deploy the application to Kubernetes or OpenShift.
- Configure application settings and credentials.
- Expose the application.
- Attach persistent storage.
- Define access permissions.
- Implement health checks.
- Scale and update the application.
- Diagnose and resolve a simulated failure.
Course Delivery 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 for government environments.
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 beneficial but not required.
Testimonials (7)
Reda explanations and he simplified alot of the understanding
Eric Van Wyk
Course - Docker, Kubernetes and OpenShift 3 for Administrators
The labs were the best. Very practical and provides hands-on experience. I personally think that it is the most effective means of truly understanding the course and applying the concepts that were covered.
Hishaam Johnstone
Course - Docker, Kubernetes and OpenShift 3 for Administrators
I loved the willingness to help and explain further when uncertain
Letlotlo Miffi
Course - Docker, Kubernetes and OpenShift 3 for Administrators
Adriano studied the subject very deeply which is the style i mostly prefer ie: less about the commands more on the mechanism behind it. Discussed scenarios were well supported by the practical examples which helped a lot to understand the presented stuff.
Mariusz BANASZCZYK - Sopra Steria
Course - Docker, Kubernetes and OpenShift for Administrators
Deep knowledge of Adriano. Explanation of base concepts
Tomasz Szalankiewicz - LPP SA
Course - Docker, Kubernetes and OpenShift for Administrators
I generally liked the presenter.
Josif Kovacevic - ANZ
Course - Docker, Kubernetes and OpenShift for Administrators
Adrian clearly knows and enjoys this technology.