SlideShare a Scribd company logo
1 of 47
Download to read offline
Artem Zhurbila
artemzhurbilo@gmail.com
Solit2015#5
Agenda
1. Base concepts of cluster
management and docker
2. Docker Swarm
3. Amazon EC2 Container Service
4. Kubernetes
5. Mesosphere
2
3
4
5
6
Docker is awesome on a single host, but ....
● Single point of failure
■ high availability
● Limited resources (CPU, RAM)
■ scalability
7
Cluster
Multiple nodes viewed as a
single system.
Docker cluster components
● Resource and node container manager
● Scheduler
● Service discovery (consul, etcd, zookeeper, DNS + srv)
● Overlay network (flannel, weave, socketplane)
8
Docker cluster management tools
1. Docker Swarm
2. Amazon EC2 Container Service (ECS)
3. Kubernetes (k8s)
4. Mesosphere
9
Docker Swarm
Docker-native clustering
system
10
11
12
Swarm / scheduling strategies
1. BinPacking - CPU and
RAM available and will
return the node the most
packed already
2. Random
13
Swarm / scheduling filters
14
1. Constraint
a. key/value - support glob and regexp
b. dockerinfo
2. Affinity
a. containers
b. images
3. Dependency
a. Shared volumes (--volumes-from)
b. Links (--link)
c. Shared network stack (--net)
4. Port
5. Health
Swarm / service discovery
Providers:
1. token (docker hub service)
2. file
3. etcd
4. consul
5. zookeeper
15
Setup Swarm cluster manually
1 step: install >= 1.4.0 docker
2 step: change /etc/default/docker file to listen tcp
DOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock"
3 step: create certificates and configure TLS (optional)
4 step: docker pull swarm
5 step: docker run --rm swarm create
generate unique cluster_id for using docker hub discovery service
6 step: docker run -d swarm join --addr=<node_ip:2375> token://<cluster_id>
run this command on all hosts
7 step: docker run -d -p <swarm_port>:2375 swarm manage token://<cluster_id>
start the Swarm Master
8 step: export DOCKER_HOST=tcp://<swarm_ip>:<swarm_port>
9 step: use your usual docker commands :-)
16
#1 Setup cluster on AWS by Docker Machine
1 step: download Docker-machine and add it to PATH
https://docs.docker.com/machine/#installation
2 step: run command to create Swarm Master
docker-machine create -d amazonec2 --swarm --swarm-master 
--swarm-discovery=token://<generated_cluster_id> 
--amazonec2-access-key=***** 
--amazonec2-ami=ami-823686f5 
--amazonec2-instance-type=t2.micro 
--amazonec2-region=eu-west-1 
--amazonec2-root-size=10 
--amazonec2-secret-key=***** 
--amazonec2-security-group=my 
--amazonec2-vpc-id=default 
swarm-master
17
#2 Setup cluster on AWS by Docker Machine
3 step: run command (like in step 2 but without --swarm-
master key) to create Swarm Slave
docker-machine create -d amazonec2 --swarm 
--swarm-discovery=token://<generated_cluster_id> 
….
swarm-slave-01
4 step: export DOCKER_HOST=tcp://<swarm_ip>:<swarm_port>
5 step: use your usual docker commands or Docker-
compose :-)
18
Swarm / conclusion
+ standard Docker API
+ extremely easy to get started
- many features are not implemented “yet”
(multi-master, multi-host network, failover)
DOCKER MACHINE + SWARM + COMPOSE
=
19
Amazon EC2 Container Service (preview)
ECS is available in the US East (N. Virginia) and the US
West (Oregon) region during the preview.
20
ECS key concepts
Cluster - a logical grouping of container instances
Container Instance - EC2 instance that is running the ECS
agent and has been registered into a cluster.
Task Definition - a description of an application (json) - lists
of containers grouped together.
Task - task definition that is running on a container instance.
21
#1 Setup ECS cluster
step 1: create IAM role that allows
EC2 use ECS service.
step 2: install awscli > 1.7
step 3: change region in ~/.
aws/config
[default]
output = json
region = us-east-1
22
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecs:CreateCluster",
"ecs:RegisterContainerInstance",
"ecs:
DeregisterContainerInstance",
"ecs:DiscoverPollEndpoint",
"ecs:Submit*",
"ecs:Poll"
],
"Resource": [
"*"
]
}
]
}
#2 Setup ECS cluster
step 3: run command to create cluster (Your account is
limited to 2 clusters):
aws ecs create-cluster --cluster-name MyCluster
step 4: create user data script init_script.sh
#!/bin/bash
echo ECS_CLUSTER=MyCluster >> /etc/ecs/ecs.config
step 5: create 3 EC2 instances in cluster
aws ec2 run-instances --image-id ami-801544e8 --count 3 --instance-type t2.
micro --key-name <public_key> --security-groups <sec_group> --user-data
file://init_script.sh --iam-instance-profile Name=<IAM role name>
23
24
#3 Setup ECS cluster
step 6: Create task definition:
- nginx_def.json
step 7: register definition:
aws ecs register-task-definition --cli-
input-json file://nginx_def.json
step 8: run a task:
aws ecs run-task --cluster MyCluster --
task-definition test_nginx
25
{
"containerDefinitions": [
{
"name": "nginx",
"image": "nginx",
"cpu": 200,
"memory": 100,
"portMappings": [
{
"containerPort": 80,
"hostPort": 80
}
],
"essential": true
}
],
"family": "test_nginx"
}
If we stop this EC2 instance, task with nginx container will
be resheduled (failover) to another hosts in cluster!
26
EC2 Container Service / conclusion
+ Use ECS we don’t need to administrate Master nodes. High
availability of ECS is responsibility of AWS engineers.
- I have not found how to integrate with ELB, Autoscale and other
Amazon services (may be it’s under development now)
27
Kubernetes (k8s)
28
Kubernetes (k8s) key concepts
Node - worker machine in Kubernetes (previously known as
Minion)
Pod - the smallest unit - colocated group of Docker containers.
Label - key-value tag
Replication controller - ensures that a specified number of pod
"replicas" are running at any one time
Service - provide a single, stable name and address for a set of
pods. They act as basic load balancers.
29
30
Kubernetes / monitoring - Heapster
Heapster enables monitoring of clusters using cAdvisor.
31
#1 Kubernetes / Setup on AWS
step 1: install aws cli and k8s
step 2: check your aws creds in ~/.
aws/credentials
step 3: add env vars:
export PATH=$PATH:
<path_to_untar_k8s_directory>/platforms/<os>/<platform>
export PATH=$PATH:<path_to_untar_k8s_directory>/cluster
export KUBERNETES_PROVIDER=aws
step 4: create ‘kubernetes’ IAM role with
EC2FullAccess
32
#2 Kubernetes / Setup on AWS
step 5: up the cluster (it takes about 5 minutes) kube-up.sh
- script will provision a new VPC, 1 master and 4 node (minions) in us-west-2 (Oregon).
- create a keypair called "kubernetes" as well as reuse an IAM role also called "kubernetes"
- create S3 bucket ‘kubernetes-staging-***’ and upload Salt provision scripts
- create CAFile, CertFile, KeyFile on your local computer
At the end of the script execution you see the URL of k8s master
33
#3 Kubernetes / Setup on AWS
step 6: export KUBERNETES_MASTER=https://<generated_url_from_step_5>
Now cluster is ready and we can manipulate this one by kubectl
Then you can see examples of replication controllers and services in
kubernetes git repo
https://github.com/GoogleCloudPlatform/kubernetes/tree/master/examples
34
Kubernetes / conclusion
In my opinion Kubernetes is the most progressive and
feature-rich cluster management tool nowadays.
+ pluggable architecture (in future you can easily replace
docker by other container engine)
+ self-healing (auto-restart, auto-replication)
+ Google Container Engine (Alpha) powered by
Kubernetes
+ support integration with a lot of Cloud providers
+ declarative templates of all resources (json or yaml)
35
Kubernetes
36
Promo Code: TRY-KUBERNETES
Mesosphere Data Center OS
37
DCOS public launch in the first half of 2015
Mesos + Docker
38
Conteinerizer API since 0.18.0 in Mesos
Docker is supported since 0.20.0
Mesosphere layers
39
3. Your Apps
2. Datacenter Services
YARN / Kubernetes / Marathon /
Chronos / Aurora / Spark / Kafka
1. Mesosphere DCOS
Mesos as OS kernel
Mesos Frameworks
40
How mesos works
41
42
digitalocean.mesosphere.com
43
digitalocean.mesosphere.com
1: Download vpn configuration file
2: Create security tunnel
sudo openvpn <path_to_downloaded_conf_file>
3: Now you can communicate with cluster services
44
Docker app json example
{
"container": {
"type": "DOCKER",
"docker": {
"image": "libmesos/ubuntu"
}
},
"id": "ubuntu",
"instances": 1,
"cpus": 0.5,
"mem": 512,
"cmd": "while sleep 10; do date -u +%T; done"
}
45
curl -X POST -H "Content-Type: application/json" http://<mesos_internal_master_ip>:8080/v2/apps -
d@<path_to_json_file>
Mesosphere / conclusion
Mesosphere DCOS is future of the data
centers !
Already now it is able to gather
all the zoo of technologies.
46
Artem Zhurbila
artemzhurbilo@gmail.com
https://www.linkedin.com/in/zhurbila
47

