DevOps Workflow. From 0 to kube in 60 min. Christian Kniep, v Technical Account Manager, Docker Inc.

Similar documents
IBM Cloud Developer Tools (IDT) and App Service Console Overview

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

By: Jeeva S. Chelladhurai

Containers, Serverless and Functions in a nutshell. Eugene Fedorenko

Welcome to Docker Birthday # Docker Birthday events (list available at Docker.Party) RSVPs 600 mentors Big thanks to our global partners:

Docker CaaS. Sandor Klein VP EMEA

A DEVOPS STATE OF MIND. Chris Van Tuin Chief Technologist, West

Container-based virtualization: Docker

Package your Java Application using Docker and Kubernetes. Arun

SQL Server inside a docker container. Christophe LAPORTE SQL Server MVP/MCM SQL Saturday 735 Helsinki 2018

Creating pipelines that build, test and deploy containerized artifacts Slides: Tom Adams

Sunil Shah SECURE, FLEXIBLE CONTINUOUS DELIVERY PIPELINES WITH GITLAB AND DC/OS Mesosphere, Inc. All Rights Reserved.

Developing Kubernetes Services

HOW TO STAND OUT IN DEVOPS

DevOps Course Content

Code: Slides:

Container in Production : Openshift 구축사례로 이해하는 PaaS. Jongjin Lim Specialist Solution Architect, AppDev

UP! TO DOCKER PAAS. Ming

In-cluster Open Source Testing Framework

Think Small to Scale Big

ASP.NET Core & Docker

The age of orchestration

Taming your heterogeneous cloud with Red Hat OpenShift Container Platform.

Docker All The Things

Docker at Lyft Speeding up development Matthew #dockercon

Who is Docker and how he can help us? Heino Talvik

Amir Zipory Senior Solutions Architect, Redhat Israel, Greece & Cyprus

Red Hat Atomic Details Dockah, Dockah, Dockah! Containerization as a shift of paradigm for the GNU/Linux OS

Docker 101 Workshop. Eric Smalling - Solution Architect, Docker

Getting Started With Containers

[Docker] Containerization

This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and

Installation Guide for Kony Fabric Containers Solution On-Premises

OpenStack Magnum Hands-on. By Saulius Alisauskas and Bryan Havenstein

TECHNICAL BRIEF. Scheduling and Orchestration of Heterogeneous Docker-Based IT Landscapes. January 2017 Version 2.0 For Public Use

/ Cloud Computing. Recitation 5 February 14th, 2017

Docker and Oracle Everything You Wanted To Know

An Introduction to Kubernetes

SBB. Java User Group 27.9 & Tobias Denzler, Philipp Oser

DOCKER 101 FOR JS AFFICIONADOS. Christian Ulbrich, Zalari UG

I keep hearing about DevOps What is it?

Best Practices for Developing & Deploying Java Applications with Docker

OpenShift 3 Technical Architecture. Clayton Coleman, Dan McPherson Lead Engineers

CNA1699BU Running Docker on your Existing Infrastructure with vsphere Integrated Containers Martijn Baecke Patrick Daigle VMworld 2017 Content: Not fo

Developing and Testing Java Microservices on Docker. Todd Fasullo Dir. Engineering

ovirt and Docker Integration

Running MarkLogic in Containers (Both Docker and Kubernetes)

Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS

Harbor Registry. VMware VMware Inc. All rights reserved.

Deployment Patterns using Docker and Chef

Securing Containers on the High Seas. Jack OWASP Belgium September 2018

VMworld 2017 Content: Not for publication #CNA1699BE CONFIDENTIAL 2

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

CLOUD-NATIVE APPLICATION DEVELOPMENT/ARCHITECTURE

Go Faster: Containers, Platforms and the Path to Better Software Development (Including Live Demo)

Accelerate at DevOps Speed With Openshift v3. Alessandro Vozza & Samuel Terburg Red Hat

The Long Road from Capistrano to Kubernetes

A DEVOPS STATE OF MIND. Chris Van Tuin Chief Technologist, West

From development to production

