Kuber-what?! Learn about Kubernetes

Similar documents
Getting Started With Containers

DEVNET Introduction to Git. Ashley Roach Principal Engineer Evangelist

Running MarkLogic in Containers (Both Docker and Kubernetes)

Cisco Container Platform

Code: Slides:

Kubernetes. Introduction

An Introduction to Kubernetes

ASP.NET Core & Docker

Think Small to Scale Big

Containers, Serverless and Functions in a nutshell. Eugene Fedorenko

NXOS in the Real World Using NX-API REST

Git, Atom, virtualenv, oh my! Learn about dev tools to live by!

Deployment Strategies on Kubernetes. By Etienne Tremel Software engineer at Container February 13th, 2017

Note: Currently (December 3, 2017), the new managed Kubernetes service on Azure (AKS) does not yet support Windows agents.

Deploying Applications on DC/OS

/ Cloud Computing. Recitation 5 February 14th, 2017

What s New in K8s 1.3

gcp / gke / k8s microservices

Implementing Container Application Platforms with Cisco ACI

Cloud & container monitoring , Lars Michelsen Check_MK Conference #4

Continuous delivery while migrating to Kubernetes

Kubernetes 101. Doug Davis, STSM September, 2017

What s New in K8s 1.3

Services and Networking

Creating a Multi-Container Pod

CloudCenter for Developers

10 Kube Commandments

Container Orchestration on Amazon Web Services. Arun

WHITE PAPER. RedHat OpenShift Container Platform. Benefits: Abstract. 1.1 Introduction

Contiv installation and integration with ACI

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

NetDevOps Style Configuration Management for the Network

Scaling Jenkins with Docker and Kubernetes Carlos

Microservices. Chaos Kontrolle mit Kubernetes. Robert Kubis - Developer Advocate,

CONTAINERS AND MICROSERVICES WITH CONTRAIL

Kuberiter White Paper. Kubernetes. Cloud Provider Comparison Chart. Lawrence Manickam Kuberiter Inc

/ Cloud Computing. Recitation 5 September 26 th, 2017

Containerisation with Docker & Kubernetes

Life of a Packet. KubeCon Europe Michael Rubin TL/TLM in GKE/Kubernetes github.com/matchstick. logo. Google Cloud Platform

Kubernetes Integration Guide

Kubernetes: Integration vs Native Solution

Kubernetes deep dive

Docker and Oracle Everything You Wanted To Know

Important DevOps Technologies (3+2+3days) for Deployment

Hybrid Cloud Automation using Cisco CloudCenter API

DevNet Workshop-Hands-on with CloudCenter and Jenkins

Knative: Building serverless platforms on top of Kubernetes

Convergence of VM and containers orchestration using KubeVirt. Chunfu Wen

Logging, Monitoring, and Alerting

Contiv installation and integration with ACI. LTRCLD-2003

Kubernetes: Twelve KeyFeatures

Ingress Kubernetes Tutorial

Kubernetes objects on Microsoft Azure

Tetration Hands-on Lab from Deployment to Operations Support

Introduction to Kubernetes

Kubernetes Ingress Virtual Service Configuration

DevOps Technologies. for Deployment

VMWARE PIVOTAL CONTAINER SERVICE

Efficiently exposing apps on Kubernetes at scale. Rasheed Amir, Stakater

So, I have all these containers! Now what?

Automation and Programmability using Cisco Open NXOS and DevOps Tools

Industry-leading Application PaaS Platform

WHITE PAPER. Kubernetes Deployment Models: The Ultimate Guide

Package your Java Application using Docker and Kubernetes. Arun

Mesosphere and Percona Server for MongoDB. Jeff Sandstrom, Product Manager (Percona) Ravi Yadav, Tech. Partnerships Lead (Mesosphere)

DevOps Course Content

DevOps CICD for VNF a NetOps Approach

S Implementing DevOps and Hybrid Cloud

TRex Realistic Traffic Generator

Cisco Spark Widgets Technical drill down

EASILY DEPLOY AND SCALE KUBERNETES WITH RANCHER

Kubernetes Ingress Virtual Service Configuration

Cloud I - Introduction

Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS

Micro-Service Applications for Infrastructure People

Multi-Cloud and Application Centric Modeling, Deployment and Management with Cisco CloudCenter (CliQr)

Defining Security for an AWS EKS deployment

DevOps + Infrastructure TRACK SUPPORTED BY

CONTINUOUS DELIVERY WITH MESOS, DC/OS AND JENKINS

