Uploaded by bugs-bunny

kubernetes-presentation

advertisement
KUBERNETES: An Introduction
Presented by
Shane Clifford
Introduction
Shane Clifford
• 3rd Year Student IT Tralee
• Currently On Work Experience With Continuum Commerce
• Kubernetes Project
Presentation Outline
•
•
•
•
•
•
•
•
What Is Kubernetes?
What are Docker Containers?
Who uses Kubernetes?
Kubernetes Architecture
Some Terminology
Create a Deployment
Benefits and Challenges
Question Time
What is Kubernetes?
• Kubernetes is a powerful system, developed by Google, for managing
containerized applications in a clustered environment.
• It aims to provide better ways of managing related, distributed
components across varied infrastructure.
• Developed by Google / Now an open source project
What Are Containerized Applications?
• A container image is a lightweight, stand-alone, executable package of a
piece of software that includes everything needed to run it: code,
runtime, system tools, system libraries, settings..
• Containerized software will always run the same, regardless of the
environment.
• Containers vs VMs
▫ Lightweight
Docker
• Docker is a tool designed to make it easier to
create, deploy, and run applications by using
containers.
• Docker standardises container management
• Create a Docker Image and push to a
repository (Docker Hub)
• Allow anyone to pull image and run
Who Uses Kubernetes?
• Google
▫ Google Borg
• The New York Times
• Amazon
• Monsanto
• Pokémon Go
Some Terminology
• Cluster (nodes/AWS/GC)
• Pods
• Labels/Selectors
• Services
• Replicas
• Scaling
Kubernetes Architecture
PODS
• Pods are the basic building block of Kubernetes
• Pods are the smallest deployable units that are created and managed in
Kubernetes
• A Pod is a group of one or more containers, the shared storage for the
containers and options to run the containers
• Each pod is assigned a unique, DYNAMIC IP address
Labels/Selectors
• Labels are value/key pairs assigned to a objects like Pods and Services
• Labels can be used to organize and to select subsets of objects.
• Labels can be attached to objects at creation time and subsequently
added and modified at any time.
• Basically Labels are used to identify objects
Services
• A Kubernetes Service is an abstraction which defines a logical set of
Pods and a policy by which to access them
• The set of pods gathered by a Service is determined by a label selector
• Services have a STATIC IP Address and can expose your Pods to a port
• Example……
Service Configuration Example
SCALING
• Replication Controller
• Ensures that a POD or a set of pods are
always running and available
• Always maintains desired number of pods
▫ Excess Pods are killed
▫ New pods auto launched when they fail or get deleted
▫ Auto Scaling
A Quick Demo On MiniKube
That hopefully works……….
• Create a pod
• Create a service
• Deploy to Cluster
• Display Scaling and Replication Controller
Challenges
• Very difficult to get up
and running
• Poor Documentation
▫ Growing fast
Summary
•
•
•
•
•
•
What Kubernetes is
Containers and Docker
Pods
Services
Labels
Clusters
Download