© 2016 NodeSource1
© 2016 NodeSource2
© 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.
© 2016 NodeSource Welcome 4 Today’s Roadmap • Introduction to Kubernetes • Cloudy Time Machine Overview • Ship to production Just kidding!
© 2016 NodeSource Container Orchestration 5
© 2016 NodeSource6 If your architecture looks like this Manage your containers with Ansible, Docker Swarm, Amazon ECS, etc.
© 2016 NodeSource7 If your architecture looks like this You need orchestration help
© 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
© 2016 NodeSource Kubernetes 101 9
© 2016 NodeSource Kubernetes 101 10 Kubernetes is an open source system for automating deployment, scaling, and management of containerized applications.
© 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!
© 2016 NodeSource Kubernetes Terminology 12
© 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
© 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
© 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
© 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 :)
© 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
© 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
© 2016 NodeSource19
© 2016 NodeSource HelloWorld is so yesterday 20
© 2016 NodeSource21
© 2016 NodeSource22
© 2016 NodeSource23
© 2016 NodeSource24 http://cloudytimemachine.com
© 2016 NodeSource25
© 2016 NodeSource26 Demo Gods… we salute you!
© 2016 NodeSource27 Workshop Resources github.com/cloudytimemachine/ nodeinteractive-workshop
Thank you. Ross Kukulinski ross@kukulinski.com @rosskukulinski Nathan White nw@nodesource.com @_nw_

Workshop: Deploying and Scaling Node.js with Kubernetes