More Related Content

What's hot

Scaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef
Scaling Next-Generation Internet TV on AWS With Docker, Packer, and ChefScaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef
Scaling Next-Generation Internet TV on AWS With Docker, Packer, and Chefbridgetkromhout
 
Continuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierContinuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierCarlos Sanchez
 
The age of orchestration: from Docker basics to cluster management
The age of orchestration: from Docker basics to cluster managementThe age of orchestration: from Docker basics to cluster management
The age of orchestration: from Docker basics to cluster managementNicola Paolucci
 
CI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
CI and CD at Scale: Scaling Jenkins with Docker and Apache MesosCI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
CI and CD at Scale: Scaling Jenkins with Docker and Apache MesosCarlos Sanchez
 
How to create a multi tenancy for an interactive data analysis with jupyter h...
How to create a multi tenancy for an interactive data analysis with jupyter h...How to create a multi tenancy for an interactive data analysis with jupyter h...
How to create a multi tenancy for an interactive data analysis with jupyter h...Tiago Simões
 
From Monolith to Docker Distributed Applications
From Monolith to Docker Distributed ApplicationsFrom Monolith to Docker Distributed Applications
From Monolith to Docker Distributed ApplicationsCarlos Sanchez
 
Kubernetes installation
Kubernetes installationKubernetes installation
Kubernetes installationAhmed Mekawy
 
Kubernetes 1.3 - Highlights
Kubernetes 1.3 - HighlightsKubernetes 1.3 - Highlights
Kubernetes 1.3 - HighlightsMatthew Barker
 
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOpsОмские ИТ-субботники
 
Ansible not only for Dummies
Ansible not only for DummiesAnsible not only for Dummies
Ansible not only for DummiesŁukasz Proszek
 
Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) Italy
Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) ItalyClustering with Docker Swarm - Dockerops 2016 @ Cento (FE) Italy
Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) ItalyGiovanni Toraldo
 
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
파이썬 개발환경 구성하기의 끝판왕 - Docker Composeraccoony
 
Learn basic ansible using docker
Learn basic ansible using dockerLearn basic ansible using docker
Learn basic ansible using dockerLarry Cai
 
Introduction to docker swarm
Introduction to docker swarmIntroduction to docker swarm
Introduction to docker swarmWalid Ashraf
 
