SlideShare a Scribd company logo
1 of 22
Container Orchestration
With Docker Swarm and Kubernetes
Will Hall
DevOps and Digital Architect
Container Orchestration
Orchestration probably exists to do two main things:
1. Resource Utilization
2. Scaling/healing
Provisioning, deployment and
integration between containers.
Orchestration Systems
There are a number of ways to do orchestration:
1. Kubernetes
2. Docker Swarm
3. Mesos
4. Nomad
5. Amazon ECS
Managing your platform as a cluster
You have a number of machines, they theoretically can act as 1 total machine (and you
add/remove nodes as the workload determines).
Kubernetes
Pros:
● Large, healthy ecosystem
● PaaS provided by GCP, Amazon, Azure, DigitalOcean
● Future of software delivery??
Cons:
● Complex management
● New tooling
Docker Swarm
Pros:
● Simple setup
● Simpler management (than Kubernetes)
Cons:
● No PaaS (Docker Enterprise?)
● Scale issues
● Vendor support
Amazon ECS
Pros:
● PaaS
● Integration with Amazon toolsets
Cons:
● Vendor lock-in
● Limited community support
Here is where I hit you
with an orchestration
dictionary
Docker Swarm
Docker Swarm Terms: Swarm and Service
Swarm. Like a cluster in Kubernetes, a swarm is a set of nodes with at least one master
node and several worker nodes that can be virtual or physical machines.
Service. A service is the tasks a manager or agent nodes must perform on the swarm, as
defined by a swarm administrator. A service defines which container images the swarm
should use and which commands the swarm will run in each container. A service in this
context is analogous to a microservice; for example, it’s where you’d define
configuration parameters for an nginx web server running in your swarm. You also
define parameters for replicas in the service definition.
Docker Swarm Terms: Manager, Worker and
Task
Manager node. When you deploy an application into a swarm, the manager node provides several functions: it
delivers work (in the form of tasks) to worker nodes, and it also manages the state of the swarm to which it
belongs. The manager node can run the same services worker nodes do, but you can also configure them to only
run manager node-related services.
Worker nodes. These nodes run tasks distributed by the manager node in the swarm. Each worker node runs an
agent that reports back to the master node about the state of the tasks assigned to it, so the manager node can
keep track of services and tasks running in the swarm.
Task. Tasks are Docker containers that execute the commands you defined in the service. Manager nodes assign
tasks to worker nodes, and after this assignment, the task cannot be moved to another worker. If the task fails in
a replica set, the manager will assign a new version of that task to another available node in the swarm.
Docker Swarm Tools: Docker/Docker
Compose
If you can use Docker and Docker Compose, you can deploy and manage things inside
Docker Swarm. It is the same toolset!
Let’s play
You can come back and look at these some other time.
https://play-with-docker.com
Kubernetes
Kubernetes Terms: Master and Kubelet
Kubernetes master. The master manages the scheduling and deployment of
application instances across nodes, and the full set of services the master node runs is
known as the control plane. The master communicates with nodes through the
Kubernetes API server. The scheduler assigns nodes to pods (one or more containers)
depending on the resource and policy constraints you’ve defined.
Kubelet. Each Kubernetes node runs an agent process called a kubelet that’s
responsible for managing the state of the node: starting, stopping, and maintaining
application containers based on instructions from the control plane. A kubelet receives
all of its information from the Kubernetes API server.
Kubernetes Terms: Pods and Deployments...
Pods. The basic scheduling unit, which consists of one or more containers guaranteed
to be co-located on the host machine and able to share resources. Each pod is assigned
a unique IP address within the cluster, allowing the application to use ports without
conflict. You describe the desired state of the containers in a pod through a YAML or
JSON object called a PodSpec. These objects are passed to the kubelet through the API
server
Deployments, replicas, and ReplicaSets. A deployment is a YAML object that defines
the pods and the number of container instances, called replicas, for each pod. You
define the number of replicas you want to have running in the cluster via a ReplicaSet,
which is part of the deployment object.
Kubernetes Tools: kubeadm/kubectl
You use kubeadm to administer your Kubernetes cluster
You can use kubectl to deploy applications, inspect and manage cluster resources, and
view logs.
Kubernetes Tools: Networking
Networking is a central part of Kubernetes, but it can be challenging to understand
exactly how it is expected to work. There are 4 distinct networking problems to
address:
1. Highly-coupled container-to-container communications
2. Pod-to-Pod communications
3. Pod-to-Service communications
4. External-to-Service communications
Kubernetes Tools: Helm
Helm helps you manage Kubernetes applications — Helm Charts help you define,
install, and upgrade even the most complex Kubernetes application.
Helm Charts are easy to create, version, share, and publish — so start using Helm and
stop the copy-and-paste.
Let’s play
You can come back and look at these some other time.
https://play-with-k8s.com
Takeaways
● Orchestration is both efficient and cost-saving
● It can deliver significant scaling and healing potential
● Choose the right solution for your problem