Cisco UCS Director and ACI Advanced Deployment Lab

Kubernetes Integration with Virtuozzo Storage

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

PSOACI Tetration Overview. Mike Herbert

Overview of Container Management

Buenos Aires 31 de Octubre de 2018

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Deploying Cloud-Agnostic Applications with Cisco CloudCenter

70-532: Developing Microsoft Azure Solutions

TEN LAYERS OF CONTAINER SECURITY

Cloud providers, tools and best practices in running Magento on Kubernetes. Adrian Balcan MindMagnet Software

Docker Live Hacking: From Raspberry Pi to Kubernetes

More Containers, More Problems

Kubernetes - Networking. Konstantinos Tsakalozos

70-532: Developing Microsoft Azure Solutions

Kubernetes made easy with Docker EE. Patrick van der Bleek Sr. Solutions Engineer NEMEA

INTRODUCING CONTAINER-NATIVE VIRTUALIZATION

개발자와운영자를위한 DevOps 플랫폼 OpenShift Container Platform. Hyunsoo Senior Solution Architect 07.Feb.2017

Taming your heterogeneous cloud with Red Hat OpenShift Container Platform.

Cisco UCS Agentless Configuration Management Ansible or Microsoft DSC

Zero to Microservices in 5 minutes using Docker Containers. Mathew Lodge Weaveworks

Transcription:

DEVNET-1999 Kuber-what?! Learn about Kubernetes Ashley Roach, Principal Engineer Evangelist

Agenda Objectives A brief primer on containers The problems with running containers at scale Orchestration systems Kubernetes background Pods, Deployments, Services, Replica Sets, Network Policies, Ingress, etc. Cisco tie-ins

What are containers?

Virtual Machine vs. Container App 1 App 2 Bins/Libs Bins/Libs App 1 App 2 Guest OS Guest OS Bins/Libs Docker Engine Bins/Libs Hypervisor / Host OS Server Host OS Server DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 5

Container Technical: Changing how we deploy code into reality. app1 Manual RPM DEB Puppet app2 app1 app2 app3 app3 app3 /usr /etc /bin / Baked container images. app1 app1 app 2 app2 /usr /etc /bin /usr /etc /bin Container 1 / Container 2 / Server One. Server One. app1 app1 app 2 app2 /usr /etc /bin /usr /etc /bin Manual RPM DEB Puppet (Treat as servers) OR Bake Images (AMI / Packer) / / VM one VM two Hypervisor Server One. DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 6

Goes away on restart FROM ubuntu:15.04 COPY. /app RUN make /app CMD python /app/app.py DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 7

Why use an orchestrator

Application Anatomy Login Service Photo Upload Web Server Like Service Comment Service Application Server Profile Service Logging Service Database Photo Processing Friend Requests DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 9

Pets vs Cattle DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 10

Redesign Image Sharing App Web front End ios App Android App API Service Team 1 Team 2 Team n Microservice 1 Microservice 2 Microservice n DB1 DB2 DBn DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 11

Advantages of Microservices Autonomous Microservice can be upgraded independent of other systems Microservice can iterate as quickly as it needs Polyglot application stacks (Technology Heterogenity) Other microservices are black boxes to other services Service can be used by other projects in the organization DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 12

Using docker CLI is all well and good as a developer.. But you re probably not going to manage production like this Container Container Container Docker Engine Linux Kernel Host / VM 1 Docker Engine Linux Kernel Host / VM 2 $ssh host1 host1# docker run container $ssh host2 host2# docker run container $ssh host3 host3# docker run container Docker Engine Linux Kernel Host / VM 3 DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 13

Container orchestration is a must. Once you ve built your containers and pushed them. Container Orchestrators manage running containers across a pool of resources for you Load Balancing Container Container Container Health Checks Kubernetes Log Aggregation / Access Developer API $kubectl scale deployment <name> --replicas=3 DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 14

What are other orchestrators? Docker Swarm / EE Apache Marathon Rancher (seem to be moving towards k8s) DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 15

What is kubernetes?

Borg GIFE 2015 paper from Google: https://research.google.com/pubs/pub43438.html Engineers who worked on Borg now work on Kubernetes: http://blog.kubernetes.io/2015/04/borg-predecessor-to-kubernetes.html Lessons Learned: Multi-Job services could not be managed as a single entity One IP address per Machine 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public

What is Kubernetes? Container Orchestration Keeping your containers up, scaling them, routing traffic to them Kubernetes!= Docker though K8S uses Docker (or CoreOS rkt) DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 18

