Orchestration of docker containers at scale
-
Upload
yeshwanth-kumar -
Category
Software
-
view
76 -
download
3
Transcript of Orchestration of docker containers at scale
![Page 1: Orchestration of docker containers at scale](https://reader036.fdocuments.net/reader036/viewer/2022071923/55d16dc6bb61ebc83b8b4725/html5/thumbnails/1.jpg)
Orchestration of docker containers at scale
Yeshwanth KumarPlatform EngineerMegam Systems
![Page 2: Orchestration of docker containers at scale](https://reader036.fdocuments.net/reader036/viewer/2022071923/55d16dc6bb61ebc83b8b4725/html5/thumbnails/2.jpg)
Agenda
1. what is docker?2. Docker clustering with
swarm3. Deployment methods4. Some code5. Demo
![Page 3: Orchestration of docker containers at scale](https://reader036.fdocuments.net/reader036/viewer/2022071923/55d16dc6bb61ebc83b8b4725/html5/thumbnails/3.jpg)
What is docker?!?
Docker is an open platform for building, shipping and running distributed applications. It gives programmers, development teams and operations engineers the common toolbox they need to take advantage of the distributed and networked nature of modern applications.
Note:
● build, ship and run distributed applications
● common toolbox for all - dev, test, prod
![Page 4: Orchestration of docker containers at scale](https://reader036.fdocuments.net/reader036/viewer/2022071923/55d16dc6bb61ebc83b8b4725/html5/thumbnails/4.jpg)
Container vs VM
VM Containers
![Page 5: Orchestration of docker containers at scale](https://reader036.fdocuments.net/reader036/viewer/2022071923/55d16dc6bb61ebc83b8b4725/html5/thumbnails/5.jpg)
Why use docker?!?
- Development environment is same as prod environment
- Develop with docker - No dependency hell
- Deployment is a breeze
- Lightweight
- High portability
- Microservices
![Page 6: Orchestration of docker containers at scale](https://reader036.fdocuments.net/reader036/viewer/2022071923/55d16dc6bb61ebc83b8b4725/html5/thumbnails/6.jpg)
Swarm - Introduction
● Native clustering service
● container scheduling made easy
● scales well
● Works with all existing Docker Tools
![Page 7: Orchestration of docker containers at scale](https://reader036.fdocuments.net/reader036/viewer/2022071923/55d16dc6bb61ebc83b8b4725/html5/thumbnails/7.jpg)
Clustering with swarm
1. Swarm Master● Create cluster● Start swarm master● Join nodes
2. Swarm Node(s)● Run docker engine
in daemon mode● Make sure all nodes
are joined
$swarm create$swarm manage $swarm join
$docker -H <nodeIP>:2375 -d $docker -H <nodeIP>:2375 -d
SwarmMaster
Node Node
![Page 8: Orchestration of docker containers at scale](https://reader036.fdocuments.net/reader036/viewer/2022071923/55d16dc6bb61ebc83b8b4725/html5/thumbnails/8.jpg)
Clustering with swarm
megam cloud
platform
Host 1
Host 2
Host 3
service discovery
docker API
Op
en
VS
witch
logs & monitoring
Registries(docker hub or quay)
![Page 9: Orchestration of docker containers at scale](https://reader036.fdocuments.net/reader036/viewer/2022071923/55d16dc6bb61ebc83b8b4725/html5/thumbnails/9.jpg)
megam PaaS engine
Docker Provisioner Baremetal
DockerBox (containers inside a VM)
//docker remote API works with swarm
client, _ := docker.NewClient(endpoint)
container, conerr := client.CreateContainer(copts)if conerr != nil {
log.Error("Container creation failed : %s", conerr)return &global.Container{}, conerr
}
Docker Remote API
![Page 10: Orchestration of docker containers at scale](https://reader036.fdocuments.net/reader036/viewer/2022071923/55d16dc6bb61ebc83b8b4725/html5/thumbnails/10.jpg)
Demo time
![Page 11: Orchestration of docker containers at scale](https://reader036.fdocuments.net/reader036/viewer/2022071923/55d16dc6bb61ebc83b8b4725/html5/thumbnails/11.jpg)
Questions?Yeshwanth Kumar
Platform EngineerMegam Systems(www.megam.io)
Twitter: @morpheyeshEmail: [email protected]
Docs: docs.megam.ioDevcenter: devcenter.megam.io