More Related Content

What's hot

DevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to KubernetesDevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to KubernetesRonny Trommer
 
Docker introduction
Docker introductionDocker introduction
Docker introductionPhuc Nguyen
 
Docker Swarm 0.2.0
Docker Swarm 0.2.0Docker Swarm 0.2.0
Docker Swarm 0.2.0Docker, Inc.
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetesDr Ganesh Iyer
 
Container orchestration overview
Container orchestration overviewContainer orchestration overview
Container orchestration overviewWyn B. Van Devanter
 
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Simplilearn
 
Kubernetes Monitoring & Best Practices
Kubernetes Monitoring & Best PracticesKubernetes Monitoring & Best Practices
Kubernetes Monitoring & Best PracticesAjeet Singh Raina
 
Introduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopBob Killen
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker IntroductionPeng Xiao
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetesMichal Cwienczek
 
Docker Networking Overview
Docker Networking OverviewDocker Networking Overview
Docker Networking OverviewSreenivas Makam
 
Kubernetes - introduction
Kubernetes - introductionKubernetes - introduction
Kubernetes - introductionSparkbit
 
An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to KubernetesImesh Gunaratne
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...Edureka!
 

What's hot (20)

Intro to kubernetes
Intro to kubernetesIntro to kubernetes
Intro to kubernetes
 
DevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to KubernetesDevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to Kubernetes
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Docker Swarm 0.2.0
Docker Swarm 0.2.0Docker Swarm 0.2.0
Docker Swarm 0.2.0
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetes
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Container orchestration overview
Container orchestration overviewContainer orchestration overview
Container orchestration overview
 
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
 
Kubernetes Monitoring & Best Practices
Kubernetes Monitoring & Best PracticesKubernetes Monitoring & Best Practices
Kubernetes Monitoring & Best Practices
 
What Is Helm
 What Is Helm What Is Helm
What Is Helm
 
Introduction to helm
Introduction to helmIntroduction to helm
Introduction to helm
 
Introduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes Workshop
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Docker Networking Overview
Docker Networking OverviewDocker Networking Overview
Docker Networking Overview
 
Kubernetes - introduction
Kubernetes - introductionKubernetes - introduction
Kubernetes - introduction
 
An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to Kubernetes
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
 

Similar to Container Orchestration with Docker Swarm and Kubernetes

Kubernetes Architecture with Components
 Kubernetes Architecture with Components Kubernetes Architecture with Components
Kubernetes Architecture with ComponentsAjeet Singh
 
Kubernetes Immersion
Kubernetes ImmersionKubernetes Immersion
Kubernetes ImmersionJuan Larriba
 
Kubernetes-Fundamentals.pptx
Kubernetes-Fundamentals.pptxKubernetes-Fundamentals.pptx
Kubernetes-Fundamentals.pptxsatish642065
 
