From e8eb11e257e5c93e7de5e3e6708efd0d1dc1e392 Mon Sep 17 00:00:00 2001 From: Jerome Petazzoni Date: Fri, 6 Dec 2019 14:43:57 -0600 Subject: [PATCH] Tweak Pods Anatomy slides for inclusion in master --- slides/containers/Pods_Anatomy.md | 47 +++++++++++++++++++++++++++++++ slides/intro-fullday.yml | 2 +- slides/intro-selfpaced.yml | 1 + slides/k8s/Pods_anatomy.md | 27 ------------------ 4 files changed, 49 insertions(+), 28 deletions(-) create mode 100644 slides/containers/Pods_Anatomy.md delete mode 100644 slides/k8s/Pods_anatomy.md diff --git a/slides/containers/Pods_Anatomy.md b/slides/containers/Pods_Anatomy.md new file mode 100644 index 00000000..e5272970 --- /dev/null +++ b/slides/containers/Pods_Anatomy.md @@ -0,0 +1,47 @@ +# Container Super-structure + +- Multiple orchestration platforms support some kind of container super-structure. + + (i.e., a construct or abstraction bigger than a single container.) + +- For instance, on Kubernetes, this super-structure is called a *pod*. + +- A pod is a group of containers (it could be a single container, too). + +- These containers run together, on the same host. + + (A pod cannot straddle multiple hosts.) + +- All the containers in a pod have the same IP address. + +- How does that map to the Docker world? + +--- + +class: pic + +## Anatomy of a Pod + +![Pods](images/kubernetes_pods.svg) + +--- + +## Pods in Docker + +- The containers inside a pod share the same network namespace. + + (Just like when using `docker run --net=container:` with the CLI.) + +- As a result, they can communicate together over `localhost`. + +- In addition to "our" containers, the pod has a special container, the *sandbox*. + +- That container uses a special image: `k8s.gcr.io/pause`. + + (This is visible when listing containers running on a Kubernetes node.) + +- Containers within a pod have independent filesystems. + +- They can share directories by using a mechanism called *volumes.* + + (Which is similar to the concept of volumes in Docker.) diff --git a/slides/intro-fullday.yml b/slides/intro-fullday.yml index 8628bba5..19014fc3 100644 --- a/slides/intro-fullday.yml +++ b/slides/intro-fullday.yml @@ -68,7 +68,7 @@ chapters: #- containers/Containers_From_Scratch.md - - containers/Container_Engines.md - - k8s/Pods_anatomy.md + - containers/Pods_Anatomy.md #- containers/Ecosystem.md - containers/Orchestration_Overview.md - shared/thankyou.md diff --git a/slides/intro-selfpaced.yml b/slides/intro-selfpaced.yml index 14c494b3..26b036ac 100644 --- a/slides/intro-selfpaced.yml +++ b/slides/intro-selfpaced.yml @@ -59,6 +59,7 @@ chapters: - containers/Copy_On_Write.md #- containers/Containers_From_Scratch.md - - containers/Container_Engines.md + - containers/Pods_Anatomy.md - containers/Ecosystem.md - containers/Orchestration_Overview.md - shared/thankyou.md diff --git a/slides/k8s/Pods_anatomy.md b/slides/k8s/Pods_anatomy.md deleted file mode 100644 index 6c4db842..00000000 --- a/slides/k8s/Pods_anatomy.md +++ /dev/null @@ -1,27 +0,0 @@ -# container super-structure (Pods) - -A container super-structure supported by many container engine seems to emerge, -we will see how it maps in the docker worlds - - - ---- -class: pic - -## Pod - -![Pods](images/kubernetes_pods.svg) ---- -# Anatomy of a Pod - -- The containers inside a pod share the network namespace (`--net=container:`) - - => the one of the "pause" containers - -- This means that if the container "pause" is killed all other container are killed - -- This is the reason for this container to do nothing but being alive - -- Containers can contact other container port via `localhost` - -- Containers don't share filesystem except the volumes you want to mount on each of them