Enhancing OpenShift Security for Business Critical Deployments
Enhancing OpenShift Security for Business Critical DeploymentsEnhancing OpenShift Security for Business Critical Deployments
Enhancing OpenShift Security for Business Critical DeploymentsDevOps.com
 
Vagrant, Ansible, and OpenStack on your laptop
Vagrant, Ansible, and OpenStack on your laptopVagrant, Ansible, and OpenStack on your laptop
Vagrant, Ansible, and OpenStack on your laptopLorin Hochstein
 
From Dev to DevOps - Codemotion ES 2012
From Dev to DevOps - Codemotion ES 2012From Dev to DevOps - Codemotion ES 2012
From Dev to DevOps - Codemotion ES 2012Carlos Sanchez
 
Docker Swarm Introduction
Docker Swarm IntroductionDocker Swarm Introduction
Docker Swarm Introductionrajdeep
 
Multinode kubernetes-cluster
Multinode kubernetes-clusterMultinode kubernetes-cluster
Multinode kubernetes-clusterRam Nath
 

What's hot (20)

Scaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef
Scaling Next-Generation Internet TV on AWS With Docker, Packer, and ChefScaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef
Scaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef
 
Continuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierContinuous Delivery: The Next Frontier
Continuous Delivery: The Next Frontier
 
The age of orchestration: from Docker basics to cluster management
The age of orchestration: from Docker basics to cluster managementThe age of orchestration: from Docker basics to cluster management
The age of orchestration: from Docker basics to cluster management
 
CI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
CI and CD at Scale: Scaling Jenkins with Docker and Apache MesosCI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
CI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
 
How to create a multi tenancy for an interactive data analysis with jupyter h...
How to create a multi tenancy for an interactive data analysis with jupyter h...How to create a multi tenancy for an interactive data analysis with jupyter h...
How to create a multi tenancy for an interactive data analysis with jupyter h...
 
From Monolith to Docker Distributed Applications
From Monolith to Docker Distributed ApplicationsFrom Monolith to Docker Distributed Applications
From Monolith to Docker Distributed Applications
 
Kubernetes installation
Kubernetes installationKubernetes installation
Kubernetes installation
 
Docker up and running
Docker up and runningDocker up and running
Docker up and running
 
Kubernetes 1.3 - Highlights
Kubernetes 1.3 - HighlightsKubernetes 1.3 - Highlights
Kubernetes 1.3 - Highlights
 
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
 
Ansible not only for Dummies
Ansible not only for DummiesAnsible not only for Dummies
Ansible not only for Dummies
 
Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) Italy
Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) ItalyClustering with Docker Swarm - Dockerops 2016 @ Cento (FE) Italy
Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) Italy
 
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
 
Learn basic ansible using docker
Learn basic ansible using dockerLearn basic ansible using docker
Learn basic ansible using docker
 
Introduction to docker swarm
Introduction to docker swarmIntroduction to docker swarm
Introduction to docker swarm
 
Enhancing OpenShift Security for Business Critical Deployments
Enhancing OpenShift Security for Business Critical DeploymentsEnhancing OpenShift Security for Business Critical Deployments
Enhancing OpenShift Security for Business Critical Deployments
 
Vagrant, Ansible, and OpenStack on your laptop
Vagrant, Ansible, and OpenStack on your laptopVagrant, Ansible, and OpenStack on your laptop
Vagrant, Ansible, and OpenStack on your laptop
 
From Dev to DevOps - Codemotion ES 2012
From Dev to DevOps - Codemotion ES 2012From Dev to DevOps - Codemotion ES 2012
From Dev to DevOps - Codemotion ES 2012
 
Docker Swarm Introduction
Docker Swarm IntroductionDocker Swarm Introduction
Docker Swarm Introduction
 
Multinode kubernetes-cluster
Multinode kubernetes-clusterMultinode kubernetes-cluster
Multinode kubernetes-cluster
 

Viewers also liked

Kubernetes Basics & Monitoring
Kubernetes Basics & MonitoringKubernetes Basics & Monitoring
Kubernetes Basics & MonitoringMist.io
 
Red Hat Forum Tokyo - OpenStack Architecture
Red Hat Forum Tokyo - OpenStack ArchitectureRed Hat Forum Tokyo - OpenStack Architecture
Red Hat Forum Tokyo - OpenStack ArchitectureDan Radez
 
Kubernetes intro public - kubernetes user group 4-21-2015
Kubernetes intro   public - kubernetes user group 4-21-2015Kubernetes intro   public - kubernetes user group 4-21-2015
Kubernetes intro public - kubernetes user group 4-21-2015reallavalamp
 
Docker Swarm 1.12 Overview and Demo
Docker Swarm 1.12 Overview and DemoDocker Swarm 1.12 Overview and Demo
Docker Swarm 1.12 Overview and DemoBrian Christner
 
Docker 1.12 (dockercon recap)
Docker 1.12 (dockercon recap)Docker 1.12 (dockercon recap)
Docker 1.12 (dockercon recap)Nguyen Anh Tu
 
Scale into Multi-Cloud with Containers
Scale into Multi-Cloud with ContainersScale into Multi-Cloud with Containers
Scale into Multi-Cloud with ContainersImesh Gunaratne
 
Forecast 2014: TOSCA: An Open Standard for Business Application Agility and P...
Forecast 2014: TOSCA: An Open Standard for Business Application Agility and P...Forecast 2014: TOSCA: An Open Standard for Business Application Agility and P...
Forecast 2014: TOSCA: An Open Standard for Business Application Agility and P...Open Data Center Alliance
 
Keystone - Openstack Identity Service
Keystone - Openstack Identity Service Keystone - Openstack Identity Service
Keystone - Openstack Identity Service Prasad Mukhedkar
 