KubernetesPPT.pptx
KubernetesPPT.pptxKubernetesPPT.pptx
KubernetesPPT.pptxRyuzaki360
 
Getting started with google kubernetes engine
Getting started with google kubernetes engineGetting started with google kubernetes engine
Getting started with google kubernetes engineShreya Pohekar
 
Kubernetes #1 intro
Kubernetes #1   introKubernetes #1   intro
Kubernetes #1 introTerry Cho
 
Google Cloud Platform Kubernetes Workshop IYTE
Google Cloud Platform Kubernetes Workshop IYTEGoogle Cloud Platform Kubernetes Workshop IYTE
Google Cloud Platform Kubernetes Workshop IYTEGokhan Boranalp
 
Containers kuberenetes
Containers kuberenetesContainers kuberenetes
Containers kuberenetescsegayan
 
Kubernetes From Scratch .pdf
Kubernetes From Scratch .pdfKubernetes From Scratch .pdf
Kubernetes From Scratch .pdfssuser9b44c7
 
Newesis - Introduction to Containers
Newesis -  Introduction to ContainersNewesis -  Introduction to Containers
Newesis - Introduction to ContainersRauno De Pasquale
 
Kubernetes 101 for Beginners
Kubernetes 101 for BeginnersKubernetes 101 for Beginners
Kubernetes 101 for BeginnersOktay Esgul
 
What is the Difference Between Kubernetes and Docker?
What is the Difference Between Kubernetes and Docker?What is the Difference Between Kubernetes and Docker?
What is the Difference Between Kubernetes and Docker?Ravendra Singh
 
aks_training_document_Azure_kuberne.pptx
aks_training_document_Azure_kuberne.pptxaks_training_document_Azure_kuberne.pptx
aks_training_document_Azure_kuberne.pptxWaseemShare
 

Similar to Container Orchestration with Docker Swarm and Kubernetes (20)

Kubernetes Architecture with Components
 Kubernetes Architecture with Components Kubernetes Architecture with Components
Kubernetes Architecture with Components
 
Kubernetes Immersion
Kubernetes ImmersionKubernetes Immersion
Kubernetes Immersion
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Kubernetes-Fundamentals.pptx
Kubernetes-Fundamentals.pptxKubernetes-Fundamentals.pptx
Kubernetes-Fundamentals.pptx
 
KubernetesPPT.pptx
KubernetesPPT.pptxKubernetesPPT.pptx
KubernetesPPT.pptx
 
Getting started with google kubernetes engine
Getting started with google kubernetes engineGetting started with google kubernetes engine
Getting started with google kubernetes engine
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Kubernetes #1 intro
Kubernetes #1   introKubernetes #1   intro
Kubernetes #1 intro
 
Containers kuberenetes
Containers kuberenetesContainers kuberenetes
Containers kuberenetes
 
Containers kuberenetes
Containers kuberenetesContainers kuberenetes
Containers kuberenetes
 
Google Cloud Platform Kubernetes Workshop IYTE
Google Cloud Platform Kubernetes Workshop IYTEGoogle Cloud Platform Kubernetes Workshop IYTE
Google Cloud Platform Kubernetes Workshop IYTE
 
Containers kuberenetes
Containers kuberenetesContainers kuberenetes
Containers kuberenetes
 
Kubernetes From Scratch .pdf
Kubernetes From Scratch .pdfKubernetes From Scratch .pdf
Kubernetes From Scratch .pdf
 
Newesis - Introduction to Containers
Newesis -  Introduction to ContainersNewesis -  Introduction to Containers
Newesis - Introduction to Containers
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Kubernetes 101 for Beginners
Kubernetes 101 for BeginnersKubernetes 101 for Beginners
Kubernetes 101 for Beginners
 
What is the Difference Between Kubernetes and Docker?
What is the Difference Between Kubernetes and Docker?What is the Difference Between Kubernetes and Docker?
What is the Difference Between Kubernetes and Docker?
 
