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.

Kubernetes 101 for Developers

2,485 views

Published on


From the Philly Kubernetes December 2016 Meetup.

https://www.meetup.com/Kubernetes-Philly/events/234829676/

Kubernetes accelerates technical and business innovation through rapid development and deployment of applications. Learn how to deploy, scale, and manage your applications in a containerized environments using Kubernetes.

In this 60-minute workshop, Ross Kukulinski will review fundamental Kubernetes concepts and architecture and then will show how to containerize and deploy a multi-tier web application to Kubernetes.

Topics that will be covered include:

• Working with the Kubernetes CLI (kubectl)

• Pods, Deployments, & Services

• Manual & Automated Application Scaling

• Troubleshooting and debugging

• Persistent storage

Published in: Technology
  • Be the first to comment

Kubernetes 101 for Developers

  1. 1. D E C E M B E R 6 , 2 0 1 6 @RossKukulinski Kuberentes 101 for Developers Ross Kukulinski
  2. 2. © 2016 @RossKukulinski2 Welcome Ross Kukulinski Kubernetes/DevOps Consultant Node.js Evangelism WG / RethinkDB Community Introduction to CoreOS - O’Reilly Media @RossKukulinski on Twitter/GitHub
  3. 3. © 2016 @RossKukulinski Welcome 3 Today’s Roadmap • Introduction to Kubernetes • Ship to production Just kidding!
  4. 4. © 2016 @RossKukulinski Container Orchestration 4
  5. 5. © 2016 @RossKukulinski5 If your architecture looks like this Manage your containers with Ansible, Docker Swarm, Amazon ECS, etc.
  6. 6. © 2016 @RossKukulinski6 If your architecture looks like this You need orchestration help
  7. 7. © 2016 @RossKukulinski Orchestration Overview 7 Container Orchestration • Schedule containers to physical/virtual machines • Restart containers if they stop • Provide private container network • Scale up and down • Service discovery
  8. 8. © 2016 @RossKukulinski Kubernetes 101 8
  9. 9. © 2016 @RossKukulinski Kubernetes 101 9 Kubernetes is an open source system for automating deployment, scaling, and management of containerized applications.
  10. 10. © 2016 @RossKukulinski Kubernetes 101 10 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!
  11. 11. © 2016 @RossKukulinski Kubernetes Terminology 11
  12. 12. © 2016 @RossKukulinski Kubernetes 101 12 Terminology - Node • 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
  13. 13. © 2016 @RossKukulinski Kubernetes 101 13 Terminology - Master • A special Node in Kubernetes that manages the cluster state • Usually does not run your containers • Runs necessary services to manage cluster , backed by etcd
  14. 14. © 201614
  15. 15. © 2016 @RossKukulinski Kubernetes 101 15 Terminology - Namespaces • Provide a virtual cluster backed by 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 • If not specified, you’re using the ‘default’ namespace
  16. 16. © 2016 @RossKukulinski Kubernetes 101 16 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
  17. 17. © 2016 @RossKukulinski Kubernetes 101 17 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
  18. 18. © 2016 @RossKukulinski Kubernetes 101 18 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 :)
  19. 19. © 2016 @RossKukulinski Kubernetes 101 19 Terminology - Services • An abstraction which defines a logical set of Pods • Provides a mechanism for accessing them • 3 types: ClusterIP, NodePort, LoadBalancer
  20. 20. © 201620
  21. 21. © 2016 @RossKukulinski21 Demo Gods… we salute you!
  22. 22. © 2016 @RossKukulinski22 Workshop Resources github.com/rosskukulinski/ kubernetes-101-for-devs
  23. 23. © 201623
  24. 24. © 201624
  25. 25. © 2016 @RossKukulinski25 http://cloudytimemachine.com
  26. 26. © 201626
  27. 27. Thank you. Ross Kukulinski ross@kukulinski.com @rosskukulinski

×