Building IAM for OpenStack
Building IAM for OpenStackBuilding IAM for OpenStack
Building IAM for OpenStackSteve Martinelli
 
Microservices Architectures with Docker Swarm, etcd, Kuryr and Neutron
Microservices Architectures with Docker Swarm, etcd, Kuryr and NeutronMicroservices Architectures with Docker Swarm, etcd, Kuryr and Neutron
Microservices Architectures with Docker Swarm, etcd, Kuryr and NeutronFawad Khaliq
 
A brief study on Kubernetes and its components
A brief study on Kubernetes and its componentsA brief study on Kubernetes and its components
A brief study on Kubernetes and its componentsRamit Surana
 
Moving from Monolith to Microservices
Moving from Monolith to MicroservicesMoving from Monolith to Microservices
Moving from Monolith to MicroservicesMist.io
 
OpenStack keystone identity service
OpenStack keystone identity serviceOpenStack keystone identity service
OpenStack keystone identity serviceopenstackindia
 
Revolutionizing WSO2 PaaS with Kubernetes & App Factory
Revolutionizing WSO2 PaaS with Kubernetes & App FactoryRevolutionizing WSO2 PaaS with Kubernetes & App Factory
Revolutionizing WSO2 PaaS with Kubernetes & App FactoryImesh Gunaratne
 
GMOインターネット様 発表「OpenStackのモデルの最適化とConoHa, Z.comとGMOアプリクラウドへの適用」 - OpenStack最新情...
GMOインターネット様 発表「OpenStackのモデルの最適化とConoHa, Z.comとGMOアプリクラウドへの適用」 - OpenStack最新情...GMOインターネット様 発表「OpenStackのモデルの最適化とConoHa, Z.comとGMOアプリクラウドへの適用」 - OpenStack最新情...
GMOインターネット様 発表「OpenStackのモデルの最適化とConoHa, Z.comとGMOアプリクラウドへの適用」 - OpenStack最新情...VirtualTech Japan Inc.
 
Lesson Learned from Using Docker Swarm at Pronto
Lesson Learned from Using Docker Swarm at ProntoLesson Learned from Using Docker Swarm at Pronto
Lesson Learned from Using Docker Swarm at ProntoKan Ouivirach, Ph.D.
 
Docker Networking (Libnetwork) - Lakshman Kumar
Docker Networking (Libnetwork) - Lakshman KumarDocker Networking (Libnetwork) - Lakshman Kumar
Docker Networking (Libnetwork) - Lakshman KumarNeependra Khare
 
Docker Networking & Swarm Mode Introduction
Docker Networking & Swarm Mode IntroductionDocker Networking & Swarm Mode Introduction
Docker Networking & Swarm Mode IntroductionPhi Huynh
 

Viewers also liked (20)

OpenStack Summit - Tokio
OpenStack Summit - TokioOpenStack Summit - Tokio
OpenStack Summit - Tokio
 
Salesforce1 Platform
Salesforce1 PlatformSalesforce1 Platform
Salesforce1 Platform
 
Kubernetes Basics & Monitoring
Kubernetes Basics & MonitoringKubernetes Basics & Monitoring
Kubernetes Basics & Monitoring
 
Red Hat Forum Tokyo - OpenStack Architecture
Red Hat Forum Tokyo - OpenStack ArchitectureRed Hat Forum Tokyo - OpenStack Architecture
Red Hat Forum Tokyo - OpenStack Architecture
 
Kubernetes intro public - kubernetes user group 4-21-2015
Kubernetes intro   public - kubernetes user group 4-21-2015Kubernetes intro   public - kubernetes user group 4-21-2015
Kubernetes intro public - kubernetes user group 4-21-2015
 
Docker Swarm 1.12 Overview and Demo
Docker Swarm 1.12 Overview and DemoDocker Swarm 1.12 Overview and Demo
Docker Swarm 1.12 Overview and Demo
 
Docker 1.12 (dockercon recap)
Docker 1.12 (dockercon recap)Docker 1.12 (dockercon recap)
Docker 1.12 (dockercon recap)
 
Scale into Multi-Cloud with Containers
Scale into Multi-Cloud with ContainersScale into Multi-Cloud with Containers
Scale into Multi-Cloud with Containers
 
Forecast 2014: TOSCA: An Open Standard for Business Application Agility and P...
Forecast 2014: TOSCA: An Open Standard for Business Application Agility and P...Forecast 2014: TOSCA: An Open Standard for Business Application Agility and P...
Forecast 2014: TOSCA: An Open Standard for Business Application Agility and P...
 
Keystone - Openstack Identity Service
Keystone - Openstack Identity Service Keystone - Openstack Identity Service
Keystone - Openstack Identity Service
 
Building IAM for OpenStack
Building IAM for OpenStackBuilding IAM for OpenStack
Building IAM for OpenStack
 
Microservices Architectures with Docker Swarm, etcd, Kuryr and Neutron
Microservices Architectures with Docker Swarm, etcd, Kuryr and NeutronMicroservices Architectures with Docker Swarm, etcd, Kuryr and Neutron
Microservices Architectures with Docker Swarm, etcd, Kuryr and Neutron
 
A brief study on Kubernetes and its components
A brief study on Kubernetes and its componentsA brief study on Kubernetes and its components
A brief study on Kubernetes and its components
 
Moving from Monolith to Microservices
Moving from Monolith to MicroservicesMoving from Monolith to Microservices
Moving from Monolith to Microservices
 
OpenStack keystone identity service
OpenStack keystone identity serviceOpenStack keystone identity service
OpenStack keystone identity service
 
Revolutionizing WSO2 PaaS with Kubernetes & App Factory
Revolutionizing WSO2 PaaS with Kubernetes & App FactoryRevolutionizing WSO2 PaaS with Kubernetes & App Factory
Revolutionizing WSO2 PaaS with Kubernetes & App Factory
 