aks_training_document_Azure_kuberne.pptx
aks_training_document_Azure_kuberne.pptxaks_training_document_Azure_kuberne.pptx
aks_training_document_Azure_kuberne.pptx
 
Kubernetes
KubernetesKubernetes
Kubernetes
 

More from Will Hall

Accelerating Infrastructure as Code with CI in AWS.
Accelerating Infrastructure as Code with CI in AWS.Accelerating Infrastructure as Code with CI in AWS.
Accelerating Infrastructure as Code with CI in AWS.Will Hall
 
GitLab, AWS and Terraform: The Perfect Combination
GitLab, AWS and Terraform: The Perfect CombinationGitLab, AWS and Terraform: The Perfect Combination
GitLab, AWS and Terraform: The Perfect CombinationWill Hall
 
Front Page of Hacker News with GitLab Pages
Front Page of Hacker News with GitLab PagesFront Page of Hacker News with GitLab Pages
Front Page of Hacker News with GitLab PagesWill Hall
 
Solving IoT Hardware Issues With Docker
Solving IoT Hardware Issues With DockerSolving IoT Hardware Issues With Docker
Solving IoT Hardware Issues With DockerWill Hall
 
DevSecOps and Drupal: Securing your applications in a modern IT landscape
DevSecOps and Drupal: Securing your applications in a modern IT landscapeDevSecOps and Drupal: Securing your applications in a modern IT landscape
DevSecOps and Drupal: Securing your applications in a modern IT landscapeWill Hall
 
Docker Compose: Docker Configuration for the Real World
Docker Compose:  Docker Configuration for the Real WorldDocker Compose:  Docker Configuration for the Real World
Docker Compose: Docker Configuration for the Real WorldWill Hall
 
Docker Command Line, Using and Choosing containers
Docker Command Line, Using and Choosing containers Docker Command Line, Using and Choosing containers
Docker Command Line, Using and Choosing containers Will Hall
 
DockerCon Copenhagen,What Happened?!
DockerCon Copenhagen,What Happened?!DockerCon Copenhagen,What Happened?!
DockerCon Copenhagen,What Happened?!Will Hall
 
Docker DevTools: Docker as part of your development toolset
Docker DevTools: Docker as part of your development toolsetDocker DevTools: Docker as part of your development toolset
Docker DevTools: Docker as part of your development toolsetWill Hall
 
Wordpress Up and Running
Wordpress Up and RunningWordpress Up and Running
Wordpress Up and RunningWill Hall
 
Rules for Fools: The Rules Module
Rules for Fools: The Rules ModuleRules for Fools: The Rules Module
Rules for Fools: The Rules ModuleWill Hall
 
Things i wish i knew about drupal commerce
Things i wish i knew about drupal commerceThings i wish i knew about drupal commerce
Things i wish i knew about drupal commerceWill Hall
 
Upgrading migration and moving house
Upgrading migration and moving houseUpgrading migration and moving house
Upgrading migration and moving houseWill Hall
 
Drupal 7 migration
Drupal 7 migrationDrupal 7 migration
Drupal 7 migrationWill Hall
 
Open Source Content Management Systems for Small and Medium Businesses, Chari...
Open Source Content Management Systems for Small and Medium Businesses, Chari...Open Source Content Management Systems for Small and Medium Businesses, Chari...
Open Source Content Management Systems for Small and Medium Businesses, Chari...Will Hall
 
Migration to Drupal
Migration to DrupalMigration to Drupal
Migration to DrupalWill Hall
 

More from Will Hall (16)

Accelerating Infrastructure as Code with CI in AWS.
Accelerating Infrastructure as Code with CI in AWS.Accelerating Infrastructure as Code with CI in AWS.
Accelerating Infrastructure as Code with CI in AWS.
 
GitLab, AWS and Terraform: The Perfect Combination
GitLab, AWS and Terraform: The Perfect CombinationGitLab, AWS and Terraform: The Perfect Combination
GitLab, AWS and Terraform: The Perfect Combination
 
