Kubernetes from Basic to Advanced Certificate for Robert Wołkowicz
[Day 01]
Introduction
How Docker runs and manages containers
- Images, containers, volumes, networks
Installing Docker
Overview of container orchestration with Kubernetes
Overview of Kubernetes architecture
- Pods, labels/selectors, replication controllers, services, API
Installing a Kubernetes cluster
Pulling a Docker image from the internet
- Nginx, MongoDB, Tomcat
Creating Kubernetes pods, volumes and deployments
Grouping and organizing your cluster
Using Kubernetes Namespaces to manage different environments
- Managing test, staging, and production environments within the same cluster
- Kubernetes Namespaces best practices
Discovering and connecting to containers
Discovering and publishing services
- Non-HTTP services (Passive FTP, SMTP, LDAP, etc.)
Kubernetes security
- Authentication & authorization
Upgrading a Kubernetes cluster
- Minimizing the impact
Advanced networking
- Docker networking vs Kubernetes networking
Interfacing between network providers and Kubernetes networking
- Best practices for separating services in a cluster
- Comparison of different CNI providers (performance, features, etc.)
Monitoring Kubernetes
- Cluster logging with Elasticsearch and fluentd
- Container level monitoring (cAdvisor UI, Influxdb, Prometheus)
Best Practices for running containerized servers and data stores
- Nginx, Tomcat, MongoDB
[Day 02]
Scaling your Kubernetes cluster
Infrastructure for Kubernetes
- Provisioning, partitioning, networking
Building a high-availability cluster
- Load balancing and service discovery
Deploying a scalable application
- Horizontal pod autoscaling
- Database clustering in Kubernetes
Updating your application
- Releases in Kubernetes
Troubleshooting
- Diagnosing and fixing common Kubernetes issues
Summary and Conclusion