Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V2023 1 #42

Open
wants to merge 77 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 48 commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
932521a
update
Samet-MohamedAmin Dec 19, 2022
43cda99
add CRDs chapter
Samet-MohamedAmin Dec 21, 2022
0e8b111
update small changes
Samet-MohamedAmin Dec 21, 2022
0cfdb3b
update kind version
Samet-MohamedAmin Dec 21, 2022
1c359ef
add cloud introduction et k8s best practices chapters
Samet-MohamedAmin Dec 27, 2022
e346b7b
update kind-installation chapter
Samet-MohamedAmin Dec 27, 2022
a2a2356
update
Samet-MohamedAmin Dec 29, 2022
a770a07
update
Samet-MohamedAmin Dec 29, 2022
acaf85d
add section kubernetes components
Samet-MohamedAmin Dec 29, 2022
37fbde5
update
Samet-MohamedAmin Dec 29, 2022
e00b08c
add Problématiques section
Samet-MohamedAmin Dec 29, 2022
17bb708
add Control plane componentes & kubeconfig
Samet-MohamedAmin Dec 29, 2022
416a569
update modules order
Samet-MohamedAmin Dec 29, 2022
c2988d2
update
Samet-MohamedAmin Dec 29, 2022
caceb22
add registry to image name
Samet-MohamedAmin Dec 29, 2022
22690eb
update k8s dashboard link
Samet-MohamedAmin Dec 30, 2022
aa4e885
update speraate chapters deployment and pod
Samet-MohamedAmin Dec 31, 2022
04d54c3
update
Samet-MohamedAmin Dec 31, 2022
7d0d6b1
update
Samet-MohamedAmin Dec 31, 2022
acb3f67
update
Samet-MohamedAmin Jan 1, 2023
bf959ee
update dashboard
Samet-MohamedAmin Jan 1, 2023
847527c
update
Samet-MohamedAmin Jan 1, 2023
83d6fa2
update resources
Samet-MohamedAmin Jan 1, 2023
25066c2
use cluster-admin role
Samet-MohamedAmin Jan 2, 2023
7024cc0
update helm installation
Samet-MohamedAmin Jan 2, 2023
109b8ef
add tp introduction
Samet-MohamedAmin Jan 3, 2023
266614c
fix name
Samet-MohamedAmin Jan 3, 2023
1f682e1
small fixes
Samet-MohamedAmin Jan 3, 2023
5bd0525
small changes
Samet-MohamedAmin Jan 3, 2023
9f77ebf
update
Samet-MohamedAmin Jan 3, 2023
9cb6300
update
Samet-MohamedAmin Jan 3, 2023
dbb850e
update base image
Samet-MohamedAmin Jan 3, 2023
7006817
update
Samet-MohamedAmin Jan 3, 2023
2cb7728
small changes
Samet-MohamedAmin Jan 3, 2023
7b5459a
update adjust values
Samet-MohamedAmin Jan 3, 2023
185eeff
update
Samet-MohamedAmin Jan 3, 2023
93a9969
add secret creation for service account
Samet-MohamedAmin Jan 4, 2023
142126c
add volumes and init containers
Samet-MohamedAmin Jan 4, 2023
0d9d1e4
update conclusion
Samet-MohamedAmin Jan 4, 2023
ccf812a
fix port
Samet-MohamedAmin Jan 4, 2023
08be7b4
fix spaces
Samet-MohamedAmin Jan 4, 2023
334e58e
add kubernetes deploy options
Samet-MohamedAmin Jan 4, 2023
e008c84
add chapter autoscaling
Samet-MohamedAmin Jan 9, 2023
fe9aaa9
remove dashboard
Samet-MohamedAmin Jan 9, 2023
28101c4
update
Samet-MohamedAmin Jan 9, 2023
5b62fa0
add chapter dashboard
Samet-MohamedAmin Jan 9, 2023
295b915
add dashboard section to rbac
Samet-MohamedAmin Jan 9, 2023
a6f9b86
update
Samet-MohamedAmin Jan 9, 2023
5680c53
update fix reviews de Romain
Samet-MohamedAmin Jan 10, 2023
2afd5dc
remove topology key as it is deprecated
Samet-MohamedAmin Jan 10, 2023
b8f0ea4
add cource plan
Samet-MohamedAmin Jan 10, 2023
9709e89
update chapters order
Samet-MohamedAmin Jan 10, 2023
6a1cc89
update
Samet-MohamedAmin Jan 10, 2023
dff54ca
language check
Samet-MohamedAmin Jan 10, 2023
6901dba
fix
Samet-MohamedAmin Jan 11, 2023
545de54
fix
Samet-MohamedAmin Jan 11, 2023
ba94dfa
fix
Samet-MohamedAmin Jan 11, 2023
cc3ca61
update
Samet-MohamedAmin Jan 11, 2023
9d81ae2
update
Samet-MohamedAmin Jan 11, 2023
be5fb5f
fix
Samet-MohamedAmin Jan 11, 2023
4924c15
update course order
Samet-MohamedAmin Jan 11, 2023
623860d
fix
Samet-MohamedAmin Jan 11, 2023
a026311
fix
Samet-MohamedAmin Jan 11, 2023
12a1484
update
Samet-MohamedAmin Jan 11, 2023
2c97ae5
Update conclusion.fr.md
Samet-MohamedAmin Jan 12, 2023
88de91b
fix
Samet-MohamedAmin Jan 12, 2023
59febf9
remove init container part
Samet-MohamedAmin Jan 12, 2023
baa6e49
fix
Samet-MohamedAmin Jan 12, 2023
377527e
update
Samet-MohamedAmin Jan 12, 2023
ff2c94e
fix
Samet-MohamedAmin Jan 12, 2023
6299812
fix spaces
Samet-MohamedAmin Jan 12, 2023
3f00523
update
Samet-MohamedAmin Jan 12, 2023
dd69adc
update ingress controller version
Samet-MohamedAmin Jan 12, 2023
84712df
update spaces
Samet-MohamedAmin Jan 12, 2023
eeadc05
update
Samet-MohamedAmin Jan 12, 2023
004e66e
update
Samet-MohamedAmin Jan 12, 2023
3299f9d
update
Samet-MohamedAmin Jan 16, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 16 additions & 11 deletions cours.json
Original file line number Diff line number Diff line change
Expand Up @@ -111,37 +111,42 @@
"modules": [
"intro-particule",
"copyright",
"general/tp-introduction",
"containers/cloud-introduction",
"containers/containers-introduction",
"containers/containers-runtimes",
"containers/docker-bsr",
"containers/kubernetes/k8s-governance",
"containers/kubernetes/k8s-architecture",
"containers/kubernetes/k8s-core-api-objects",
"containers/kubernetes/k8s-usage",
"containers/kubernetes/k8s-networking",
"containers/kubernetes/k8s-service-mesh",
"containers/kubernetes/k8s-architecture",
"containers/kubernetes/k8s-volumes",
"containers/kubernetes/k8s-workloads-configuration",
"containers/kubernetes/k8s-resources-handling",
"containers/kubernetes/k8s-scheduling",
"containers/kubernetes/k8s-observability-monitoring",
"containers/kubernetes/k8s-usage",
"containers/kubernetes/k8s-helm",
"containers/kubernetes/k8s-operations",
"containers/kubernetes/k8s-helm",
"containers/kubernetes/k8s-where-how",
"containers/kubernetes/k8s-security",
"containers/kubernetes/k8s-service-mesh",
"containers/kubernetes/k8s-crds",
"containers/kubernetes/k8s-best-practices",
"containers/kubernetes/conclusion"
],
"tp": [
"containers/k8s-kubeadm-intro",
"docker/docker-base",
"containers/k8s-kind-install",
"containers/k8s-first-pod",
"containers/k8s-first-deployment",
"containers/k8s-secrets-cm-volumes",
"containers/k8s-rbac",
"containers/k8s-kind-autoscaling",
"containers/k8s-kubeadm-intro",
"containers/k8s-kubeadm-networking",
"containers/k8s-minikube-health",
"containers/k8s-minikube-intro",
"containers/k8s-pods-deployments",
"containers/k8s-helm",
"containers/k8s-scheduling",
"containers/k8s-secrets-cm",
"containers/k8s-rbac"
"containers/k8s-scheduling"
]
},
"conteneurs-ccb": {
Expand Down
65 changes: 65 additions & 0 deletions cours/containers/cloud-introduction.fr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Le Cloud : vue d’ensemble

### Le cloud, c’est large !

- Stockage/calcul distant (on oublie, cf. externalisation)

- Virtualisation++

- Abstraction du matériel (voire plus)

- Accès normalisé par des APIs

- Service et facturation à la demande

- Flexibilité, élasticité

### WaaS : Whatever as a Service

- IaaS : Infrastructure as a Service

- PaaS : Platform as a Service

- DBaaS : Data Base as a Service

- KaaS : Kubernetes as a Service

- SaaS : Software as a Service

### Le cloud en un schéma

![](images/cloud.png){height="400px"}

### Pourquoi du cloud ? Côté technique

- Abstraction des couches basses

- On peut tout programmer à son gré (API)

- Permet la mise en place d’architectures scalables

### Virtualisation dans le cloud

- Le cloud IaaS repose souvent sur la virtualisation

- Ressources compute : virtualisation

- Virtualisation complète

- Virtualisation conteneurs


### Orchestration des ressources ?

- Groupement fonctionnel de ressources : micro services

- Infrastructure as Code : Définir toute une infrastructure dans un seul fichier texte de manière déclarative

- Scalabilité : passer à l'échelle son infrastructure en fonction de différentes métriques.


### Déploiment des application dans le cloud
- Les conteneurs de nos jours sont partout
- L'outil de-facto pour le déploiment des applications basées sur les conteneurs est Kubernetes
- Kubernetes est utilisé partout !

99 changes: 45 additions & 54 deletions cours/containers/containers-introduction.fr.md
Original file line number Diff line number Diff line change
@@ -1,70 +1,61 @@
# Le Cloud : vue d’ensemble
# Les conteneurs : Introduction

### Le cloud, c’est large !

- Stockage/calcul distant (on oublie, cf. externalisation)
### Déploiement des applications

- Virtualisation++
- Cycle de vie d'une application
- Plusieurs environnements:
- local
- test
- production

- Abstraction du matériel (voire plus)
### Déploiement des applications

- Accès normalisé par des APIs
- Chaque environnement est différent des autres:
- système d'exploitation
- dépendances
- configuration
- réseau
- ...
- Des pré-requis
- Conflit éternel entre les devs et les ops: "ça fonctionnait en local !"

- Service et facturation à la demande
### Ere de la virtualisation !
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

accent sur le È


- Flexibilité, élasticité
- Environnement isolé => plus de sécurité
- Création de plusieurs VMs sur la même machine
- Snapshot des VMs
- Portabilité
- Dupliquer les VMs
- S'assurer d'avoir le même comportement n'importe où
- Problème des dépendances/pré-requis

### WaaS : Whatever as a Service
### Problèmes des VMs

- IaaS : Infrastructure as a Service
- Les VMs sont lourds
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lourdes

- Un système d'exploitation !
- La taille d'une VMs est de l'ordre des Go
- Difficulté de partage des VMs
- L'arrêt/relance des VMs prend beaucoup de temps
- Le process de création d'une VM est long

- PaaS : Platform as a Service
### Problèmes des VMs

- SaaS : Software as a Service
- Couche d'hyperviser et allocation des ressources
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hyperviseur

- L'application avec toutes les dépendances sont installés dans une VM
- Pas de séparation des services
- Conflit des dépendances des services

### Le cloud en un schéma
### Les conteneurs !

![](images/cloud.png){height="400px"}
- Sont legers de l'ordre des Mo
- Se connectent directement au kernel du système
- Se lancent rapidement
- Facile à partager
- Signle purpose
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Single


### Pourquoi du cloud ? Côté technique
### VM Vs Conteneurs

- Abstraction des couches basses

- On peut tout programmer à son gré (API)

- Permet la mise en place d’architectures scalables

### Virtualisation dans le cloud

- Le cloud IaaS repose souvent sur la virtualisation

- Ressources compute : virtualisation

- Virtualisation complète : KVM, Xen

- Virtualisation conteneurs : OpenVZ, LXC, Docker, RKT

### Notions et vocabulaire IaaS

- L’instance est par définition éphémère

- Elle doit être utilisée comme ressource de calcul

- Séparer les données des instances

### Orchestration des ressources ?

- Groupement fonctionnel de ressources : micro services

- Infrastructure as Code : Définir toute une infrastructure dans un seul fichier texte de manière déclarative

- Scalabilité : passer à l'échelle son infrastructure en fonction de différentes métriques.

### Positionnement des conteneurs dans l'écosystème Cloud ?

- Facilitent la mise en place de PaaS

- Fonctionnent sur du IaaS ou sur du bare-metal

- Simplifient la décomposition d'applications en micro services
![](./images/virtual-machines-vs-containers.png)
<!-- source: https://dzone.com/articles/container-technologies-overview -->

16 changes: 8 additions & 8 deletions cours/containers/containers-runtimes.fr.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,11 +68,6 @@ CGroup: /

- Contrôle : figer les groupes ou créer un point de sauvegarde et redémarrer.

### Deux philosophies de conteneurs

- *Systeme* : simule une séquence de boot complète avec un init process ainsi que plusieurs processus (LXC, OpenVZ).
- *Process* : un conteneur exécute un ou plusieurs processus directement, en fonction de l'application conteneurisée (Docker, Rkt).

### Encore plus “cloud” qu’une instance

- Partage du kernel
Expand All @@ -87,19 +82,24 @@ CGroup: /

Permettent d'exécuter des conteneurs sur un système

- docker: historique
- docker: container engine - historique

- containerd: implémentation de référence

- podman: container engine - dans les systèmes RHEL

- runc: lightweight container runtime

- cri-o: implémentation Open Source développée par RedHat

- kata containers: Conteneurs dans des VMs
- ...


### Les conteneurs: conclusion

- Fonctionnalités offertes par le Kernel

- Les conteneurs engine fournissent des interfaces d'abstraction

- Plusieurs types de conteneurs pour différents besoins
- Plusieurs types de runtime
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

runtimes


Loading