GMOインターネット様 発表「OpenStackのモデルの最適化とConoHa, Z.comとGMOアプリクラウドへの適用」 - OpenStack最新情...
GMOインターネット様 発表「OpenStackのモデルの最適化とConoHa, Z.comとGMOアプリクラウドへの適用」 - OpenStack最新情...GMOインターネット様 発表「OpenStackのモデルの最適化とConoHa, Z.comとGMOアプリクラウドへの適用」 - OpenStack最新情...
GMOインターネット様 発表「OpenStackのモデルの最適化とConoHa, Z.comとGMOアプリクラウドへの適用」 - OpenStack最新情...
 
Lesson Learned from Using Docker Swarm at Pronto
Lesson Learned from Using Docker Swarm at ProntoLesson Learned from Using Docker Swarm at Pronto
Lesson Learned from Using Docker Swarm at Pronto
 
Docker Networking (Libnetwork) - Lakshman Kumar
Docker Networking (Libnetwork) - Lakshman KumarDocker Networking (Libnetwork) - Lakshman Kumar
Docker Networking (Libnetwork) - Lakshman Kumar
 
Docker Networking & Swarm Mode Introduction
Docker Networking & Swarm Mode IntroductionDocker Networking & Swarm Mode Introduction
Docker Networking & Swarm Mode Introduction
 

Similar to Artem Zhurbila - docker clusters (solit 2015)

Kubernetes - Starting with 1.2
Kubernetes  - Starting with 1.2Kubernetes  - Starting with 1.2
Kubernetes - Starting with 1.2William Stewart
 
AWS 기반 Docker, Kubernetes
AWS 기반 Docker, KubernetesAWS 기반 Docker, Kubernetes
AWS 기반 Docker, Kubernetes정빈 권
 
Pro2516 10 things about oracle and k8s.pptx-final
Pro2516   10 things about oracle and k8s.pptx-finalPro2516   10 things about oracle and k8s.pptx-final
Pro2516 10 things about oracle and k8s.pptx-finalMichel Schildmeijer
 
Monitoring Containers at Scale - September Webinar Series
Monitoring Containers at Scale - September Webinar SeriesMonitoring Containers at Scale - September Webinar Series
Monitoring Containers at Scale - September Webinar SeriesAmazon Web Services
 
ProxySQL on Kubernetes
ProxySQL on KubernetesProxySQL on Kubernetes
ProxySQL on KubernetesRené Cannaò
 
Deliver Docker Containers Continuously on AWS - QCon 2017
Deliver Docker Containers Continuously on AWS - QCon 2017Deliver Docker Containers Continuously on AWS - QCon 2017
Deliver Docker Containers Continuously on AWS - QCon 2017Philipp Garbe
 
Build Your Own CaaS (Container as a Service)
Build Your Own CaaS (Container as a Service)Build Your Own CaaS (Container as a Service)
Build Your Own CaaS (Container as a Service)HungWei Chiu
 
AWS Community Day - Andrew May - Running Containers in AWS
AWS Community Day - Andrew May - Running Containers in AWS  AWS Community Day - Andrew May - Running Containers in AWS
AWS Community Day - Andrew May - Running Containers in AWS AWS Chicago
 
Building a Kubernetes App with Amazon EKS
Building a Kubernetes App with Amazon EKSBuilding a Kubernetes App with Amazon EKS
Building a Kubernetes App with Amazon EKSDevOps.com
 
Deploying a Kubernetes App with Amazon EKS
Deploying a Kubernetes App with Amazon EKSDeploying a Kubernetes App with Amazon EKS
Deploying a Kubernetes App with Amazon EKSLaura Frank Tacho
 
An intro to Docker, Terraform, and Amazon ECS
An intro to Docker, Terraform, and Amazon ECSAn intro to Docker, Terraform, and Amazon ECS
An intro to Docker, Terraform, and Amazon ECSYevgeniy Brikman
 
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context ConstraintsAlessandro Arrichiello
 
Using Kubernetes for Continuous Integration and Continuous Delivery. Java2days
Using Kubernetes for Continuous Integration and Continuous Delivery. Java2daysUsing Kubernetes for Continuous Integration and Continuous Delivery. Java2days
Using Kubernetes for Continuous Integration and Continuous Delivery. Java2daysCarlos Sanchez
 
Using Kubernetes for Continuous Integration and Continuous Delivery
Using Kubernetes for Continuous Integration and Continuous DeliveryUsing Kubernetes for Continuous Integration and Continuous Delivery
Using Kubernetes for Continuous Integration and Continuous DeliveryCarlos Sanchez
 
AWS Workshop 102
AWS Workshop 102AWS Workshop 102
AWS Workshop 102lynn80827
 
Things I've learned working with Docker Support
Things I've learned working with Docker SupportThings I've learned working with Docker Support
Things I've learned working with Docker SupportSujay Pillai
 
