- Docker started as an internal project at dotcloud and was later open sourced in 2013. It allows for standardized packaging of software and isolates applications from each other while sharing the same OS kernel.
- Containers provide benefits over traditional virtual machines by providing an application-level rather than infrastructure-level construct, resulting in better performance and efficiency.
- Kubernetes is an open source container orchestration platform originally developed by Google that provides self-healing and automated scaling of containerized applications. It abstracts away underlying infrastructure to provide a uniform interface for workloads.
2. DOCKER HISTORY
▪ Started as internal project @ dotcloud
▪ Open Sourced in 2013
▪ Developed in the open
▪ Quiz: Pay Attention to commands
Solomon Hykes run
http://www.taos.com/from-dotcloud-to-docker/
3. Docker exercise I
Run your first container using two container runtimes http://bit.ly/pydata01
- docker
- podman
Objective
- Learn and Be Curious
- Core containers operations from Solomon Hykes lighting talk
- run - images
- history - search ??
8. Docker exercise II
Build your first container http://bit.ly/pydata02
Objective
- How to containerize if you can not find what you want available?
- Prototyping a coding project
- Customizing
- What else?
1- git clone https://github.com/jakewright/tutorials
14. • Standardized packaging for
software and dependencies
• Isolate apps from each other
• Share the same OS kernel
• Works for all major Linux
distributions
• Containers are mostly Linux,
however there is native Windows
containers too.
Recap: What are Docker
containers?
15. Containers are an app
level construct
VMs are an infrastructure level
construct to turn one machine
into many servers
Comparing VMs and Containers
Infrastructure
Libs
App A App B
App C App D
Traditional Bare
Metal servers
16. Containers and VMs together
Containers and VMs together provide a tremendous amount of
flexibility for IT to optimally deploy and manage apps.
19. What are containers?
Containers are processes
born from tarballs
anchored to namespaces
controlled by cgroups
Alice Goldfuss - The Container Operator’s Manual
24. What is Kubernetes?
● Project that was spun out of Google as an open source
container orchestration platform.
● Built from the lessons learned in the experiences of
developing and running Google’s Borg and Omega.
● Designed from the ground-up as a loosely coupled
collection of components centered around deploying,
maintaining and scaling workloads.
26. What Does Kubernetes do?
● Known as the linux kernel of distributed systems.
● Abstracts away the underlying hardware of the
nodes and provides a uniform interface for workloads to
be both deployed and consume the shared pool of
resources.
● Works as an engine for resolving state by converging
actual and the desired state of the system.
27.
28. Decouples Infrastructure and Scaling
● All services within Kubernetes are natively
Load Balanced.
● Can scale up and down dynamically.
● Used both to enable self-healing and
seamless upgrading or rollback of
applications.
29. Self Healing
Kubernetes will ALWAYS try and steer the cluster to its
desired state.
● Me: “I want 3 healthy instances of redis to always be
running.”
● Kubernetes: “Okay, I’ll ensure there are always 3
instances up and running.”
● Kubernetes: “Oh look, one has died. I’m going to
attempt to spin up a new one.”
30. What can Kubernetes REALLY do?
● Autoscale Workloads
● Blue/Green Deployments
● Fire off jobs and scheduled cronjobs
● Manage Stateless and Stateful Applications
● Provide native methods of service discovery
● Easily integrate and support 3rd party apps
32. Who “Manages” Kubernetes?
The CNCF is a child entity of the Linux Foundation and
operates as a vendor neutral governance group.
33. Project Stats
● Over 55,000 stars on Github
● 2000+ Contributors to K8s Core
● Most discussed Repository by a large
margin
● 70,000+ users in Slack Team
07/2019
36. Pods
● Atomic unit or smallest
“unit of work”of Kubernetes.
● Pods are one or MORE
containers that share
volumes, a network
namespace, and are a part
of a single context.
38. Services
● Unified method of accessing
the exposed workloads of Pods.
● Durable resource
○ static cluster IP
○ static namespaced
DNS name
39. Services
● Unified method of accessing
the exposed workloads of Pods.
● Durable resource
○ static cluster IP
○ static namespaced
DNS name
NOT Ephemeral!