Container Technology

  1. Kubernetes Deep Dive
    1. Kubernetes Architecture
      1. Cluster Architecture Overview
        1. Master-Worker Model
          1. Distributed System Design
            1. High Availability Patterns
            2. Control Plane Components
              1. API Server (kube-apiserver)
                1. REST API Gateway
                  1. Authentication and Authorization
                    1. Admission Control
                      1. API Versioning
                      2. Scheduler (kube-scheduler)
                        1. Pod Scheduling Process
                          1. Scheduling Algorithms
                            1. Priority-Based Scheduling
                              1. Resource-Based Scheduling
                                1. Affinity Scheduling
                                2. Custom Schedulers
                                3. Controller Manager (kube-controller-manager)
                                  1. Controller Pattern
                                    1. Built-in Controllers
                                      1. Deployment Controller
                                        1. ReplicaSet Controller
                                          1. Node Controller
                                            1. Service Controller
                                            2. Custom Controllers
                                            3. etcd
                                              1. Distributed Key-Value Store
                                                1. Cluster State Storage
                                                  1. Backup and Recovery
                                                    1. Performance Considerations
                                                  2. Worker Node Components
                                                    1. Kubelet
                                                      1. Node Agent Responsibilities
                                                        1. Pod Lifecycle Management
                                                          1. Container Runtime Interface
                                                            1. Node Status Reporting
                                                              1. Volume Management
                                                              2. Kube-proxy
                                                                1. Network Proxy Functions
                                                                  1. Service Implementation
                                                                    1. Load Balancing
                                                                      1. Network Policy Enforcement
                                                                      2. Container Runtime
                                                                        1. CRI Implementation
                                                                          1. Runtime Selection
                                                                            1. Performance Considerations
                                                                          2. Add-on Components
                                                                            1. DNS (CoreDNS)
                                                                              1. Service Discovery
                                                                                1. DNS Configuration
                                                                                2. Dashboard
                                                                                  1. Web UI Management
                                                                                  2. Monitoring
                                                                                    1. Metrics Collection
                                                                                      1. Resource Monitoring
                                                                                  3. Kubernetes API and Objects
                                                                                    1. API Structure
                                                                                      1. RESTful Design
                                                                                        1. Resource Types
                                                                                          1. API Groups and Versions
                                                                                            1. API Deprecation Policy
                                                                                            2. Object Model
                                                                                              1. Object Specification
                                                                                                1. Object Status
                                                                                                  1. Object Metadata
                                                                                                    1. Labels and Selectors
                                                                                                      1. Annotations
                                                                                                      2. Core Objects
                                                                                                        1. Pods
                                                                                                          1. Pod Specification
                                                                                                            1. Container Specifications
                                                                                                              1. Pod Lifecycle Phases
                                                                                                                1. Pending
                                                                                                                  1. Running
                                                                                                                    1. Succeeded
                                                                                                                      1. Failed
                                                                                                                        1. Unknown
                                                                                                                        2. Pod Conditions
                                                                                                                          1. Init Containers
                                                                                                                            1. Sidecar Containers
                                                                                                                              1. Pod Security Context
                                                                                                                              2. ReplicaSets
                                                                                                                                1. Desired State Management
                                                                                                                                  1. Pod Template
                                                                                                                                    1. Selector Matching
                                                                                                                                      1. Scaling Operations
                                                                                                                                      2. Deployments
                                                                                                                                        1. Declarative Updates
                                                                                                                                          1. Deployment Strategies
                                                                                                                                            1. Recreate Strategy
                                                                                                                                              1. Rolling Update Strategy
                                                                                                                                              2. Rollout Management
                                                                                                                                                1. Rollback Operations
                                                                                                                                                  1. Deployment Status
                                                                                                                                                  2. Services
                                                                                                                                                    1. Service Types
                                                                                                                                                      1. ClusterIP
                                                                                                                                                        1. Internal Load Balancing
                                                                                                                                                          1. Virtual IP Assignment
                                                                                                                                                          2. NodePort
                                                                                                                                                            1. External Access via Nodes
                                                                                                                                                              1. Port Allocation
                                                                                                                                                              2. LoadBalancer
                                                                                                                                                                1. Cloud Provider Integration
                                                                                                                                                                  1. External Load Balancer
                                                                                                                                                                  2. ExternalName
                                                                                                                                                                    1. DNS CNAME Records
                                                                                                                                                                  3. Service Discovery
                                                                                                                                                                    1. DNS-Based Discovery
                                                                                                                                                                      1. Environment Variables
                                                                                                                                                                      2. Endpoints
                                                                                                                                                                        1. Service Backend Management
                                                                                                                                                                          1. Health-Based Routing
                                                                                                                                                                        2. Namespaces
                                                                                                                                                                          1. Resource Isolation
                                                                                                                                                                            1. Multi-Tenancy Support
                                                                                                                                                                              1. Resource Quotas
                                                                                                                                                                                1. Network Policies
                                                                                                                                                                                  1. Default Namespaces
                                                                                                                                                                                2. Workload Objects
                                                                                                                                                                                  1. DaemonSets
                                                                                                                                                                                    1. Node-Level Workloads
                                                                                                                                                                                      1. System Services
                                                                                                                                                                                        1. Update Strategies
                                                                                                                                                                                        2. StatefulSets
                                                                                                                                                                                          1. Stateful Application Management
                                                                                                                                                                                            1. Ordered Deployment
                                                                                                                                                                                              1. Persistent Identity
                                                                                                                                                                                                1. Stable Network Identity
                                                                                                                                                                                                2. Jobs
                                                                                                                                                                                                  1. Batch Workloads
                                                                                                                                                                                                    1. Completion Tracking
                                                                                                                                                                                                      1. Parallelism
                                                                                                                                                                                                      2. CronJobs
                                                                                                                                                                                                        1. Scheduled Jobs
                                                                                                                                                                                                          1. Cron Syntax
                                                                                                                                                                                                            1. Job History
                                                                                                                                                                                                        2. Configuration and Secret Management
                                                                                                                                                                                                          1. ConfigMaps
                                                                                                                                                                                                            1. Configuration Data Storage
                                                                                                                                                                                                              1. Creation Methods
                                                                                                                                                                                                                1. Literal Values
                                                                                                                                                                                                                  1. Files
                                                                                                                                                                                                                    1. Directories
                                                                                                                                                                                                                    2. Consumption Methods
                                                                                                                                                                                                                      1. Environment Variables
                                                                                                                                                                                                                        1. Command Arguments
                                                                                                                                                                                                                          1. Volume Mounts
                                                                                                                                                                                                                          2. Configuration Updates
                                                                                                                                                                                                                            1. Hot Reloading
                                                                                                                                                                                                                              1. Rolling Updates
                                                                                                                                                                                                                            2. Secrets
                                                                                                                                                                                                                              1. Sensitive Data Management
                                                                                                                                                                                                                                1. Secret Types
                                                                                                                                                                                                                                  1. Opaque Secrets
                                                                                                                                                                                                                                    1. Service Account Tokens
                                                                                                                                                                                                                                      1. Docker Registry Secrets
                                                                                                                                                                                                                                        1. TLS Secrets
                                                                                                                                                                                                                                        2. Secret Creation
                                                                                                                                                                                                                                          1. kubectl Commands
                                                                                                                                                                                                                                            1. YAML Manifests
                                                                                                                                                                                                                                              1. External Secret Management
                                                                                                                                                                                                                                              2. Secret Consumption
                                                                                                                                                                                                                                                1. Environment Variables
                                                                                                                                                                                                                                                  1. Volume Mounts
                                                                                                                                                                                                                                                    1. Image Pull Secrets
                                                                                                                                                                                                                                                    2. Security Considerations
                                                                                                                                                                                                                                                      1. Encryption at Rest
                                                                                                                                                                                                                                                        1. Access Control
                                                                                                                                                                                                                                                          1. Secret Rotation
                                                                                                                                                                                                                                                      2. Storage in Kubernetes
                                                                                                                                                                                                                                                        1. Storage Concepts
                                                                                                                                                                                                                                                          1. Ephemeral vs Persistent Storage
                                                                                                                                                                                                                                                            1. Storage Lifecycle
                                                                                                                                                                                                                                                              1. Data Persistence Patterns
                                                                                                                                                                                                                                                              2. Volumes
                                                                                                                                                                                                                                                                1. Volume Types
                                                                                                                                                                                                                                                                  1. emptyDir
                                                                                                                                                                                                                                                                    1. Temporary Storage
                                                                                                                                                                                                                                                                      1. Pod-Level Sharing
                                                                                                                                                                                                                                                                      2. hostPath
                                                                                                                                                                                                                                                                        1. Node Filesystem Access
                                                                                                                                                                                                                                                                          1. Security Implications
                                                                                                                                                                                                                                                                          2. configMap
                                                                                                                                                                                                                                                                            1. Configuration File Mounting
                                                                                                                                                                                                                                                                            2. secret
                                                                                                                                                                                                                                                                              1. Secret File Mounting
                                                                                                                                                                                                                                                                              2. downwardAPI
                                                                                                                                                                                                                                                                                1. Pod Metadata Access
                                                                                                                                                                                                                                                                              3. Volume Mounts
                                                                                                                                                                                                                                                                                1. Container Volume Mounting
                                                                                                                                                                                                                                                                                  1. Mount Options
                                                                                                                                                                                                                                                                                    1. Subpath Mounting
                                                                                                                                                                                                                                                                                  2. Persistent Volumes
                                                                                                                                                                                                                                                                                    1. PersistentVolume (PV)
                                                                                                                                                                                                                                                                                      1. Cluster-Level Storage Resource
                                                                                                                                                                                                                                                                                        1. Volume Plugins
                                                                                                                                                                                                                                                                                          1. Access Modes
                                                                                                                                                                                                                                                                                            1. ReadWriteOnce
                                                                                                                                                                                                                                                                                              1. ReadOnlyMany
                                                                                                                                                                                                                                                                                                1. ReadWriteMany
                                                                                                                                                                                                                                                                                                2. Reclaim Policies
                                                                                                                                                                                                                                                                                                  1. Retain
                                                                                                                                                                                                                                                                                                    1. Delete
                                                                                                                                                                                                                                                                                                      1. Recycle
                                                                                                                                                                                                                                                                                                    2. PersistentVolumeClaim (PVC)
                                                                                                                                                                                                                                                                                                      1. Storage Request
                                                                                                                                                                                                                                                                                                        1. Binding Process
                                                                                                                                                                                                                                                                                                          1. Storage Classes
                                                                                                                                                                                                                                                                                                            1. Volume Expansion
                                                                                                                                                                                                                                                                                                          2. Dynamic Provisioning
                                                                                                                                                                                                                                                                                                            1. StorageClasses
                                                                                                                                                                                                                                                                                                              1. Storage Provider Abstraction
                                                                                                                                                                                                                                                                                                                1. Provisioner Configuration
                                                                                                                                                                                                                                                                                                                  1. Parameters and Options
                                                                                                                                                                                                                                                                                                                  2. Volume Provisioning
                                                                                                                                                                                                                                                                                                                    1. Automatic PV Creation
                                                                                                                                                                                                                                                                                                                      1. Storage Backend Integration
                                                                                                                                                                                                                                                                                                                    2. Container Storage Interface (CSI)
                                                                                                                                                                                                                                                                                                                      1. CSI Architecture
                                                                                                                                                                                                                                                                                                                        1. CSI Drivers
                                                                                                                                                                                                                                                                                                                          1. Plugin Deployment
                                                                                                                                                                                                                                                                                                                        2. Kubernetes Networking
                                                                                                                                                                                                                                                                                                                          1. Networking Model
                                                                                                                                                                                                                                                                                                                            1. Flat Network Architecture
                                                                                                                                                                                                                                                                                                                              1. Pod-to-Pod Communication
                                                                                                                                                                                                                                                                                                                                1. Network Requirements
                                                                                                                                                                                                                                                                                                                                  1. Unique IP per Pod
                                                                                                                                                                                                                                                                                                                                    1. NAT-free Communication
                                                                                                                                                                                                                                                                                                                                      1. Port Allocation
                                                                                                                                                                                                                                                                                                                                    2. Container Networking Interface (CNI)
                                                                                                                                                                                                                                                                                                                                      1. CNI Specification
                                                                                                                                                                                                                                                                                                                                        1. CNI Plugins
                                                                                                                                                                                                                                                                                                                                          1. Flannel
                                                                                                                                                                                                                                                                                                                                            1. Overlay Networking
                                                                                                                                                                                                                                                                                                                                              1. VXLAN Backend
                                                                                                                                                                                                                                                                                                                                              2. Calico
                                                                                                                                                                                                                                                                                                                                                1. BGP Routing
                                                                                                                                                                                                                                                                                                                                                  1. Network Policies
                                                                                                                                                                                                                                                                                                                                                  2. Weave Net
                                                                                                                                                                                                                                                                                                                                                    1. Mesh Networking
                                                                                                                                                                                                                                                                                                                                                      1. Encryption
                                                                                                                                                                                                                                                                                                                                                      2. Cilium
                                                                                                                                                                                                                                                                                                                                                        1. eBPF-Based Networking
                                                                                                                                                                                                                                                                                                                                                          1. Advanced Features
                                                                                                                                                                                                                                                                                                                                                        2. Plugin Selection Criteria
                                                                                                                                                                                                                                                                                                                                                        3. Service Networking
                                                                                                                                                                                                                                                                                                                                                          1. Service Implementation
                                                                                                                                                                                                                                                                                                                                                            1. Virtual IP Assignment
                                                                                                                                                                                                                                                                                                                                                              1. Endpoint Management
                                                                                                                                                                                                                                                                                                                                                              2. kube-proxy Modes
                                                                                                                                                                                                                                                                                                                                                                1. iptables Mode
                                                                                                                                                                                                                                                                                                                                                                  1. IPVS Mode
                                                                                                                                                                                                                                                                                                                                                                    1. Userspace Mode
                                                                                                                                                                                                                                                                                                                                                                    2. Service Mesh Integration
                                                                                                                                                                                                                                                                                                                                                                    3. Ingress
                                                                                                                                                                                                                                                                                                                                                                      1. Ingress Controllers
                                                                                                                                                                                                                                                                                                                                                                        1. NGINX Ingress Controller
                                                                                                                                                                                                                                                                                                                                                                          1. Traefik
                                                                                                                                                                                                                                                                                                                                                                            1. HAProxy Ingress
                                                                                                                                                                                                                                                                                                                                                                              1. Cloud Provider Controllers
                                                                                                                                                                                                                                                                                                                                                                              2. Ingress Resources
                                                                                                                                                                                                                                                                                                                                                                                1. Path-Based Routing
                                                                                                                                                                                                                                                                                                                                                                                  1. Host-Based Routing
                                                                                                                                                                                                                                                                                                                                                                                    1. TLS Termination
                                                                                                                                                                                                                                                                                                                                                                                    2. Ingress Classes
                                                                                                                                                                                                                                                                                                                                                                                      1. Controller Selection
                                                                                                                                                                                                                                                                                                                                                                                        1. Multi-Controller Support
                                                                                                                                                                                                                                                                                                                                                                                      2. Network Policies
                                                                                                                                                                                                                                                                                                                                                                                        1. Traffic Control
                                                                                                                                                                                                                                                                                                                                                                                          1. Policy Types
                                                                                                                                                                                                                                                                                                                                                                                            1. Ingress Policies
                                                                                                                                                                                                                                                                                                                                                                                              1. Egress Policies
                                                                                                                                                                                                                                                                                                                                                                                              2. Selector-Based Rules
                                                                                                                                                                                                                                                                                                                                                                                                1. Default Policies
                                                                                                                                                                                                                                                                                                                                                                                              3. Kubernetes Management with kubectl
                                                                                                                                                                                                                                                                                                                                                                                                1. kubectl Fundamentals
                                                                                                                                                                                                                                                                                                                                                                                                  1. Configuration Management
                                                                                                                                                                                                                                                                                                                                                                                                    1. Kubeconfig Files
                                                                                                                                                                                                                                                                                                                                                                                                      1. Context Management
                                                                                                                                                                                                                                                                                                                                                                                                        1. Cluster Access
                                                                                                                                                                                                                                                                                                                                                                                                        2. Command Structure
                                                                                                                                                                                                                                                                                                                                                                                                          1. Resource Types
                                                                                                                                                                                                                                                                                                                                                                                                            1. Command Categories
                                                                                                                                                                                                                                                                                                                                                                                                              1. Output Formats
                                                                                                                                                                                                                                                                                                                                                                                                            2. Imperative Commands
                                                                                                                                                                                                                                                                                                                                                                                                              1. Resource Creation
                                                                                                                                                                                                                                                                                                                                                                                                                1. kubectl run
                                                                                                                                                                                                                                                                                                                                                                                                                  1. kubectl create
                                                                                                                                                                                                                                                                                                                                                                                                                    1. kubectl expose
                                                                                                                                                                                                                                                                                                                                                                                                                    2. Resource Management
                                                                                                                                                                                                                                                                                                                                                                                                                      1. kubectl get
                                                                                                                                                                                                                                                                                                                                                                                                                        1. Resource Listing
                                                                                                                                                                                                                                                                                                                                                                                                                          1. Output Formatting
                                                                                                                                                                                                                                                                                                                                                                                                                            1. Label Filtering
                                                                                                                                                                                                                                                                                                                                                                                                                            2. kubectl describe
                                                                                                                                                                                                                                                                                                                                                                                                                              1. Detailed Information
                                                                                                                                                                                                                                                                                                                                                                                                                                1. Event History
                                                                                                                                                                                                                                                                                                                                                                                                                                2. kubectl delete
                                                                                                                                                                                                                                                                                                                                                                                                                                  1. Resource Removal
                                                                                                                                                                                                                                                                                                                                                                                                                                    1. Cascading Deletion
                                                                                                                                                                                                                                                                                                                                                                                                                                  2. Resource Modification
                                                                                                                                                                                                                                                                                                                                                                                                                                    1. kubectl edit
                                                                                                                                                                                                                                                                                                                                                                                                                                      1. kubectl patch
                                                                                                                                                                                                                                                                                                                                                                                                                                        1. kubectl replace
                                                                                                                                                                                                                                                                                                                                                                                                                                      2. Declarative Management
                                                                                                                                                                                                                                                                                                                                                                                                                                        1. kubectl apply
                                                                                                                                                                                                                                                                                                                                                                                                                                          1. Three-Way Merge
                                                                                                                                                                                                                                                                                                                                                                                                                                            1. Configuration Management
                                                                                                                                                                                                                                                                                                                                                                                                                                              1. Server-Side Apply
                                                                                                                                                                                                                                                                                                                                                                                                                                              2. Manifest Files
                                                                                                                                                                                                                                                                                                                                                                                                                                                1. YAML Structure
                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. Multi-Document Files
                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. Resource Relationships
                                                                                                                                                                                                                                                                                                                                                                                                                                                  2. Debugging and Troubleshooting
                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. kubectl logs
                                                                                                                                                                                                                                                                                                                                                                                                                                                      1. Container Logs
                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. Previous Container Logs
                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. Multi-Container Pods
                                                                                                                                                                                                                                                                                                                                                                                                                                                          2. kubectl exec
                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. Container Access
                                                                                                                                                                                                                                                                                                                                                                                                                                                              1. Command Execution
                                                                                                                                                                                                                                                                                                                                                                                                                                                                1. Interactive Sessions
                                                                                                                                                                                                                                                                                                                                                                                                                                                                2. kubectl port-forward
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. Local Port Forwarding
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. Service Access
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    2. kubectl proxy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      1. API Server Access
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. Dashboard Access
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      2. Advanced kubectl Usage
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1. Custom Resource Definitions
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. Plugin System
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1. Scripting and Automation