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