Front Page of Hacker News with GitLab Pages
Front Page of Hacker News with GitLab PagesFront Page of Hacker News with GitLab Pages
Front Page of Hacker News with GitLab Pages
 
Solving IoT Hardware Issues With Docker
Solving IoT Hardware Issues With DockerSolving IoT Hardware Issues With Docker
Solving IoT Hardware Issues With Docker
 
DevSecOps and Drupal: Securing your applications in a modern IT landscape
DevSecOps and Drupal: Securing your applications in a modern IT landscapeDevSecOps and Drupal: Securing your applications in a modern IT landscape
DevSecOps and Drupal: Securing your applications in a modern IT landscape
 
Docker Compose: Docker Configuration for the Real World
Docker Compose:  Docker Configuration for the Real WorldDocker Compose:  Docker Configuration for the Real World
Docker Compose: Docker Configuration for the Real World
 
Docker Command Line, Using and Choosing containers
Docker Command Line, Using and Choosing containers Docker Command Line, Using and Choosing containers
Docker Command Line, Using and Choosing containers
 
DockerCon Copenhagen,What Happened?!
DockerCon Copenhagen,What Happened?!DockerCon Copenhagen,What Happened?!
DockerCon Copenhagen,What Happened?!
 
Docker DevTools: Docker as part of your development toolset
Docker DevTools: Docker as part of your development toolsetDocker DevTools: Docker as part of your development toolset
Docker DevTools: Docker as part of your development toolset
 
Wordpress Up and Running
Wordpress Up and RunningWordpress Up and Running
Wordpress Up and Running
 
Rules for Fools: The Rules Module
Rules for Fools: The Rules ModuleRules for Fools: The Rules Module
Rules for Fools: The Rules Module
 
Things i wish i knew about drupal commerce
Things i wish i knew about drupal commerceThings i wish i knew about drupal commerce
Things i wish i knew about drupal commerce
 
Upgrading migration and moving house
Upgrading migration and moving houseUpgrading migration and moving house
Upgrading migration and moving house
 
Drupal 7 migration
Drupal 7 migrationDrupal 7 migration
Drupal 7 migration
 
Open Source Content Management Systems for Small and Medium Businesses, Chari...
Open Source Content Management Systems for Small and Medium Businesses, Chari...Open Source Content Management Systems for Small and Medium Businesses, Chari...
Open Source Content Management Systems for Small and Medium Businesses, Chari...
 
Migration to Drupal
Migration to DrupalMigration to Drupal
Migration to Drupal
 

Recently uploaded

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 

