Containerization is becoming increasingly important in the design of the development of new applications, especially in the microservices approach. Kubernetes is an orchestration tool, a portable and extensible open source platform to address the issues of load balancing and fault tolerance of applications deployed in container form. This training allows participants to understand how to use and benefit from this platform, which offers the simplicity of a Platform as a Service (PaaS), with the flexibility of Infrastructure as a Service (IaaS), and so ensure portability between infrastructure providers.
Reminder of Cloud concepts
How to understand containers versus virtualization?
Where does the concept of containers come from?
The arrival of Docker
Union File System and layered model
The Copy-On-Write (COW) layer
Basic components of a Docker infrastructure
Docker definitions and terminology
The notion of minimal OS
Notion of Stateless / Stateful
How to manage your data?
The case of the Data-Only-Container
Network operation on a host
Network function between containers
Container as a Service (CaaS) et orchestration
How to link containers ?
Using Docker Compose
Creation of an infrastructure made up of several containers
Put into practice
Container technologies and CaaS
Basic concepts and definitions (Images, Layers, Containers, Hub, Registry ...)
Layered model "layering" and impacts
Presentation of clustering and orchestration solutions (Kubernetes, Swarm, Mesos ...)
Benefits of containers and CaaS
The benefits of technology
Benefits for developers
Benefits for administrators
Benefits in using the Cloud and in hybridization
The contribution of containers to the DevOps approach
Limits of containers and CaaS
Are these technologies mature for production?
Is the security sufficient?
Is there a risk of locking?
Is interoperability real?
Are network communications between containers optimal?
How to manage data with Docker?
Stateless vs Stateful
Is CaaS better than PaaS ?
Kubernetes : the basics
Google and Kubernetes
Other contributors: Red Hat…
Concept of pods
Notion of Replica Set and Replica Controller
Concept of services
Concept of volumes
Notion of ConfigMaps and secrets
Getting to know Kubernetes
Installing Kubernetes on a public cloud: the example of Google Container Service
Local installation with Minikube
Dashboard, CLI and API
Proxy and DNS
Start your first containers
The usual commands
View Kubernetes API Objects
Manage Kubernetes objects (Creation, Update, Deletion ...)
Associate labels with objects
Create a pod and a pod manifest
Manage pods (list, delete ...)
Access a pod (Port forwarding, Logs, Exec, Copy files)
Managing persistent data and volumes
Label and annotation
Apply and edit labels
Network management within the cluster
Replica Set and pods
Create a Replica Set
Identify a Replica Set in a Pod
Find a Pod Set for a Replica Set
Scale Replica Sets (kubectl scale, kubectl apply, autoscaling)
ConfigMaps and secrets
Create and use ConfigMaps
Create and use secrets
Manage ConfigMaps and secrets (List, Create, Update)
Kubernetes: deploying enterprise applications
Its first deployment
Create, manage, update deployments
Deployment strategies (Recreate, Rollingupdate, Rollout)
Delete a deployment
Deploy enterprise applications
Deploy a web application based on a web service, a database, an in-memory database
Create the Kubernetes service for this app
Deploy the application service
Manage the cluster
During the training exercises and labs allow you to configure and use the different Kubernetes objects using the command line.