Hands-on K8s: Deployments, Pods and Fun

Post on 12-Apr-2017

190 Views

Category:

Data & Analytics

0 Downloads

Preview:

Click to see full reader

Transcript

Hands-on K8s: Deployments, Pods and FunM.-Leander Reimer (@LeanderReimer)

HANDS-ON K8S: DEPLOYMENTS, PODS AND FUN

THE ZWITSCHER SHOWCASE APPLICATION

KUBERNETES

HANDS-ON K8S: DEPLOYMENTS, PODS AND FUN

RUN KUBERNETES ON LOCAL MACHINE OR ON TURN-KEY CLOUD SOLUTIONSexport KUBERNETES_PROVIDER=vagrant

export NUM_NODES=1

curl -sS https://get.k8s.io | bash

export KUBERNETES_PROVIDER=aws

export KUBE_AWS_ZONE=eu-central-1a

export NODE_SIZE=t2.small

curl -sS https://get.k8s.io | bash

export KUBE_GCE_ZONE=europe-west1-d

export NUM_NODES=4

curl -sS https://get.k8s.io | bash

HANDS-ON K8S: DEPLOYMENTS, PODS AND FUN

DOCKERIZE IT

ZWITSCHER-BOARD

ZWITSCHER-CONFIG

ZWITSCHER-EDGE

ZWITSCHER-EUREKA

ZWITSCHER-MONITOR

ZWITSCHER-SERVICE

DEBI

AN8-

JRE8

DEBI

AN:8

POD DeploymentPOD Deployment

POD Deployment

HANDS-ON K8S: DEPLOYMENTS, PODS AND FUN

KUBERNETIZE IT

ZWITSCHER-BOARD

ZWITSCHER-CONFIG

ZWITSCHER-EDGE

ZWITSCHER-EUREKA

ZWITSCHER-MONITORZWITSCHER-SERVICEPOD Deployment POD Deployment POD Deployment

SERVICE SERVICE SERVICE

SERVICE SERVICE

SERVICE

HANDS-ON K8S: DEPLOYMENTS, PODS AND FUN

K8S DEPLOYMENT DESCRIPTOR EXAMPLEapiVersion: extensions/v1beta1 kind: Deployment metadata: name: zwitscher-service spec: replicas: 1 template: metadata: labels: zwitscher: service spec: containers: - name: zwitscher-service image: "qaware-oss-docker-registry.bintray.io/zwitscher/zwitscher-service"

resources: requests: memory: "256Mi" cpu: "250m" limits: memory: "512Mi" cpu: "500m" ports:

- containerPort: 8080 livenessProbe: httpGet: path: /admin/health port: 8080 initialDelaySeconds: 90 timeoutSeconds: 5 env: - name: EUREKA_HOST value: zwitscher-eureka

1 Docker Container

Health Checks

Resource Limits

HANDS-ON K8S: DEPLOYMENTS, PODS AND FUN

K8S SERVICE DESCRIPTOR EXAMPLE

apiVersion: v1 kind: Service metadata: name: zwitscher-service labels: zwitscher: service spec: # if your cluster supports it, uncomment the following to automatically create # an external load-balanced IP for the frontend service. Do not use locally. # type: LoadBalancer # sessionAffinity: ClientIP ports: - port: 8080 selector: zwitscher: service

HANDS-ON K8S: DEPLOYMENTS, PODS AND FUN

REMOTE CONTROL KUBERNETES USING A NOVATION LAUNCHPAD

Kubernetes Deployment

Running Pods

Selected Deployment

Up/Down & Scale

Click to Start/Stop

DEMO TIME

HANDS-ON K8S: DEPLOYMENTS, PODS AND FUN

ALTERNATIVE: ZWITSCHERN WITH NATIVE K8S INFRASTRUCTURE

ZWITSCHER-BOARD

EDGE-SERVER: SERVICES & INGRES

ZWITSCHER-MONITORZWITSCHER-SERVICEPOD Deployment POD Deployment POD Deployment

SERVICE SERVICE SERVICE

CONFIGURATION & COORDINATION: ETCDDISCOVERY: DNS

https://slideshare.net/qawarehttps://github.com/qaware/cloud-native-zwitscher https://github.com/qaware/kubepad

top related