Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Docker Orchestrators

679 Aufrufe

Veröffentlicht am

Raleigh NC Docker Meetup presentation from October 21, 2015.

Doing development and test for an application on your laptop or a single server is an effective and quick way to ensure functionality, but can be limiting for larger applications. When the application is ready to deploy into production using containers, you’re going to want to use more than one server to increase resources and provide distributed availability. There are a large number of orchestration platforms for Docker which allow you to define an application consisting of one or more containers, and then coordinate deploying the application across small and large farms of servers. In this session we will concentrate on the three most popular orchestration platforms: Mesos, Kubernetes, and Docker Swarm. We will learn how each of them defines an application, some of their strengths, some weaknesses, and why you might choose one over another.

Veröffentlicht in: Technologie
  • Loggen Sie sich ein, um Kommentare anzuzeigen.

Docker Orchestrators

  1. 1. Docker Orchestrators © 2015 NetApp, Inc. All rights reserved.1
  2. 2. Docker Orchestrators 1) Orchestrating Containerized Applications 2) The Orchestration Ecosystem  Swarm  Kubernetes  Mesos 3) Deploying an Application 4) Advanced Topics © 2015 NetApp, Inc. All rights reserved.2
  3. 3. Orchestrating Containerized Applications © 2015 NetApp, Inc. All rights reserved.3
  4. 4. Applications Are Hard  Monolithic applications  Hard to update - single massive code base  Single dimension of scalability  Waterfall development practices  Static, linear phases  Requirements  Analysis  Design  Code  Test  Deploy © 2015 NetApp, Inc. All rights reserved.4 Tomcat Database Apache Image Service Search Service UI Service WAR
  5. 5. Simplify the Problem  Microservices  Each component is independently developed and scaled  Everything is a platform  DevOps  Continuous Integration – Finding and fixing bugs faster  Continuous Deployment – Releasing faster © 2015 NetApp, Inc. All rights reserved.5 Load Balancer Tier App Tier Database Tier UI Service Search Service Image Service
  6. 6. The Orchestrator Ecosystem © 2015 NetApp, Inc. All rights reserved.6
  7. 7.  Multiple Swarm hosts behave like a single Docker host  Still uses Docker CLI  Uses standard Docker API  Execute containers against the cluster just like a single host  Application definitions using Compose  Not fully functional yet, network is incomplete Docker Swarm Image: http://www.slideshare.net/rajdeep/docker-swarm-introduction © 2015 NetApp, Inc. All rights reserved.7
  8. 8.  Based on Google Borg  Abstracts applications into pods and services  Schedules containers against cluster nodes using kubelets Kubernetes Image: https://github.com/kubernetes/kubernetes/blob/master/docs/design/architecture.md © 2015 NetApp, Inc. All rights reserved.8
  9. 9.  Mesos  Abstraction of resources: CPU, RAM, etc.  Generic execution of any task against resources  Frameworks define application types  Marathon, Chronos, Hadoop, Aurora, Jenkins, Cassandra  Marathon  Framework for scheduling applications onto Mesos providing private PaaS  Meta-framework, e.g. can start Chronos jobs Mesos + Marathon Image: https://mesosphere.github.io/marathon/ © 2015 NetApp, Inc. All rights reserved.9
  10. 10. Important Services  Scheduling  Swarm: Spread, BinPack, random + filters  Kubernetes: FitPredicate, PriorityFunction  Marathon: Resource offers + constraints, Cluster, Group_by, Like, Unlike  Service discovery  Internal DNS which registers applications  Networking  Overlay networks: Flannel, libnetwork (SocketPlane), Weave © 2015 NetApp, Inc. All rights reserved.10
  11. 11. Deploying an Application © 2015 NetApp, Inc. All rights reserved.11
  12. 12. Our Sample Application  Multi-tier web application  Database  Web Application  Not included  Load balancer(s)  Distributed database  Horizontally scalable microservices © 2015 NetApp, Inc. All rights reserved.12
  13. 13.  Use standard docker CLI  Define the application using Compose  Simple, well known syntax  Scalability of components at the command line:  docker-compose scale phpmyadmin:1 db:2 Docker Swarm © 2015 NetApp, Inc. All rights reserved.13
  14. 14. Kubernetes  Pods  Group(s) of containers  Replication Controllers  Container lifecycle management  Services  Endpoint for one or more pods or replication controllers © 2015 NetApp, Inc. All rights reserved.14 Pod Replication Controller App:10.0.0.1 OR
  15. 15. Kubernetes  Pods  Group(s) of containers  Replication Controllers  Container lifecycle management  Services  Endpoint for one or more pods or replication controllers © 2015 NetApp, Inc. All rights reserved.15
  16. 16. Kubernetes  Pods  Group(s) of containers  Replication Controllers  Container lifecycle management  Services  Endpoint for one or more pods or replication controllers © 2015 NetApp, Inc. All rights reserved.16
  17. 17. Kubernetes  Pods  Group(s) of containers  Replication Controllers  Container lifecycle management  Services  Endpoint for one or more pods or replication controllers © 2015 NetApp, Inc. All rights reserved.17
  18. 18.  Application group to define multiple components  Dependency tracking  Scalability  Constraints  App components are standard Marathon definitions Mesos + Marathon © 2015 NetApp, Inc. All rights reserved.18
  19. 19.  Application Group definition  Application definition  Container definition Mesos + Marathon © 2015 NetApp, Inc. All rights reserved.19
  20. 20.  Application Group definition  Application definition  Container definition Mesos + Marathon © 2015 NetApp, Inc. All rights reserved.20
  21. 21.  Application Group definition  Application definition  Container definition Mesos + Marathon © 2015 NetApp, Inc. All rights reserved.21
  22. 22. Advanced Topics © 2015 NetApp, Inc. All rights reserved.22
  23. 23. Persistent Storage  Swarm  volumes, volumes_from, volume_driver  Kubernetes  Persistent Volume Request mechanism  Predefined, pre-allocated units of storage  Mesos + Marathon  Persistent Volumes – Partially implemented by Mesos, not implemented by Marathon  Docker pass-through volumes © 2015 NetApp, Inc. All rights reserved.23 Swarm Volume Definition Kubernetes Volume DefinitionMarathon Volume Definition
  24. 24. Additional Orchestrator Considerations  Authentication and authorization  Distributed configuration management  etcd, zookeeper, etc.  Secrets management  Application HA / healing  Application scaling  Logging  Monitoring © 2015 NetApp, Inc. All rights reserved.24
  25. 25. Summary © 2015 NetApp, Inc. All rights reserved.25
  26. 26. Key Takeaways  Choose the orchestrator that best fits your needs  Be conscious of complexity  Development and Operations must get along! © 2015 NetApp, Inc. All rights reserved.26
  27. 27. Other Orchestrators  Tutum  Mesosphere DCOS  Rancher  CoreOS  Nomad  OpenStack Magnum (Kubernetes/Swarm)  StackEngine  Decking © 2015 NetApp, Inc. All rights reserved.27
  28. 28. Additional Resources  Swarm  Documentation: https://docs.docker.com/swarm/  Kubernetes  Application Management Documentation - http://bit.ly/1M898gS  Mesos + Marathon  Documentation: https://mesosphere.github.io/marathon/docs/  Sample Code  https://github.com/Practical-Admin/meetup/ © 2015 NetApp, Inc. All rights reserved.28
  29. 29. Questions? © 2015 NetApp, Inc. All rights reserved. NetApp Confidential – Limited Use29
  30. 30. Thank you © 2015 NetApp, Inc. All rights reserved.30

×