Kubernetes Developer CKAD
The Kubernetes Developers CKAD Course is designed to teach you how to use Kubernetes to deploy, scale, and manage containerized applications. Course objectives include understanding Kubernetes architecture and components, interacting with a Kubernetes cluster using kubectl, using YAML manifests to define and deploy applications, implementing network services to expose applications, managing storage for application data, implementing security and access best practices, integrating Kubernetes with Continuous Integration and Continuous Deployment (CI/CD) processes, and finally preparing for the exam of Kubernetes Application Developer CKAD Certification .
Course Objectives
The main objectives of the Kubernetes Developer CKAD Course :
- Gain a deep understanding of Kubernetes architecture and its core components.
- Learn to use kubectl commands proficiently for cluster interaction and management tasks.
- Master the creation and deployment of applications using YAML manifests in Kubernetes.
- Implement and manage network services to expose applications within Kubernetes clusters.
- Develop skills in managing storage resources effectively for application data within Kubernetes environments.
- Implement security measures and best practices to secure Kubernetes clusters and applications.
- Integrate Kubernetes deployments seamlessly into CI/CD pipelines for automated application delivery.
- Prepare thoroughly for the Kubernetes Application Developer CKAD Certification exam through hands-on labs and practice scenarios.
Course Certification
This course helps you prepare to take the:
Certified Kubernetes Application Developer CKAD exam
Course Outline
Kubernetes Architecture
- What Is Kubernetes?
- Components of Kubernetes
- Challenges
- The Borg Heritage
- Kubernetes Architecture
- Terminology
- Control Plane Node
- Control Plane Node Components
- Worker Nodes
- Pods
- Services
- Operators
- Single IP per Pod
- Networking Setup
- API Call Flow
- CNI Network Configuration File
- Pod-to-Pod Communication
- Resource Recommendations
Build
- Container Options
- Containerd
- Docker Containers
- Container Runtime Engine
- Containerizing an Application
- Rewrite Legacy Applications
- Creating the Dockerfile
- Hosting a Local Repository
- Creating a Deployment
- Running Commands in a Container
- Multi-Container Pod
- Readiness Probe, Liveness Probe, and Startup Probe
- Testing
- Helm
Design
- Traditional Applications – Considerations
- Decoupled Resources
- Flexible Framework
- Managing Resource Usage
- Using Label Selectors
- Using Annotations
- Multi-Container Pods
- Sidecar, Adapter, Ambassador, and InitContainers
- Custom Resource Definitions
- Jobs
- CronJobs
Deployment Configuration
- Volumes Overview
- Introducing Volumes
- Volume Spec
- Volume Types
- Shared Volume Example
- Persistent Volumes and Claims
- Phases to Persistent Storage
- Persistent Volume
- Persistent Volume Claim
- Dynamic Provisioning
- Secrets
- Using Secrets via Environment Variables
- Mounting Secrets as Volumes
- Portable Data with ConfigMaps
- Using ConfigMaps
- Deployment Configuration Status
- Scaling and Rolling Updates
- Deployment Rollbacks
Understanding Security
- Overview
- Accessing the API
- Authentication
- Authorization
- RBAC and the RBAC Process Overview
- Admission Controller
- Security Contexts
- Pod Security Policies (PSPs)
- Pod Security Standards
- Network Security Policies
- Network Security Policy Example
- Default Policy Example
Exposing Applications
- Service Types
- Services Diagram
- Service Update Pattern
- Accessing an Application with a Service
- Service Without a Selector
- ClusterIP
- NodePort
- LoadBalancer
- ExternalName
- Ingress Resource
- Ingress Controller
- Service Mesh
Application Troubleshooting
- Overview
- Basic Troubleshooting Steps
- Ongoing (Constant) Change
- Basic Troubleshooting Flow: Pods
- Basic Troubleshooting Flow: Node and Security
- Basic Troubleshooting Flow: Network
- Monitoring
- Logging Tools
- Monitoring Applications
- System and Agent Logs
Laboratory Activities
- How to connect to lab
- Work with the cluster
- Imperative and declarative
- API
- Namespace
- Labels
- Running Pods
- Pod Lifecycle
- Implementing container probes
- System Pods and Controllers
- Create Deployment
- Create Deployment-Replicaset
- Update a Deployment
- Rolling back a Deployment
- Scaling a Deployment
- Running Multi-container Pods
- Running Sidecar Containers
- Running Adapter Containers
- Storage Static Provisioning
- Storage Dynamic Provisioning
- Environment Variables
- Secrets
- Private Container Registry
- ConfigMap
- Services
- Service Discovery
- Ingress
- Logging
- Troubleshooting Workloads
- Authentications
- Manage Authorizations
- kubeconfig and context
- RBAC
Course Mode
Instructor-Led Remote Live Classroom Training;
Trainers
Trainers are CISCO Official Instructors and certified in other IT technologies, with years of hands-on experience in the industry and in Training.
Lab Topology
For all types of delivery, the participant can access the equipment and actual systems in our laboratories or directly in international data centers remotely, 24/7. Each participant has access to implement various configurations, Thus immediately applying the theory learned. Below are some scenarios drawn from laboratory activities.
Course Details
Course Prerequisites
Basic runtime knowledge of containers and microservices architecture.
Course Duration
Extensive Duration 32 Hours; Intensive duration 4 days;
Course Frequency
Course Duration: 4 days (9.00 to 17.00) - Ask for other types of attendance.
Course Date
- Kubernetes Developer CKAD Course (Intensive Formula) – On Request – 09:00 – 17:00
Steps to Enroll
Registration takes place by asking to be contacted from the following link, or by contacting the office at the international number +355 45 301 313 or by sending a request to the email info@hadartraining.com