Kubernetes 101.pdf - Google Drive

1 downloads 87 Views 1MB Size Report
Page 1 of 8. Kubernetes 101. Workshop. Neependra Khare, CloudYuga. Praveen Kumar, Red Hat. PyCon 2017. Page 1 of 8 ...
Kubernetes 101 Workshop

PyCon 2017 Neependra Khare, CloudYuga

Praveen Kumar, Red Hat

Container Orchestration Containers at Scale • Fault tolerance

• Scale on demand

• Use resources optimally

• Discover applications automatically, and have them communicate

• Securely acccess applications

• Update/rollback the applications without any downtime.

Container Orchestrators •

Docker Swarm



Kubernetes



Mesos Marathon



Amazon ECS

Container Orchestration General Concept - Container Runtime

Container Orchestration General Concept - Key/Value Store

Container Orchestration General Concept - Networking across the hosts

Container Orchestration General Concept - Scheduler

Container Orchestration General Concept - Service Discovery

Container Orchestration General Concept - Load Balancing

Container Orchestration General Concept - Access to external storage

Kubernetes Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.

• Kubernetes features

• • • • • • • •

Automatic binpacking Self-healing Horizontal scaling Service discovery and load balancing Automated rollouts and rollbacks Secrets and configuration management Storage orchestration Batch execution

Kubernetes Architecture

http://blog.kubernetes.io

Kubernetes Installation •

Localhost



On-Premise





VMs



Bare-Metal

Cloud



Hosted



Turnkey

Setting up All-in-One Kubenetes - Minikube



Download Minikube



Start Minikube

Accessing the Cluster •

CLI

• •

GUI

• •

kubectl

Kubernetes Dashboard

APIs

Kubernetes Concept - Pod

C

C Volume

Kubernetes Concept - ReplicaSet ReplicaSet C

C

C

C

C

C

Current Pod Count == Desired Pod Count

Kubernetes Concept - ReplicaSet ReplicaSet C

C

C

C

C

C

Current Pod Count != Desired Pod Count

Kubernetes Concept - ReplicaSet ReplicaSet C

C

C

C

C

C

Current Pod Count == Desired Pod Count

C

C

Kubernetes Concept - Deployment

Deployment ReplicaSet C

C

Pod

C

C

Pod

C

C

Pod

Kubernetes Concept - Labels

CC

CC

app=fe env=dev

app=be env=dev

CC

CC

app=fe env=qa

app=be env=qa

Kubernetes Concept - Selectors env == dev CC

CC

app=fe env=dev

app=be env=dev

CC

CC

app=fe env=qa

app=be env=qa

app == fe

Kubernetes Concept - Services CC app=fe

CC

Service select (app==fe)

app=fe

CC app=fe

Kubernetes Concept - Services •

ServiceType



ClusterIP



NodePort



LoadBalancer



ExternalIP

Deploying a Standalone Application

Accessing the Application



Using NodePort ServiceType



Using LoadBalancer ServiceType

Deploying a multi-tier application Frontend

DB

Frontend

Frontend

DB

Frontend

Thanks