Installation options MiniKube (local workstation) Installers (on-prem, hybrid, custom) Kops (part of core kubernetes.io github) Kubespray (Ansible + Terraform) Etc, etc Cloud Google Container Engine (GKE ) Azure Container Service Amazon EKS Etc DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 19

Sidebar: K8S the hard way Step-by-step tutorial of how to assemble a kubernetes cluster https://github.com/kelseyhightower/kubernetes-the-hard-way DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 20

Source: http://x-team.com/2016/07/introduction-kubernetes-architecture/

Deploying Containers Kubectl & ~/.kube/config Minikube CLI The Real Way : CI system DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 22

Simple Architecture Kubernetes Registry CI/CD Persistence DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 23

Kubernetes Components

Kubernetes main Features Pods Deployments Services Ingress DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 25

Pods Group of one or more containers, shared storage, and options for how to run the containers Share IP address and port space Atomic unit of management Source: http://kubernetes.io/docs/user-guide/pods/ DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 26

Deployments Rolling upgrades Declare intent: How many replicas should be running of a given pod? Namespace Labels Ports that should be exposed DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 27

Services Abstraction for the mortality of Pods Provide single stable name and address for a set of pods inside the cluster (aka service discovery). Source: http://kubernetes.io/docs/user-guide/services/ DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 28

Ingress Abstraction for services An Ingress is a set of rules for directing inbound traffic to a service. An Ingress Controller is a service that listens for the creation of new services and does reverse proxy (nginx, traefik, f5 loadbalancer) See: http://kubernetes.io/docs/user-guide/ingress/ DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 29

K8S templates: deployment # k8s/dev/api-deployment.yaml apiversion: extensions/v1beta1 kind: Deployment metadata: name: rest-api-swagger spec: replicas: 2 template: metadata: labels: app: rest-api-swagger spec: containers: - name: rest-api-swagger image: ciscodevnet/rest-api-swagger:latest ports: - containerport: 10010 DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 30

K8S templates: service # k8s/services/api-service-lb.yaml kind: Service apiversion: v1 metadata: name: rest-api-swagger spec: type: LoadBalancer # or NodePort, etc. ports: - name: http port: 8080 targetport: 10010 protocol: TCP selector: app: rest-api-swagger DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 32

Manual kubectl deployment $ kubectl apply -f k8s/dev/api-deployment.yaml $ kubectl apply -f k8s/services/api-service-lb.yaml $ kubectl describe deployment $ kubectl describe service rest-api-swagger $ kubectl delete -f k8s/dev/api-deployment.yaml $ kubectl delete -f k8s/services/api-service-lb.yaml DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 33

Drone CI kubectl deployment deploy: k8s: image: containers.ex.com/devnet/drone-kubectl apiserver: https://your-gke-api-endpoint #kubectl cluster-info token: $$K8S_TOKEN commands: - 'kubectl apply -f k8s/services/*.yaml - 'kubectl apply -f k8s/dev/*.yaml --record - 'kubectl describe service ${SERVICE_NAME} when: branch: master DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 34

Cisco tie-ins Google-Cisco Partnership Soon to be released Cisco Container Platform allows simple management of multiple kubernetes clusters aimed at enterprise hybrid cloud. On-premises, Cisco s hyper-converged platform, Cisco HyperFlex, will provide a cloudready solution for Kubernetes and containers, and management tools to enforce security and consumption policies. Developers will be able to create new applications in the cloud or on-premises consistently using the same tools, runtime and production environment. And more Contiv Container Networking Interface plugin Ties into ACI for policy-based controls DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 35

Come find me after today I ll be waiting Ashley Roach asroach@cisco.com @aroach http://github.com/aroach http://linkedin.com/in/ashleyroach Cisco DEVNET @CiscoDevNet http://github.com/ciscodevnet DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 36

Please complete your Online Session Evaluations after each session Complete 4 Session Evaluations & the Overall Conference Evaluation (available from Thursday) to receive your Cisco Live T-shirt All surveys can be completed via the Cisco Live Mobile App or the Communication Stations Complete Your Online Session Evaluation Don t forget: Cisco Live sessions will be available for viewing on-demand after the event at www.ciscolive.com/global/on-demand-library/. 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public

Continue Your Education Demos in the Cisco campus Walk-in Self-Paced Labs Tech Circle Meet the Engineer 1:1 meetings Related sessions DEVNET-1999 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 38

Thank you