Join us to learn how to deploy your first containerized application on the most popular orchestration engine. You will understand the basic concepts of Kubernetes along with the terminology and the deployment architecture. We will show you everything from building a Docker image to going live with your application. Each attendee gets $300 credit to start using Google Container Engine!
1. Getting Started with
Kubernetes
Janakiram MSV
Analyst | Advisor | Architect
Janakiram & Associates
Google Developer Expert
Joseph Jacks
Sr. Director
Apprenda
Founder, KubeCon
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. Objectives
● The need for container orchestration
● Overview of Kubernetes
● Setting up Kubernetes development environment
● Deploying your first application
● Summary
● Q&A
4. The Need for Container Orchestration
● Containers are becoming the standard unit of deployment
● Each container image has
○ Code
○ Binaries
○ Configuration
○ Libraries
○ Frameworks
○ Runtime
● Developers and Operators love containers
5. The Need for Container Orchestration
● Docker has solved the problem of packaging, deploying and running
containerized applications
● Docker has three key components
○ Container Engine
○ Registry
○ Tools
● Docker is great for managing a few containers running on a fewer
machines
● Production applications deal with dozens of containers running on
hundreds of machines
6. The Need for Container Orchestration
● The unit of deployment is changing from a machine to a container
● Infrastructure has become immutable
● Emphasis on treating the datacenter as a large server (cluster)
● Tools are evolving to manage the new datacenter infrastructure
○ Docker Swarm
○ Kubernetes
○ Mesosphere DC/OS
● Manage the lifecycle of containerized applications running in production
● Automate the distribution of applications
● Ensure higher levels of utilization and efficiency
7. A DATACENTER IS NOT A COLLECTION OF
COMPUTERS, A DATACENTER IS A COMPUTER
8. The Changing Face of the Datacenter
Physical Infrastructure
VM VMVM VM VM VMVM
Cluster 1 Cluster 2
Cluster 3 Cluster 4
Application Application Application Application
Application Application
Cluster Manager / Orchestration Engine
9. What is Kubernetes?
● Kubernetes is inspired from an internal Google project called Borg
● Open source project managed by the Linux Foundation
● Unified API for deploying web applications, batch jobs, and databases
● Decouples applications from machines through containers
● Declarative approach to deploying applications
● Automates application configuration through service discovery
● Maintains and tracks the global view of the cluster
● APIs for deployment workflows
○ Rolling updates, canary deploys, and blue-green deployments
11. Configuring Kubernetes Environment
● Minikube
○ Simplest way to get Kubernetes cluster up and running
○ Supports Microsoft Windows and Mac OS X
● Kubernetes Multi-Node Cluster
○ Emulates production environment
○ Good for testing advanced scenarios
● Google Container Engine
○ Hosted and managed by Google
○ Powered by Google Compute Engine
12. Getting Started with Minikube
● Install Oracle VirtualBox for Mac
● Install Docker Toolbox for Mac
● Install Docker Version Manager
● Install the latest version of Minikube for Mac OS X
● Download the latest version of kubectl from this link
● Run the following commands from the directory where kubectl is downloaded
○ chmod +x ./kubectl
○ sudo mv kubectl /usr/local/bin
● Launch minikube with the following command:
○ minikube start –-vm-driver=virtualbox
● Test minikube installation with the following commands
○ minikube status
○ kubectl get cs
14. Kubernetes Terminology
● Nodes
○ Hosts that run Kubernetes applications
● Containers
○ Units of packaging
● Pods
○ Units of deployment
● Replication Controller
○ Ensures availability and scalability
● Labels
○ Key-Value pairs for identification
● Services
○ Collection of pods exposed as an endpoint
16. Summary
● Kubernetes manages containerized workloads running in production
● An open source, community-driven project started by Google
● Kubernetes has a master and multiple worker nodes
● Clients interact with the master through REST API
● Kubernetes API has objects - Pod, Replication Controller, Service etc.
● Minikube is the simplest way to get started with Kubernetes
● Detailed walkthrough is available at The New Stack
● Scripts and source code for demos shown is available on Github
17. Upcoming Webinar
Kubernetes Architecture 101
9 AM PST, 29th September
Join us to learn the concepts of Pods, Replication Controllers,
Services, storage choices, and networking options. We will
also walk you through the process of deploying and scaling
microservices applications. Each attendee gets $100 credit to
start using Google Container Engine.
Register at kubernetes.live for the upcoming webinars