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 architecture

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

Related Books

Free with a 30 day trial from Scribd

See all
  • Login to see the comments

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

×