Recently uploaded (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

Container Orchestration with Docker Swarm and Kubernetes

  • 1. Container Orchestration With Docker Swarm and Kubernetes Will Hall DevOps and Digital Architect
  • 2. Container Orchestration Orchestration probably exists to do two main things: 1. Resource Utilization 2. Scaling/healing
  • 4. Orchestration Systems There are a number of ways to do orchestration: 1. Kubernetes 2. Docker Swarm 3. Mesos 4. Nomad 5. Amazon ECS
  • 5. Managing your platform as a cluster You have a number of machines, they theoretically can act as 1 total machine (and you add/remove nodes as the workload determines).
  • 6. Kubernetes Pros: ● Large, healthy ecosystem ● PaaS provided by GCP, Amazon, Azure, DigitalOcean ● Future of software delivery?? Cons: ● Complex management ● New tooling
  • 7. Docker Swarm Pros: ● Simple setup ● Simpler management (than Kubernetes) Cons: ● No PaaS (Docker Enterprise?) ● Scale issues ● Vendor support
  • 8. Amazon ECS Pros: ● PaaS ● Integration with Amazon toolsets Cons: ● Vendor lock-in ● Limited community support
  • 9. Here is where I hit you with an orchestration dictionary
  • 11. Docker Swarm Terms: Swarm and Service Swarm. Like a cluster in Kubernetes, a swarm is a set of nodes with at least one master node and several worker nodes that can be virtual or physical machines. Service. A service is the tasks a manager or agent nodes must perform on the swarm, as defined by a swarm administrator. A service defines which container images the swarm should use and which commands the swarm will run in each container. A service in this context is analogous to a microservice; for example, it’s where you’d define configuration parameters for an nginx web server running in your swarm. You also define parameters for replicas in the service definition.
  • 12. Docker Swarm Terms: Manager, Worker and Task Manager node. When you deploy an application into a swarm, the manager node provides several functions: it delivers work (in the form of tasks) to worker nodes, and it also manages the state of the swarm to which it belongs. The manager node can run the same services worker nodes do, but you can also configure them to only run manager node-related services. Worker nodes. These nodes run tasks distributed by the manager node in the swarm. Each worker node runs an agent that reports back to the master node about the state of the tasks assigned to it, so the manager node can keep track of services and tasks running in the swarm. Task. Tasks are Docker containers that execute the commands you defined in the service. Manager nodes assign tasks to worker nodes, and after this assignment, the task cannot be moved to another worker. If the task fails in a replica set, the manager will assign a new version of that task to another available node in the swarm.
  • 13. Docker Swarm Tools: Docker/Docker Compose If you can use Docker and Docker Compose, you can deploy and manage things inside Docker Swarm. It is the same toolset!
  • 14. Let’s play You can come back and look at these some other time. https://play-with-docker.com
  • 16. Kubernetes Terms: Master and Kubelet Kubernetes master. The master manages the scheduling and deployment of application instances across nodes, and the full set of services the master node runs is known as the control plane. The master communicates with nodes through the Kubernetes API server. The scheduler assigns nodes to pods (one or more containers) depending on the resource and policy constraints you’ve defined. Kubelet. Each Kubernetes node runs an agent process called a kubelet that’s responsible for managing the state of the node: starting, stopping, and maintaining application containers based on instructions from the control plane. A kubelet receives all of its information from the Kubernetes API server.
  • 17. Kubernetes Terms: Pods and Deployments... Pods. The basic scheduling unit, which consists of one or more containers guaranteed to be co-located on the host machine and able to share resources. Each pod is assigned a unique IP address within the cluster, allowing the application to use ports without conflict. You describe the desired state of the containers in a pod through a YAML or JSON object called a PodSpec. These objects are passed to the kubelet through the API server Deployments, replicas, and ReplicaSets. A deployment is a YAML object that defines the pods and the number of container instances, called replicas, for each pod. You define the number of replicas you want to have running in the cluster via a ReplicaSet, which is part of the deployment object.
  • 18. Kubernetes Tools: kubeadm/kubectl You use kubeadm to administer your Kubernetes cluster You can use kubectl to deploy applications, inspect and manage cluster resources, and view logs.
  • 19. Kubernetes Tools: Networking Networking is a central part of Kubernetes, but it can be challenging to understand exactly how it is expected to work. There are 4 distinct networking problems to address: 1. Highly-coupled container-to-container communications 2. Pod-to-Pod communications 3. Pod-to-Service communications 4. External-to-Service communications
  • 20. Kubernetes Tools: Helm Helm helps you manage Kubernetes applications — Helm Charts help you define, install, and upgrade even the most complex Kubernetes application. Helm Charts are easy to create, version, share, and publish — so start using Helm and stop the copy-and-paste.
  • 21. Let’s play You can come back and look at these some other time. https://play-with-k8s.com
  • 22. Takeaways ● Orchestration is both efficient and cost-saving ● It can deliver significant scaling and healing potential ● Choose the right solution for your problem

Editor's Notes

  1. 1. Initializes cluster master node: kubeadm init --apiserver-advertise-address $(hostname -i) 2. Initialize cluster networking: kubectl apply -n kube-system -f \ "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"