Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Chargement dans…3
4 sur 19

Kubernetes architecture



Télécharger pour lire hors ligne

Join us to learn the concepts and terminology of Kubernetes such as Nodes, Labels, Pods, Replication Controllers, Services. After taking a closer look at the Kubernetes master and the nodes, we will walk you through the process of building, deploying, and scaling microservices applications. Each attendee gets $100 credit to start using Google Container Engine. The source code is available at https://github.com/janakiramm/kubernetes-101

Kubernetes architecture

  1. 1. Kubernetes Architecture Janakiram MSV Analyst | Advisor | Architect Janakiram & Associates Google Developer Expert
  2. 2. Announcing The Kubernetes Webinar Series ● Monthly webinar focused on helping you get started with Kubernetes ● Delivered by the experts from the container ecosystem ● Each webinar introduces a concept to accelerate your learning ● No specific prerequisites ○ Basic understanding of Docker will help ● All attendees will get $100 Google Cloud Platform Credits ● Win free annual and monthly subscriptions of MAPT eBook library ● The recording of this webinar will be available at Kubernetes.live
  3. 3. Objectives ● A closer look at Kubernetes cluster ● Master components ● Node components ● Pods ● Labels & Selectors ● Replication Controllers ● Services
  4. 4. Kubernetes Architecture Kubernetes Master Node 1API UI CLI Node 2 Node n Node 3 Registry
  5. 5. Kubernetes Master API Server Scheduler Controller etcd API UI CLI
  6. 6. Kubernetes Node kube-proxy Docker kubelet Supervisord fluentd PodPod Pod Pod Pod Pod Pod Pod Kubernetes Master AddonsDNS UI
  7. 7. A Simple Containerized Application Python Web App Redis Database Client
  8. 8. Kubernetes Pod ● Group of one or more containers that are always co-located, co-scheduled, and run in a shared context ● Containers in the same pod have the same hostname ● Each pod is isolated by ○ Process ID (PID) namespace ○ Network namespace ○ Interprocess Communication (IPC) namespace ○ Unix Time Sharing (UTS) namespace ● Alternative to a VM with multiple processes
  9. 9. Labels & Selectors ● Key/value pairs associated with Kubernetes objects ● Used to organize and select subsets of objects ● Attached to objects at creation time but modified at any time. ● Labels are the essential glue to associate one API object with other ○ Replication Controller -> Pods ○ Service -> Pods ○ Pods -> Nodes
  10. 10. Deploying a Pod Pod Definition Master kube-p roxyDocker kubelet Supervisord fluentd Web Pod Node DB Pod Pod Definition Python Redis
  11. 11. Services ● An abstraction to define a logical set of Pods bound by a policy by to access them ● Services are exposed through internal and external endpoints ● Services can also point to non-Kubernetes endpoints through a Virtual-IP-Bridge ● Supports TCP and UDP ● Interfaces with kube-proxy to manipulate iptables ● Service can be exposed internal or external to the cluster
  12. 12. Exposing Services DB PodWeb Pod 2 Web Pod 1 Web Pod 3 Client Node Port Cluster IP
  13. 13. Demo Creating Pods & Services Python Web App & Redis DB
  14. 14. Replication Controller ● Ensures that a Pod or homogeneous set of Pods are always up and available ● Always maintains desired number of Pods ○ If there are excess Pods, they get killed ○ New pods are launched when they fail, get deleted, or terminated ● Creating a replication controller with a count of 1 ensures that a Pod is always available ● Replication Controller and Pods are associated through Labels
  15. 15. kube-p roxyDocker kubelet Supervisord fluentd Web Pod 1 Scaling Pods with Replication Controller RC Definition Master Node Web Pod 2 Web Pod 3 3 DB Pod
  16. 16. Demo Scaling Pods with Replication Controller
  17. 17. Summary ● Kubernetes Master runs the API, Scheduler and Controller services ● Each Node is responsible for running one or more Pods ● Pods are the unit of deployment in Kubernetes ● Labels associate one Kubernetes object with the other ● Replication Controller ensures high availability of Pods ● Services expose Pods to internal and external consumers
  18. 18. Upcoming Webinar A Closer Look at Kubernetes Pods 9 AM PST, 26th October This session will discuss the best practices of creating, deploying, and managing Pods. We will take a closer look at the storage and networking architecture of containers running in the same Pod. Register at kubernetes.live for the upcoming webinars
  19. 19. Thank You! Send your Feedback / Questions / Comments info@kubernetes.live