Control Plane: Continuous Kubernetes Security (DevSecOps - London Gathering, ...
Control Plane: Continuous Kubernetes Security (DevSecOps - London Gathering, ...Control Plane: Continuous Kubernetes Security (DevSecOps - London Gathering, ...
Control Plane: Continuous Kubernetes Security (DevSecOps - London Gathering, ...Michael Man
 
Metal-k8s presentation by Julien Girardin @ Paris Kubernetes Meetup
Metal-k8s presentation by Julien Girardin @ Paris Kubernetes MeetupMetal-k8s presentation by Julien Girardin @ Paris Kubernetes Meetup
Metal-k8s presentation by Julien Girardin @ Paris Kubernetes MeetupLaure Vergeron
 
Fullstack conf 2017 - Basic dev pipeline end-to-end
Fullstack conf 2017 - Basic dev pipeline end-to-endFullstack conf 2017 - Basic dev pipeline end-to-end
Fullstack conf 2017 - Basic dev pipeline end-to-endEzequiel Maraschio
 
Introction to docker swarm
Introction to docker swarmIntroction to docker swarm
Introction to docker swarmHsi-Kai Wang
 

Similar to Artem Zhurbila - docker clusters (solit 2015) (20)

Kubernetes - Starting with 1.2
Kubernetes  - Starting with 1.2Kubernetes  - Starting with 1.2
Kubernetes - Starting with 1.2
 
AWS 기반 Docker, Kubernetes
AWS 기반 Docker, KubernetesAWS 기반 Docker, Kubernetes
AWS 기반 Docker, Kubernetes
 
Pro2516 10 things about oracle and k8s.pptx-final
Pro2516   10 things about oracle and k8s.pptx-finalPro2516   10 things about oracle and k8s.pptx-final
Pro2516 10 things about oracle and k8s.pptx-final
 
Monitoring Containers at Scale - September Webinar Series
Monitoring Containers at Scale - September Webinar SeriesMonitoring Containers at Scale - September Webinar Series
Monitoring Containers at Scale - September Webinar Series
 
ProxySQL on Kubernetes
ProxySQL on KubernetesProxySQL on Kubernetes
ProxySQL on Kubernetes
 
Deliver Docker Containers Continuously on AWS - QCon 2017
Deliver Docker Containers Continuously on AWS - QCon 2017Deliver Docker Containers Continuously on AWS - QCon 2017
Deliver Docker Containers Continuously on AWS - QCon 2017
 
Build Your Own CaaS (Container as a Service)
Build Your Own CaaS (Container as a Service)Build Your Own CaaS (Container as a Service)
Build Your Own CaaS (Container as a Service)
 
AWS Community Day - Andrew May - Running Containers in AWS
AWS Community Day - Andrew May - Running Containers in AWS  AWS Community Day - Andrew May - Running Containers in AWS
AWS Community Day - Andrew May - Running Containers in AWS
 
Building a Kubernetes App with Amazon EKS
Building a Kubernetes App with Amazon EKSBuilding a Kubernetes App with Amazon EKS
Building a Kubernetes App with Amazon EKS
 
Deploying a Kubernetes App with Amazon EKS
Deploying a Kubernetes App with Amazon EKSDeploying a Kubernetes App with Amazon EKS
Deploying a Kubernetes App with Amazon EKS
 
An intro to Docker, Terraform, and Amazon ECS
An intro to Docker, Terraform, and Amazon ECSAn intro to Docker, Terraform, and Amazon ECS
An intro to Docker, Terraform, and Amazon ECS
 
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
 
Using Kubernetes for Continuous Integration and Continuous Delivery. Java2days
Using Kubernetes for Continuous Integration and Continuous Delivery. Java2daysUsing Kubernetes for Continuous Integration and Continuous Delivery. Java2days
Using Kubernetes for Continuous Integration and Continuous Delivery. Java2days
 
Using Kubernetes for Continuous Integration and Continuous Delivery
Using Kubernetes for Continuous Integration and Continuous DeliveryUsing Kubernetes for Continuous Integration and Continuous Delivery
Using Kubernetes for Continuous Integration and Continuous Delivery
 
AWS Workshop 102
AWS Workshop 102AWS Workshop 102
AWS Workshop 102
 
Things I've learned working with Docker Support
Things I've learned working with Docker SupportThings I've learned working with Docker Support
Things I've learned working with Docker Support
 
Control Plane: Continuous Kubernetes Security (DevSecOps - London Gathering, ...
Control Plane: Continuous Kubernetes Security (DevSecOps - London Gathering, ...Control Plane: Continuous Kubernetes Security (DevSecOps - London Gathering, ...
Control Plane: Continuous Kubernetes Security (DevSecOps - London Gathering, ...
 
Metal-k8s presentation by Julien Girardin @ Paris Kubernetes Meetup
Metal-k8s presentation by Julien Girardin @ Paris Kubernetes MeetupMetal-k8s presentation by Julien Girardin @ Paris Kubernetes Meetup
Metal-k8s presentation by Julien Girardin @ Paris Kubernetes Meetup
 
Fullstack conf 2017 - Basic dev pipeline end-to-end
Fullstack conf 2017 - Basic dev pipeline end-to-endFullstack conf 2017 - Basic dev pipeline end-to-end
Fullstack conf 2017 - Basic dev pipeline end-to-end
 
Introction to docker swarm
Introction to docker swarmIntroction to docker swarm
Introction to docker swarm
 

More from Artem Zhurbila

Artem zhurbila the story of rebuilding puppet (devops meetup 29.10.2015)
Artem zhurbila  the story of rebuilding puppet (devops meetup 29.10.2015)Artem zhurbila  the story of rebuilding puppet (devops meetup 29.10.2015)
Artem zhurbila the story of rebuilding puppet (devops meetup 29.10.2015)Artem Zhurbila
 
Artem Zhurbila 5 aws - cloud formation and beanstalk
Artem Zhurbila 5 aws - cloud formation and beanstalkArtem Zhurbila 5 aws - cloud formation and beanstalk
Artem Zhurbila 5 aws - cloud formation and beanstalkArtem Zhurbila
 
Artem Zhurbila 4 aws - s3, glacier, cloud front, rds
Artem Zhurbila 4 aws - s3, glacier, cloud front, rdsArtem Zhurbila 4 aws - s3, glacier, cloud front, rds
Artem Zhurbila 4 aws - s3, glacier, cloud front, rdsArtem Zhurbila
 
Artem Zhurbila - 3 aws - route 53, vpc
Artem Zhurbila - 3 aws - route 53, vpcArtem Zhurbila - 3 aws - route 53, vpc
Artem Zhurbila - 3 aws - route 53, vpcArtem Zhurbila
 
Artem Zhurbila - 2 aws - EC2
Artem Zhurbila - 2 aws - EC2Artem Zhurbila - 2 aws - EC2
Artem Zhurbila - 2 aws - EC2Artem Zhurbila
 
Artem Zhurbila - 1 aws overview
Artem Zhurbila - 1 aws overviewArtem Zhurbila - 1 aws overview
Artem Zhurbila - 1 aws overviewArtem Zhurbila
 
Artem Zhurbila - Some ways to set up the server (highload strategy meetup lig...
Artem Zhurbila - Some ways to set up the server (highload strategy meetup lig...Artem Zhurbila - Some ways to set up the server (highload strategy meetup lig...
Artem Zhurbila - Some ways to set up the server (highload strategy meetup lig...Artem Zhurbila
 

More from Artem Zhurbila (7)

Artem zhurbila the story of rebuilding puppet (devops meetup 29.10.2015)
Artem zhurbila  the story of rebuilding puppet (devops meetup 29.10.2015)Artem zhurbila  the story of rebuilding puppet (devops meetup 29.10.2015)
Artem zhurbila the story of rebuilding puppet (devops meetup 29.10.2015)
 
Artem Zhurbila 5 aws - cloud formation and beanstalk
Artem Zhurbila 5 aws - cloud formation and beanstalkArtem Zhurbila 5 aws - cloud formation and beanstalk
Artem Zhurbila 5 aws - cloud formation and beanstalk
 
Artem Zhurbila 4 aws - s3, glacier, cloud front, rds
Artem Zhurbila 4 aws - s3, glacier, cloud front, rdsArtem Zhurbila 4 aws - s3, glacier, cloud front, rds
Artem Zhurbila 4 aws - s3, glacier, cloud front, rds
 
Artem Zhurbila - 3 aws - route 53, vpc
Artem Zhurbila - 3 aws - route 53, vpcArtem Zhurbila - 3 aws - route 53, vpc
Artem Zhurbila - 3 aws - route 53, vpc
 
Artem Zhurbila - 2 aws - EC2
Artem Zhurbila - 2 aws - EC2Artem Zhurbila - 2 aws - EC2
Artem Zhurbila - 2 aws - EC2
 
Artem Zhurbila - 1 aws overview
Artem Zhurbila - 1 aws overviewArtem Zhurbila - 1 aws overview
Artem Zhurbila - 1 aws overview
 
Artem Zhurbila - Some ways to set up the server (highload strategy meetup lig...
Artem Zhurbila - Some ways to set up the server (highload strategy meetup lig...Artem Zhurbila - Some ways to set up the server (highload strategy meetup lig...
Artem Zhurbila - Some ways to set up the server (highload strategy meetup lig...
 

Recently uploaded

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Recently uploaded (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 

Artem Zhurbila - docker clusters (solit 2015)

  • 2. Agenda 1. Base concepts of cluster management and docker 2. Docker Swarm 3. Amazon EC2 Container Service 4. Kubernetes 5. Mesosphere 2
  • 3. 3
  • 4. 4
  • 5. 5
  • 6. 6 Docker is awesome on a single host, but .... ● Single point of failure ■ high availability ● Limited resources (CPU, RAM) ■ scalability
  • 7. 7 Cluster Multiple nodes viewed as a single system.
  • 8. Docker cluster components ● Resource and node container manager ● Scheduler ● Service discovery (consul, etcd, zookeeper, DNS + srv) ● Overlay network (flannel, weave, socketplane) 8
  • 9. Docker cluster management tools 1. Docker Swarm 2. Amazon EC2 Container Service (ECS) 3. Kubernetes (k8s) 4. Mesosphere 9
  • 11. 11
  • 12. 12
  • 13. Swarm / scheduling strategies 1. BinPacking - CPU and RAM available and will return the node the most packed already 2. Random 13
  • 14. Swarm / scheduling filters 14 1. Constraint a. key/value - support glob and regexp b. dockerinfo 2. Affinity a. containers b. images 3. Dependency a. Shared volumes (--volumes-from) b. Links (--link) c. Shared network stack (--net) 4. Port 5. Health
  • 15. Swarm / service discovery Providers: 1. token (docker hub service) 2. file 3. etcd 4. consul 5. zookeeper 15
  • 16. Setup Swarm cluster manually 1 step: install >= 1.4.0 docker 2 step: change /etc/default/docker file to listen tcp DOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock" 3 step: create certificates and configure TLS (optional) 4 step: docker pull swarm 5 step: docker run --rm swarm create generate unique cluster_id for using docker hub discovery service 6 step: docker run -d swarm join --addr=<node_ip:2375> token://<cluster_id> run this command on all hosts 7 step: docker run -d -p <swarm_port>:2375 swarm manage token://<cluster_id> start the Swarm Master 8 step: export DOCKER_HOST=tcp://<swarm_ip>:<swarm_port> 9 step: use your usual docker commands :-) 16
  • 17. #1 Setup cluster on AWS by Docker Machine 1 step: download Docker-machine and add it to PATH https://docs.docker.com/machine/#installation 2 step: run command to create Swarm Master docker-machine create -d amazonec2 --swarm --swarm-master --swarm-discovery=token://<generated_cluster_id> --amazonec2-access-key=***** --amazonec2-ami=ami-823686f5 --amazonec2-instance-type=t2.micro --amazonec2-region=eu-west-1 --amazonec2-root-size=10 --amazonec2-secret-key=***** --amazonec2-security-group=my --amazonec2-vpc-id=default swarm-master 17
  • 18. #2 Setup cluster on AWS by Docker Machine 3 step: run command (like in step 2 but without --swarm- master key) to create Swarm Slave docker-machine create -d amazonec2 --swarm --swarm-discovery=token://<generated_cluster_id> …. swarm-slave-01 4 step: export DOCKER_HOST=tcp://<swarm_ip>:<swarm_port> 5 step: use your usual docker commands or Docker- compose :-) 18
  • 19. Swarm / conclusion + standard Docker API + extremely easy to get started - many features are not implemented “yet” (multi-master, multi-host network, failover) DOCKER MACHINE + SWARM + COMPOSE = 19
  • 20. Amazon EC2 Container Service (preview) ECS is available in the US East (N. Virginia) and the US West (Oregon) region during the preview. 20
  • 21. ECS key concepts Cluster - a logical grouping of container instances Container Instance - EC2 instance that is running the ECS agent and has been registered into a cluster. Task Definition - a description of an application (json) - lists of containers grouped together. Task - task definition that is running on a container instance. 21
  • 22. #1 Setup ECS cluster step 1: create IAM role that allows EC2 use ECS service. step 2: install awscli > 1.7 step 3: change region in ~/. aws/config [default] output = json region = us-east-1 22 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:CreateCluster", "ecs:RegisterContainerInstance", "ecs: DeregisterContainerInstance", "ecs:DiscoverPollEndpoint", "ecs:Submit*", "ecs:Poll" ], "Resource": [ "*" ] } ] }
  • 23. #2 Setup ECS cluster step 3: run command to create cluster (Your account is limited to 2 clusters): aws ecs create-cluster --cluster-name MyCluster step 4: create user data script init_script.sh #!/bin/bash echo ECS_CLUSTER=MyCluster >> /etc/ecs/ecs.config step 5: create 3 EC2 instances in cluster aws ec2 run-instances --image-id ami-801544e8 --count 3 --instance-type t2. micro --key-name <public_key> --security-groups <sec_group> --user-data file://init_script.sh --iam-instance-profile Name=<IAM role name> 23
  • 24. 24
  • 25. #3 Setup ECS cluster step 6: Create task definition: - nginx_def.json step 7: register definition: aws ecs register-task-definition --cli- input-json file://nginx_def.json step 8: run a task: aws ecs run-task --cluster MyCluster -- task-definition test_nginx 25 { "containerDefinitions": [ { "name": "nginx", "image": "nginx", "cpu": 200, "memory": 100, "portMappings": [ { "containerPort": 80, "hostPort": 80 } ], "essential": true } ], "family": "test_nginx" }
  • 26. If we stop this EC2 instance, task with nginx container will be resheduled (failover) to another hosts in cluster! 26
  • 27. EC2 Container Service / conclusion + Use ECS we don’t need to administrate Master nodes. High availability of ECS is responsibility of AWS engineers. - I have not found how to integrate with ELB, Autoscale and other Amazon services (may be it’s under development now) 27
  • 29. Kubernetes (k8s) key concepts Node - worker machine in Kubernetes (previously known as Minion) Pod - the smallest unit - colocated group of Docker containers. Label - key-value tag Replication controller - ensures that a specified number of pod "replicas" are running at any one time Service - provide a single, stable name and address for a set of pods. They act as basic load balancers. 29
  • 30. 30
  • 31. Kubernetes / monitoring - Heapster Heapster enables monitoring of clusters using cAdvisor. 31
  • 32. #1 Kubernetes / Setup on AWS step 1: install aws cli and k8s step 2: check your aws creds in ~/. aws/credentials step 3: add env vars: export PATH=$PATH: <path_to_untar_k8s_directory>/platforms/<os>/<platform> export PATH=$PATH:<path_to_untar_k8s_directory>/cluster export KUBERNETES_PROVIDER=aws step 4: create ‘kubernetes’ IAM role with EC2FullAccess 32
  • 33. #2 Kubernetes / Setup on AWS step 5: up the cluster (it takes about 5 minutes) kube-up.sh - script will provision a new VPC, 1 master and 4 node (minions) in us-west-2 (Oregon). - create a keypair called "kubernetes" as well as reuse an IAM role also called "kubernetes" - create S3 bucket ‘kubernetes-staging-***’ and upload Salt provision scripts - create CAFile, CertFile, KeyFile on your local computer At the end of the script execution you see the URL of k8s master 33
  • 34. #3 Kubernetes / Setup on AWS step 6: export KUBERNETES_MASTER=https://<generated_url_from_step_5> Now cluster is ready and we can manipulate this one by kubectl Then you can see examples of replication controllers and services in kubernetes git repo https://github.com/GoogleCloudPlatform/kubernetes/tree/master/examples 34
  • 35. Kubernetes / conclusion In my opinion Kubernetes is the most progressive and feature-rich cluster management tool nowadays. + pluggable architecture (in future you can easily replace docker by other container engine) + self-healing (auto-restart, auto-replication) + Google Container Engine (Alpha) powered by Kubernetes + support integration with a lot of Cloud providers + declarative templates of all resources (json or yaml) 35
  • 37. Mesosphere Data Center OS 37 DCOS public launch in the first half of 2015
  • 38. Mesos + Docker 38 Conteinerizer API since 0.18.0 in Mesos Docker is supported since 0.20.0
  • 39. Mesosphere layers 39 3. Your Apps 2. Datacenter Services YARN / Kubernetes / Marathon / Chronos / Aurora / Spark / Kafka 1. Mesosphere DCOS Mesos as OS kernel
  • 42. 42
  • 44. digitalocean.mesosphere.com 1: Download vpn configuration file 2: Create security tunnel sudo openvpn <path_to_downloaded_conf_file> 3: Now you can communicate with cluster services 44
  • 45. Docker app json example { "container": { "type": "DOCKER", "docker": { "image": "libmesos/ubuntu" } }, "id": "ubuntu", "instances": 1, "cpus": 0.5, "mem": 512, "cmd": "while sleep 10; do date -u +%T; done" } 45 curl -X POST -H "Content-Type: application/json" http://<mesos_internal_master_ip>:8080/v2/apps - d@<path_to_json_file>
  • 46. Mesosphere / conclusion Mesosphere DCOS is future of the data centers ! Already now it is able to gather all the zoo of technologies. 46