Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Workshop: Deploying and Scaling Node.js with Kubernetes

298 views

Published on

From Ross Kukulinski's workshop at Node Interactive US 2016.

As companies look to build out their next-generation architectures, Node.js and containerization are emerging as two major components for powering rapid technical innovation. In this technical workshop, we will show you how to get started with Node.js, Docker and Kubernetes and cover the pitfalls that often occur when starting and how to avoid them. Most of this workshop will be a live demonstration as we dockerize a Node.js application, deploy to Kubernetes, and scale to handle a large amount of traffic.

Published in: Technology
  • Be the first to comment

Workshop: Deploying and Scaling Node.js with Kubernetes

  1. 1. © 2016 NodeSource1
  2. 2. © 2016 NodeSource2
  3. 3. © 2016 NodeSource3 Welcome Ross Kukulinski Currently PM @ NodeSource Node.js Evangelism WG Introduction to CoreOS - O’Reilly Media Nathan White Solutions Architect @ NodeSource Responsible for Mongoose :-/ Really old. Like. Old.
  4. 4. © 2016 NodeSource Welcome 4 Today’s Roadmap • Introduction to Kubernetes • Cloudy Time Machine Overview • Ship to production Just kidding!
  5. 5. © 2016 NodeSource Container Orchestration 5
  6. 6. © 2016 NodeSource6 If your architecture looks like this Manage your containers with Ansible, Docker Swarm, Amazon ECS, etc.
  7. 7. © 2016 NodeSource7 If your architecture looks like this You need orchestration help
  8. 8. © 2016 NodeSource Orchestration Overview 8 Container Orchestration • Schedule containers to physical/virtual machines • Restart containers if they stop • Provide private container network • Scale up and down • Service discovery
  9. 9. © 2016 NodeSource Kubernetes 101 9
  10. 10. © 2016 NodeSource Kubernetes 101 10 Kubernetes is an open source system for automating deployment, scaling, and management of containerized applications.
  11. 11. © 2016 NodeSource Kubernetes 101 11 Kubernetes Orchestration • Schedules containers to physical machines • Service discovery & load balancing • Horizontal application scaling • Automated rollouts & rollbacks • Secret and configuration management • Storage orchestration • … and a whole lot more!
  12. 12. © 2016 NodeSource Kubernetes Terminology 12
  13. 13. © 2016 NodeSource Kubernetes 101 13 Terminology - Nodes • Is a worker machine in Kubernetes that runs your containers • Node may be a VM or physical machine • Each Node has the services necessary to run Pods
  14. 14. © 2016 NodeSource Kubernetes 101 14 Terminology - Pods • Smallest deployable unit of computing • Group of one or more containers • Containers within a Pod share a cluster-accessible IP address (and localhost) • Containers within a Pod of access to shared volumes
  15. 15. © 2016 NodeSource Kubernetes 101 15 Terminology - Replica Sets • Ensures that a specified number of Pod “replicas” are running at one time • If there are too many, it will kill some Pods • If there are too few, it will start more
  16. 16. © 2016 NodeSource Kubernetes 101 16 Terminology - Deployments • Provide declarative updates for Pods/Replica Sets • Manages one or more Replica Sets • Primary mechanism for interacting with Pods! • Automated rollouts and rollbacks :)
  17. 17. © 2016 NodeSource Kubernetes 101 17 Terminology - Services • An abstraction which defines a logical set of Pods • Provides a mechanism for accessing them • 3 types: ClusterIP, NodePort, LoadBalancer
  18. 18. © 2016 NodeSource Kubernetes 101 18 Terminology - Namespaces • Provide a virtual cluster backed my the same physical cluster • Namespaces provide a scope for names. Names of resources need to be unique within a namespace, but not across namespaces. • Divide cluster resources between multiple uses
  19. 19. © 2016 NodeSource19
  20. 20. © 2016 NodeSource HelloWorld is so yesterday 20
  21. 21. © 2016 NodeSource21
  22. 22. © 2016 NodeSource22
  23. 23. © 2016 NodeSource23
  24. 24. © 2016 NodeSource24 http://cloudytimemachine.com
  25. 25. © 2016 NodeSource25
  26. 26. © 2016 NodeSource26 Demo Gods… we salute you!
  27. 27. © 2016 NodeSource27 Workshop Resources github.com/cloudytimemachine/ nodeinteractive-workshop
  28. 28. Thank you. Ross Kukulinski ross@kukulinski.com @rosskukulinski Nathan White nw@nodesource.com @_nw_

×