Implementing the Twelve-Factor App Methodology for Developing Cloud- Native Applications

Containerizing GPU Applications with Docker for Scaling to the Cloud

EVERYTHING AS CODE A Journey into IT Automation and Standardization. Raphaël Pinson

Docker Universal Control Plane Deploy and Manage On-Premises, Your Dockerized Distributed Applications

Bright Cluster Manager: Using the NVIDIA NGC Deep Learning Containers

Secure Kubernetes Container Workloads

Singularity CRI User Documentation

Using Network Virtualization in DevOps environments Yves Fauser, 22. March 2016 (Technical Product Manager VMware NSBU)

Fixing the "It works on my machine!" Problem with Docker

/ Cloud Computing. Recitation 5 September 26 th, 2017

Virtual Infrastructure: VMs and Containers

" Qué me estás container?" Docker for dummies

Running Splunk Enterprise within Docker

Kubernetes Integration Guide

SCALING DRUPAL TO THE CLOUD WITH DOCKER AND AWS

CONTAINERS AND MICROSERVICES WITH CONTRAIL

Azure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region

Containers OpenStack. Murano brings Docker & Kubernetes to OpenStack. Serg Melikyan. software.mirantis.com. January 27, 2015

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

It s probably the most popular containerization technology on Linux these days

A DEVOPS STATE OF MIND WITH DOCKER AND KUBERNETES. Chris Van Tuin Chief Technologist, West

Using MySQL Containers

CloudCenter for Developers

Nulecule. Packaging, Distributing & Deploying Container Applications the Cloud Way Ghent, Belgium

GETTING STARTED WITH WINDOWS CONTAINERS, DOCKER AND AZURE

Docker und IBM Digital Experience in Docker Container

Buenos Aires 31 de Octubre de 2018

USING DOCKER FOR MXCUBE DEVELOPMENT AT MAX IV

Launching StarlingX. The Journey to Drive Compute to the Edge Pilot Project Supported by the OpenStack

An introduction to Docker

Investigating Containers for Future Services and User Application Support

Infoblox Kubernetes1.0.0 IPAM Plugin

OpenShift Roadmap Enterprise Kubernetes for Developers. Clayton Coleman, Architect, OpenShift

Getting Started With Serverless: Key Use Cases & Design Patterns

Scheduling in Kubernetes October, 2017

Getting Started with OpenStack

Application Centric Microservices Ken Owens, CTO Cisco Intercloud Services. Redhat Summit 2015

AGILE RELIABILITY WITH RED HAT IN THE CLOUDS YOUR SOFTWARE LIFECYCLE SPEEDUP RECIPE. Lutz Lange - Senior Solution Architect Red Hat

MySQL and Docker Strategies Patrick Galbraith Giuseppe Maxia

Red Hat Roadmap for Containers and DevOps

Container Orchestration on Amazon Web Services. Arun

Transcription:

DevOps Workflow From 0 to kube in 60 min http://qnib.org/devops-workflow Christian Kniep, v2018-02-20 Technical Account Manager, Docker Inc.

Motivation Iteration barriers

Works on my Laptop! Why is DevOps not enough. Laptop Cluster Development Experiment Prod DevOps Dev Artifact: code Env: interactive Ops Artifact: pkg/img Env: automated Development Experiment Release/Integration Prod DevRelOps Dev Artifact: code Env: interactive Release Artifact: pkg/img Env: automated Ops Artifact: pkg/img Env: automated DevRel*Ops Development Experiment Dev Artifact: code Env: interactive Release/Integration Release Artifact: pkg/img Env: automated Q&A Performance Prod Ops Artifact: pkg/img Env: automated

Build, Ship & Run Where Run == Orchestrate Build the image: Dockerfile + context -> Docker Image Ship the image using a (private) Docker Registry Orchestrate the Image: docker-compose.yml For the developer the orchestration should be transparent and out of scope. Artifacts are: 1. Dockerfile + context (git repository) 2. docker-compose.yml (git repository)

Application Containerization Portability, Reproducibility As a developer I want to work on a webapp for DockerCon EU, which represents a simple three tier stack. web: JS app I am working on words: API serving business logic db: Database backend api web api db

