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.

Introduction to container mangement


Published on

High Level Introduction to container managment and orchestration.

Published in: Technology

Introduction to container mangement

  2. 2. Introduction to Container Management Overview Got Infrastructure? Delivery & Deployment Kubernetes Architecture & Concepts Scratching the Surface Practical Application
  3. 3. Philosophic excursion Stay with me!
  4. 4. Is Infrastructure a Commodity? The word commodity came into use in English in the 15th century, from the French commodité, "amenity, convenience". Going further back, the French word derives from the Latin commoditas, meaning "suitability, convenience, advantage". The Latin word commodus (from which English gets other words including commodious and accommodate) meant variously "appropriate", "proper measure, time, or condition", and "advantage, benefit". Commodity — Wikipedia, The Free Encyclopedia
  5. 5. Properties of Commodities ● Immediate Availability ● Highly Competitive Market ● Can change vendor without telling difference ● Unreliable Availability (Not plannable) ● No Competitive Market (No choice) ● Notable differences for the same product between vendors ● No or Low Process Visibility ● No- or Low-Friction ● No- or Low-Overhead
  6. 6. Infrastructure can be defined as "the physical components of interrelated systems providing commodities and services essential to enable, sustain, or enhance societal living conditions." the word infrastructure has been used in English since at least 1887 and in French since at least 1875, originally meaning "The installations that form the basis for any operation or system". Is Infrastructure a Commodity? Infrastructure — Wikipedia, The Free Encyclopedia
  7. 7. Introduction to Container Management Delivery & Deployment
  8. 8. Delivery & Deployment
  9. 9. Delivery
  10. 10. Deployment
  11. 11. Classic Deployment
  12. 12. Containers
  13. 13. Components of a Single Application Application Server Operating System What’s this? Library v2 (required to run App) Where do I put this? And who’s responsible that it works all together? Same Colors don’t go together
  14. 14. Scaling Up / Scaling Out Application Operating System Hardware Administrator Operating System Application Hardware
  15. 15. Virtualization Application Operating System Virtual Machine Virtualization Infrastructure Application Operating System Virtual Machine Application Operating System Virtual Machine Administrator Infrastructure
  16. 16. Containers Application Container Virtual Machine Virtualization Infrastructure Application Virtual Machine Application Virtual Machine Operating System Container Operating System Container Operating System Administrator Infrastructure
  17. 17. Application Container Orchestration Application Container Virtual Machine Virtualization Infrastructure Virtual MachineVirtual Machine Operating System Orchestration Application ApplicationApplication Container Operating System Container Operating System Administrator Infrastructure
  18. 18. Application Container Orchestration Virtualization Infrastructure Virtual Machine Virtual MachineVirtual Machine Application Application Container Container Container Operating System Operating System Operating System Orchestration Service / Endpoint Management Scheduling Resource Management Administrator Infrastructure ApplicationApplicationApplication
  19. 19. Kubernetes Overview Architecture & Concepts
  20. 20. Orchestration Tools
  21. 21. Why Kubernetes ● Largest User Base ● Most Commercial Offerings ● On-Premise & Cloud offers same interface ● Component of the Cloud Native Computing Foundation ○ Members
  22. 22. Kubernetes Components ● etcd Persistence for Cluster State Usually not part of the Cluster ● kubectl or any API client ● kube-apiserver ● kube-controller-manager ● kube-scheduler ● kubelet
  23. 23. Architecture Overview etcd Cluster State kubectl Master kube-scheduler controller-manager API endpoints kube-proxy Node kubelet kube-proxy Node kubelet kube-proxy Node kubelet kube-proxy
  24. 24. Architecture Overview etcd etcd Cluster State ● Storage Backend for Cluster State ● Usually a 3 - 5 node cluster ● Distributed Consistent Storage ● Monitoring via Prometheus
  25. 25. Architecture Overview Master Master kube-scheduler controller-manager API endpoints kube-proxy ● Provides all functionality to create cluster resources ● Central component that mediates between desired state and actual state ● Can (and should) be highly available
  26. 26. Node kubelet kube-proxy Architecture Overview Node ● Work-horse of the cluster ● As many as required by capacity needs kubelet ● Manages pods and their containers, their images, their volumes, etc kube-proxy ● Makes services available to the inside and outside world
  27. 27. Orchestration Service / Endpoint Management Scheduling Resource Management Cluster Administration Tasks ● Urgent need to learn ● Provide Persistence Layer ● Provide Docker Registry ● Create (common) Containers ● In-Depth Knowledge of Resource Types ● Excellent Knowledge of all Levels of System Administration ● Monitor/Handle Error Conditions ● Capacity Planning ●
  28. 28. Cluster Usage ● Package Application ○ Create Containers ● Request Persistence ● Describe Dependencies ● Deploy Orchestration Application Applicati on App AppApp
  29. 29. Cluster Usage Best Practices Configuration files must be stored in version control before being pushed to the cluster When defining configurations, specify the latest stable API version (currently v1). Write your configuration files using YAML rather than JSON Group related objects together in a single file where this makes sense Don’t specify default values unnecessarily Put an object description in an annotation to allow better introspection
  30. 30. Kubernetes Concepts Scratching the Surface
  31. 31. Resources Provided ● Workloads — Container, CronJob, DaemonSet, Deployment, Job, Pod, ReplicaSet, ReplicationController, StatefulSet (PetSet) ● Discovery & Load Balancing — Endpoints, Ingress, Service ● Config & Storage — ConfigMap, Secret, PersistentVolumeClaim, StorageClass, Volume Metadata — Event, LimitRange, HorizontalPodAutoScaler, PodTemplate, PodDisruptionBudget, ThirdPartyResource Cluster — Binding, CertificateSigningRequest, ClusterRole, ClusterRoleBinding, ComponentStatus, LocalSubjectAccessReview, Namespace, Node, PersistentVolume, ResourceQuota, Role, RoleBinding, SelfSubjectAccessReview, ServiceAccount, SubjectAccessReview, TokenReview, NetworkPolicy
  32. 32. apiVersion: v1 kind: Pod metadata: name: command-demo spec: containers: - name: command-demo-container image: debian command: ["printenv"] args: ["HOSTNAME"] Resource Type Pod Pod
  33. 33. apiVersion: extensions/v1beta1 kind: ReplicaSet metadata: name: my-first-rs spec: replicas: 1 template: metadata: name: command-demo-rs spec: containers: - name: command-demo-container image: debian command: ["printenv"] args: ["HOSTNAME"] Resource Type ReplicaSet Replica Set Pod
  34. 34. apiVersion: extensions/v1beta1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 3 template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80 Resource Type Deployment Deployment Replica Set Pod
  35. 35. Kubernetes Overview Practical Application
  36. 36. Guestbook ubernetes/tree/v1.5.2/examples /guestbook
  37. 37. Administrator Infrastructure