Travail nouvelle technologie
Published: 2021-02-22 02:09:30

# Explication d'une technologie
Travail fait par : Charles-Antoine Poitras
## Partie Docker

**Exercice #1.13 :**
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j97s6r5gpfbuuz5p4x53.png)
**Exercice 2.7**
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mptitpo973dph85f2d41.png)

## Kubernetes
**Définition**
Kubernetes  est  une  plateforme  libre  de  droits  permettant  l'orchestration  de `containers`. Son  utilisation  permet  d'améliorer  la  productivité  et  d'enlever  certaines  taches  manuelles en  entreprise Cela  permet  donc  d'éviter  des  erreurs  inutiles  et  donc  en, par  exemple, s'occupant  de  la  gestion  de  versions  et  même  des `packages`.  

Kubernetes  offre  des  services  tels  que  la  télémétrie, le  stockage  et  la  mise  en  réseau  qui  permettons  de déployer  des  applications  étendus  sur  plusieurs  conteneurs,  et  ce,  de façon automatisée.  En  bref,  Kubernetes  s'assure  que  l'application  soit  intacte et déployée  de  la  même  façon  partout.

Kubernetes est aussi appelé k8s, puisque entre le `k` et le `s`, il y a 8 lettres.

Le site [redhat.com](https://www.redhat.com/fr/topics/containers/what-is-kubernetes) décrit en 7 étapes le potentiel de Kubernetes : 

> - orchestrer des conteneurs sur plusieurs hôtes;
>  
> - optimiser l'utilisation de votre matériel afin de maximiser les ressources requises pour l'exécution de vos applications d'entreprise;
> - contrôler et automatiser les déploiements et mises à jour d'applications ;
> 
> - monter et ajouter des systèmes de stockage pour exécuter des applications avec état ;
> 
> - mettre à l'échelle des applications conteneurisées et leurs ressources à la volée ;
> - gérer des services de façon déclarative et garantir ainsi que les applications déployées s'exécutent toujours de la manière dont vous les avez déployées ;
> 
>- vérifier l'intégrité de vos applications et les réparer automatiquement grâce au placement, au démarrage, à la réplication et à la mise à l'échelle automatiques.

## Lexique
- Noeuds : Les noeuds sont les machines permettant d'exécuter des tâches attribués.

- Pod(s) : Un pods représente un ou plusieurs container déployé sur une seule machine qui partagent la même adresse IP.

- Master : Le master est le serveur qui contrôle les machines(noeuds) de Kubernetes.

- Image : Les images sont des instances stockée d'un conteneur qui contient l'ensemble des logiciels requis pour l'installation d'un application.

- KubeCtl : Kubectl est la commande de base de kubernetes permmettant de communiquer avec les serveurs kubernetes.

- Service : Un service est une manière abraite d'exposer une application s'exécutant sur un ensemble de Pods.

- Kubelet : Un service s'exécutant sur des noeuds(machines) s'assurant que les containers se sont exécutés.

- Workload : Un Workload est une application exécuté sur Kubernetes.(DaemonSet, Deployment, Job, ReplicaSet et StatefulSet)

## Les tutoriels
1. [Tutoriel indiens](https://www.youtube.com/watch?v=z8U2x1TCPis&ab_channel=Samjhana) Les tutoriels les plus connus des programmeurs. Sérieusement le tutoriel est plutôt vite et fonctionne comme il se doit.(Tutoriel que j'ai utilisé)
2. [Kubernetes.io](https://kubernetes.io/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive/) Tutoriel sur le site officiel de Kubernetes
3. [TechWorldwithNana](https://www.youtube.com/watch?v=X48VuDVv0do&ab_channel=TechWorldwithNana) Tutoriel complet sur les bases de Kubernetes (3h36)
**Ma démo**
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/exxkvbas6qd9mx6wjhha.png)![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/shsbf1jay2y050093v3i.png)![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sy5mwmray9s9jyulp4vu.png)![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b9o0153f4hlo7z85p7jf.png)![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4ygcqklxzrtq1xjdw0ae.png)