Prerequisite for Workshop http://qnib.org/devops-workflow Docker Desktop - Docker4Mac / Docker4Win edge-channel (provides kubernetes) - DockerCE for Linux Git Repository git clone git@github.com:christiankniep/k8s-wordsmith-demo.git cd k8s-wordsmith-demo.git git checkout -b update/container_to_kube docker-compose pull cd swarmprom ; docker-compose pull

#1 Building the Image(s) First Step as a Developer

docker-compose build $ export TAG=$(date +%s) $ docker-compose build WARNING: Some services (api) use the 'deploy' key, which will be ignored. Building web Step 1/12 : FROM golang:1.9.1-alpine3.6 as builder *snip* Successfully tagged qnib/k8s-wordsmith-web:1518955537 Building api *snip* Successfully tagged qnib/k8s-wordsmith-api:1518955537 Building db *snip* Successfully tagged qnib/k8s-wordsmith-db:1518955537

#2 Simple Container One-shot Orchestration

docker-compose build $ docker-compose up WARNING: Some services (api) use the 'deploy' key, which will be ignored. Creating network "k8swordsmithdemo_default" with the default driver Creating k8swordsmithdemo_web_1... done Creating k8swordsmithdemo_api_1... done Creating k8swordsmithdemo_db_1... done Attaching to k8swordsmithdemo_db_1, k8swordsmithdemo_api_1, k8swordsmithdemo_web_1 db_1 The files belonging to this database system will be owned by user "postgres". db_1 This user must also own the server process.

#3 Deploying Stack in SWARM Simple yet Powerful Orchestration

SWARM at a Glance Easy to understand and reason about

Deploy Auxiliary Stack to Monitor SWARM Fork of: https://github.com/stefanprodan/swarmprom $ cd swarmprom $ docker stack deploy -c docker-compose.yml prom Creating network prom_net Creating config prom_service_rules Creating config prom_node_name Creating config prom_caddy_config Creating config prom_dockerd_config Creating config prom_node_rules Creating config prom_task_rules Creating service prom_caddy Creating service prom_dockerd-exporter Creating service prom_cadvisor Creating service prom_grafana Creating service prom_node-exporter Creating service prom_prometheus

Docker stack deploy Using the Docker SWARM API $ docker stack deploy -c docker-compose.yml words Ignoring unsupported options: build Creating network words_default Creating service words_web Creating service words_db Creating service words_api $ docker service ls --format="{{.name}}\t{{.replicas}}\t{{.image}}\t{{.ports}}" words_api 5/5 qnib/k8s-wordsmith-api:1518955537 words_db 1/1 qnib/k8s-wordsmith-db:1518955537 words_web 1/1 qnib/k8s-wordsmith-web:1518955537 *:8080->80/tcp $ $ docker stack deploy -c docker-compose.yml words #2>dev/null Updating service words_web (id: fv7z1lryqmysxhzobdjrbgecl) image qnib/k8s-wordsmith-web:1518955537 could not be accessed on a registry to record its digest. Each node will access qnib/k8s-wordsmith-web:1518955537 independently, possibly leading to different nodes running different versions of the image.

#4 Deploying Stack in Kubernetes Using CustomResourceDefinitions

Docker stack deploy #2 Using the docker-crd within Kube $ docker stack rm words Removing service words_api Removing service words_db Removing service words_web Removing network words_default $ export DOCKER_ORCHESTRATOR=kubernetes $ docker stack deploy -c docker-compose.yml words Stack words was created Waiting for the stack to be stable and running... - Service api has one container running - Service db has one container running - Service web has one container running Stack words is stable and running $

#5 Deploying Stack in Kubernetes Using Kubernetes Object Files

Kubectl deploy #2 Using the kubectl CLI $ export DOCKER_ORCHESTRATOR=kubernetes $ kubectl apply -f. deployment "kube-api" created service "kube-api" created deployment "kube-db" created service "kube-db" created deployment "kube-web" created service "kube-web" created $

THANK YOU :) christian.kniep@docker.com