Préface
I. Introduction à K8s
1. Présententation de K8s
2. Objets et architecture K8s
II. Déploiement de K8s
1. Options de déploiement de K8s
2. MiniKube
3. Google Kubernetes Engine
4. Cluster K8s Pi
5. Kubernetes Baremetal Ansible
III. Commande kubectl
1. Aide-mémoire kubectl
2. Références kubectl
IV. Objets Kubernets
1. Pods Kubernetes
2. Cycle de vie d'un pod K8s
3. ReplicaSets K8s
4. Deployments K8s
5. StatefulSets K8s
6. Jobs K8s
7. Services
8. Etiquettes et annotations
9. DaemonSets K8s
10. Secrets et ConfigMaps
V. Pratique de K8s (GKE)
1. Bonnes pratiques K8s
2. Diagnostic K8s
Annexe Docker
Virtualisation Docker
Images et registres Docker
Notes
INTRODUCTION
A brief introduction
About
Prereqs
Docker Versions
Introduction to Docker and Containers
1.1. Docker Overview
1.2. Docker History
1.3. Training Environment
1.4. Installing Docker
1.5. First Containers
1.6. Background Containers
1.7. Start And Attach
2.1. Initial Images
2.2. Building Images Interactively
2.3. Building Images With Dockerfiles
2.4. Cmd And Entrypoint
2.5. Copying Files During Build
3.1. Multi Stage Builds
3.2. Publishing To Docker Hub
3.3. Dockerfile Tips
4.1. Naming And Inspecting
4.2. Labels
4.3. Getting Inside
5.1. Container Networking Basics
5.2. Network Drivers
5.3. Container Network Model
5.4. Ambassadors
6.1. Local Development Workflow
6.2. Windows Containers
6.3. Working With Volumes
6.4. Compose For Dev Stacks
6.5. Docker Machine
7.1. Advanced Dockerfiles
7.2. Application Configuration
7.3. Logging
7.4. Resource Limits
8.1. Namespaces Cgroups
8.2. Copy On Write
9.1. Container Engines
9.2. Ecosystem
9.3. Orchestration Overview
10.1. Connecting Containers With Links
10.2. Containers From Scratch
Container Orchestration with Docker and Swarm
1. Our app on Swarm
1.1. Compose Scale
1.2. Compose Down
1.3. Swarmkit
1.4. Declarative vs Imperative
1.5. Swarmmode
1.6. Creating our first Swarm
1.7. Docker Machine
1.8. Adding more nodes
2. Running our first Swarm service
2.1. Our app on Swarm
2.2. Hosting our own registry
2.3. Testing our local registry
2.4. Build, tag, and push our container images
2.5. Swarm-ready
2.6. Integration with Compose
2.7. CI/CD for Docker and orchestration
3. Operating Swarm
3.1. Troubleshooting overlay networks
3.2. Measuring cluster-wide network conditions
3.3. Securing overlay networks
3.4. Updating services
3.5. Rolling updates
3.6. Health checks
3.7. Getting task information for a given node
3.8. SwarmKit debugging tools
3. Secrets management and encryption at rest
3.1. Secret management
3.2. Encryption at rest
3.3. Least privilege model
3.4. API Scope
3.5. Logging
3.6. Metrics collection
3.7. Dealing with stateful services
4. Extra tips
5. Links and resources
Kubernetes 101
1. Kubernetes Introduction
1.1. Versions
1.2. Concepts
1.3. Declarative vs imperative
1.4. Kubernetes network model
1.5. Setting up Kubernetes
1.6. First contact with kubectl
1.7. Running our first containers on Kubernetes
1.8. Exposing containers
2. Running our application on Kubernetes
2.1. Shipping images with a registry
2.2. Running our application on Kubernetes
2.3. Accessing the API
2.4. Controlling the cluster remotely
2.5. Accessing internal services
2.6. The Kubernetes dashboard
3. Scaling a deployment
3.1. Scaling a deployment
3.2. Daemon sets
3.3. Rolling updates
3.4. Healthchecks
3.5. Accessing logs from the CLI
3.6. Centralized logging
4. Managing stacks
4.1. Managing stacks with Helm
4.2. Namespaces
4.3. Network policies
4.4. Authentication and authorization
4.5. Exposing HTTP services with Ingress resources
4.6. Git-based workflows
4.7. Collecting metrics with Prometheus
4.8. Volumes
5. Advanced subjects
Conclusion
Next steps
Links
Kubernetes The Hard Way
Kubernetes The Hard Way
1. Prerequisites
2. Installing the Client Tools
3. Provisioning Compute Resources
4. Provisioning the CA and Generating TLS Certificates
5. Generating Kubernetes Configuration Files for Authentication
6. Generating the Data Encryption Config and Key
7. Bootstrapping the etcd Cluster
8. Bootstrapping the Kubernetes Control Plane
9. Bootstrapping the Kubernetes Worker Nodes
10. Configuring kubectl for Remote Access
11. Provisioning Pod Network Routes
12. Deploying the DNS Cluster Add-on
13. Smoke Test
14. Cleaning Up
(c) François-Emmanuel Goffinet
2. Running our application on Kubernetes
Running our application on Kubernetes
2.1. Shipping images with a registry
2.2. Running our application on Kubernetes
2.3. Accessing the API
2.4. Controlling the cluster remotely
2.5. Accessing internal services
2.6. The Kubernetes dashboard