Предварительные требования к слушателям курса:
1. Базовые знания работы с Linux:
• Умение использовать командную строку.
• Знание основных команд (например, ls, cd, mkdir, cat, vim, nano).
• Понимание структуры файловой системы Linux.
2. Понимание работы с сетями:
• Основы сетевых протоколов (TCP/IP, HTTP/HTTPS).
• Понимание концепций IP-адресов, DNS, портов и NAT.
• Знание базовых команд диагностики сети (ping, curl, netstat, traceroute).
3. Опыт работы с контейнерами:
• Знание Docker или другого контейнерного инструмента.
• Умение создавать, запускать и управлять контейнерами.
• Понимание концепций образов контейнеров, Dockerfile и реестров контейнеров (Registry).
4. Базовые знания DevOps-практик:
• Понимание CI/CD-процессов.
• Опыт работы с системами управления версиями, такими как Git.
• Понимание принципов инфраструктуры как кода (Infrastructure as Code, IaC).
5. Основы работы с облачными платформами (опционально):
• Желателен опыт работы с облачными провайдерами (AWS, Google Cloud, Azure) или их аналогами.
• Понимание принципов работы виртуальных машин и сетей в облаке.
6. Желательно:
• Опыт работы с оркестраторами контейнеров, такими как Docker Compose.
• Умение читать документацию и работать с man страницами.
• Базовые знания YAML.
7. Технические требования:
• Наличие компьютера с установленным Linux/MacOS или Windows с WSL2.
• Установленный Docker и доступ к Docker Hub.
• Возможность использовать Kubernetes в локальном окружении (например, Minikube, Docker Desktop или Kind).
8. Английский язык:
• Базовый уровень для чтения технической документации.
Эти требования помогут слушателям быстрее освоить материал курса и эффективнее применять знания на практике.
Day 1:
Introduction to Kubernetes and Its Ecosystem
Course Introduction
Welcome and overview of Kubernetes.
Objectives and course structure.
Understanding Kubernetes
What is Kubernetes?
Overview of containerization and its benefits.
Kubernetes vs. other container orchestration tools.
Kubernetes Architecture
Core components: Node, Pod, Cluster.
Control Plane vs. Worker Nodes.
Setting Up a Kubernetes Environment
Introduction to Minikube and Kubectl.
Installing and configuring Kubernetes for the first time.
Basic Kubernetes Commands
Using kubectl to manage resources.
Creating and managing Pods.
Day 2:
Core Kubernetes Resources and Networking
Workloads and Controllers
Understanding Deployments, ReplicaSets, and StatefulSets.
Managing application scaling and updates.
Kubernetes Services and Networking
Types of Services: ClusterIP, NodePort, LoadBalancer.
Basic networking in Kubernetes, DNS integration.
Configurations and Secrets
Managing environment configurations with ConfigMaps.
Using Secrets to store sensitive data.
Introduction to Persistent Storage
Understanding Persistent Volumes and Persistent Volume Claims.
Connecting storage to Pods.
Day 3:
Monitoring, Autoscaling, and Best Practices
Monitoring and Logging
Introduction to monitoring with Prometheus.
Basic logging with Elastic Stack (ELK).
Autoscaling in Kubernetes
Horizontal Pod Autoscaler.
Autoscaling based on CPU/Memory metrics.
Helm: Kubernetes Package Manager
Introduction to Helm.
Managing applications with Helm charts.
Best Practices and Next Steps
Security best practices.
Resources for further learning and next steps in your Kubernetes journey.
Day 4:
Advanced Kubernetes Configurations and Networking
Advanced Deployment Strategies
Blue-green deployments.
Canary deployments.
Ingress Controllers and Advanced Routing
Setting up Ingress for advanced routing.
Using Ingress Controllers like NGINX and Traefik.
Stateful Applications and Advanced Storage Options
Deploying and managing StatefulSets.
Advanced storage options and dynamic provisioning.
Custom Resource Definitions (CRDs)
Extending Kubernetes with custom resources.
Creating and managing CRDs.
Day 5:
Security, Observability, and Cluster Management
Security Practices in Kubernetes
Role-Based Access Control (RBAC).
Network policies and security contexts.
Advanced Monitoring and Observability
Setting up Grafana for detailed monitoring.
Tracing with Jaeger.
Cluster Maintenance and Troubleshooting
Cluster upgrades and rollback strategies.
Troubleshooting common cluster issues.
Kubernetes in Production
Best practices for managing production-grade Kubernetes environments.
Resource limits, quotas, and namespace strategies for large-scale operations.