CONTENT
1.Running My First Docker Container
1.1.Advantages of Using Docker
1.2.Docker Engine
1.3.Running Docker Containers
1.4.Managing Docker Containers
1.5.Attaching to Containers Using the attach Command
2.Getting Started with Dockerfiles
2.1.What Is a Dockerfile?
2.2.Common Directives in Dockerfiles
2.3.Building Docker Images
2.4.Other Dockerfile Directives
3.Managing Your Docker Images
3.1.Docker Layers and Caching
3.2.Creating Base Docker Images
3.3.Docker Image Naming and Tagging
3.4.Using the latest Tag in Docker
3.5.Docker Image Tagging Policies
3.6.Storing and Publishing Your Docker Images
3.7.The Docker Registry
4.Multi-Stage Dockerfiles
4.1.Normal Docker Builds
4.2.What Is the Builder Pattern?
4.3.Introduction to Multi-Stage Dockerfiles
4.4.Dockerfile Best Practices
5.Composing Environments with Docker Compose
5.1.Docker Compose CLI
5.2.Configuration of Services
5.3.Service Dependency
6.Introduction to Docker Networking
6.1.Introduction
6.2.Native Docker DNS
6.3.Native Docker Network Drivers
6.4.Docker Overlay Networking
6.5.Non-Native Docker Networks
7.Docker Storage
7.1.The Container Life Cycle
7.2.Stateful versus Stateless Containers/Services
7.3.Docker Volumes and Stateful Persistence
7.4.Persistent and Ephemeral Volumes
7.5.Volumes versus Filesystem and Images
8.Understanding Kubernetes Architecture
8.1.Introduction to Docker
8.2.Introduction to Kubernetes
8.3.Kubernetes Concepts
8.4.Diving into Kubernetes Architecture in Depth
8.5.Kubernetes Runtimes
8.6.Continuous Integration and Deployment
9.Creating Kubernetes Clusters
9.1.Creating a Single-node Cluster with Minikube
9.2.Creating a Multi-node Cluster with KinD
9.3.Creating a Multi-node Cluster with k3d
9.4.Comparing MiniKube, KinD, and k3d
9.5.Creating Clusters in the Cloud (GCP, AWS, Azure)
9.6.Creating a Bare-metal Cluster from Scratch
10.High Availability and Reliability
10.1.High Availability Concepts
10.2.High Availability Best Practice
10.3.High Availability, Scalability, and Capacity Planning
10.4.Live Cluster Updates
10.5.Large Cluster Performance, Cost, and Design Trade-offs
11.Securing Kubernetes
11.1.Understanding Kubernetes Security Challenges
11.2.Hardening Kubernetes
11.3.Running a Multi-user Cluster
12.Using Kubernetes Resources in Practice
12.1.Designing a Hue Platform
12.2.Using Kubernetes to Build the Hue Platform
12.3.Separating Internal and External Services
12.4.Advanced Scheduling
12.5.Using Namespaces to Limit Access
12.6.Using Customization for Hierarchical Cluster Structures
12.7.Launching Jobs
12.8.Mixing Non-Cluster Components
12.9.Evolving the Hue Platform with Kubernetes
13.Managing Storage
13.1.Persistent Volumes Walkthrough
13.2.Public Cloud Storage Volume Types – GCE, AWS, and Azure
13.3.GlusterFS and Ceph Volumes in Kubernetes
13.4.Flocker as a Clustered Container Data Volume Manager
13.5.Integrating Enterprise Storage into Kubernetes
13.6.Projecting Volumes
13.7.Using out-of-tree Volume Plugins with FlexVolume
13.8.The Container Storage Interface
14.Running Stateful Applications with Kubernetes
14.1.Stateful Versus Stateless Applications in Kubernetes
14.2.Shared Environment Variables Versus DNS Record for Discovery
14.3.Running a Cassandra Cluster in Kubernetes
15.Deploying and Updating Applications
15.1.Horizontal Pod Autoscaling
15.2.Performing Rolling Updates with Autoscaling
15.3.Handling Scarce Resources with Limits and Quotas
15.4.Choosing and Managing the Cluster Capacity
15.5.Pushing the Envelope with Kubernetes
16.Packaging Applications
16.1.Understanding Helm
16.2.Using Helm
16.3.Creating Your Own Charts
17.Exploring Advanced Networking
17.1.Understanding the Kubernetes Networking Model
17.2.Kubernetes Networking Solutions
17.3.Using Network Policies Effectively
17.4.Load Balancing Options
17.5.Writing Your Own CNI Plugin
18.Running Kubernetes on Multiple Clouds and Cluster Federation
18.1.The history of cluster federation on Kubernetes
18.2.Understanding cluster federation
18.3.Managing a Kubernetes Cluster Federation
18.4.Introducing the Gardener project
19.Serverless Computing on Kubernetes
19.1.Understanding serverless computing
19.2.Serverless Kubernetes in the cloud
19.3.Knative
19.4.Kubernetes FaaS Frameworks
20.Monitoring Kubernetes Clusters
20.1.Understanding observability
20.2.Logging with Kubernetes
20.3.Collecting metrics with Kubernetes
20.4.Distributed tracing with Jaeger
20.5.Troubleshooting problems
21.Utilizing Service Meshes
21.1.What is a service mesh?
21.2.Choosing a service mesh
21.3.Incorporating Istio into your Kubernetes cluster
22.Extending Kubernetes
22.1.Working with the Kubernetes API
22.2.Extending the Kubernetes API
22.3.Writing Kubernetes plugins
22.4.Employing access control webhooks
23.The Future of Kubernetes
23.1.The Kubernetes momentum
23.2.The rise of managed Kubernetes platforms
23.3.Upcoming trends