SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
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
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
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
5.
Kubernetes Master
API Server Scheduler Controller
etcd
API
UI
CLI
6.
Kubernetes Node
kube-proxy
Docker kubelet
Supervisord
fluentd
PodPod
Pod
Pod
Pod
Pod
Pod
Pod
Kubernetes
Master
AddonsDNS UI
7.
A Simple Containerized Application
Python
Web App
Redis
Database
Client
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.
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.
Deploying a Pod
Pod Definition
Master
kube-p
roxyDocker kubelet
Supervisord
fluentd
Web Pod
Node
DB Pod
Pod Definition
Python
Redis
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.
Exposing Services
DB PodWeb
Pod
2
Web
Pod
1
Web
Pod
3
Client Node
Port
Cluster
IP
13.
Demo
Creating Pods & Services
Python Web App & Redis DB
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.
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
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.
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