Developing Kubernetes Services
|
|
- Iris Meghan Allison
- 5 years ago
- Views:
Transcription
1 / MARCH 2019 / CON LONDON Developing Kubernetes Services at Airbnb Scale
2 What is kubernetes?
3 @MELAN IECEBULA Who am I?
4 A BRIEF HISTORY
5 Why Microservices? MONOLITH LOC
6 Why Microservices? ENGINEERING TEAM
7 Why Microservices? SCALING CONTINUOUS DELIVERY
8 Why Microservices? Deploys per week (all apps, all environments)
9 Why Microservices? Monolith production deploys per week
10 Why Microservices? 125,000 production deploys per year
11 Why kubernetes? EVOLUTION OF CONFIGURATION MANAGEMENT Manually configuring boxes Automate configuration of applications with Chef Automate configuration and orchestration of containerized applications with Kubernetes
12 Why kubernetes? declarative portable human-friendly data efficient scheduling immutable standard format extensible API reproducible
13 TODAY
14 migration progress 50% of services in kubernetes
15 migration progress 250+ critical services in kubernetes
16 Challenges with kubernetes? complex configuration complex tooling integrating with your current infrastructure open issues scaling and more!
17 Challenges with kubernetes? complex configuration complex tooling integrating with your current infrastructure open issues solvable problems! scaling and more!
18 you are not alone.
19 Solutions? 1. abstract away k8s configuration 2. generate service boilerplate 3. version + refactor configuration 4. opinionated kubectl 5. custom ci/cd + validation
20 ABSTRACT AWAY CONFIGURATION
21 kubernetes config files Production Deployment Canary Deployment Dev Deployment kubernetes kubectl apply Production ConfigMap Canary ConfigMap Dev ConfigMap kubernetes cluster Production Service Canary Service Dev Service P
22 lots of boilerplate kubernetes config files repetitive by environment Production Deployment Canary Deployment Dev Deployment kubectl apply kubernetes resources Production ConfigMap Canary ConfigMap Dev ConfigMap kubernetes cluster Production Service Canary Service Dev Service P environments
23 Prefer templating over file inheritance Reducing k8s boilerplate OUR REQUIREMENTS Input should be templated YAML files Make it easier to migrate 100s of legacy services Make it easier to retrain 1000 engineers
24 generating k8s configs kubernetes config files Project Apps Production Deployment Canary Deployment Dev Deployment Containers kube-gen generate kubectl apply Files Production ConfigMap Canary ConfigMap Dev ConfigMap kubernetes cluster Volumes Production Service Canary Service Dev Service Dockerfile
25 generating k8s configs kube-gen! kubernetes config files Project Apps Production Deployment Canary Deployment Dev Deployment Containers kube-gen generate kubectl apply Files Production ConfigMap Canary ConfigMap Dev ConfigMap kubernetes cluster Volumes Production Service Canary Service Dev Service Dockerfile
26 sets params per environment Project Apps Reducing k8s boilerplate WHAT WE WENT WITH Containers Files other files access params Volumes Dockerfile
27 generating k8s configs Project Apps Containers kube-gen generate Files Volumes Dockerfile
28 generating k8s configs Project Apps Containers kube-gen generate standardized namespaces based on environments! Files Volumes Dockerfile
29 Project Apps Which shared components to use? kube-gen COMPONENTS Containers Files example components Volumes nginx logging statsd Dockerfile
30 nginx component Main Container Containers common pattern abstracted into component kube-gen COMPONENTS Main App Volumes component yams is merged into project on generate components can require or set default params Files Dockerfile
31 Reducing k8s boilerplate OPEN SOURCE OPTIONS 1. Combine with package management (ex: helm) 2. Override configuration via file inheritance (ex: kustomize) 3. Override configuration via templating (ex: kapitan)
32 Takeaways Reduce kubernetes boilerplate Standardize on environments and namespaces
33 GENERATE SERVICE BOILERPLATE
34 Everything about a service is in one place in git, and managed with one process.
35 Everything about a service is in one place in git Configuration LIVES IN ONE PLACE All configuration lives in _infra alongside project code Edit code and configuration with one pull request Easy to add new configuration Statically validated in CI/CD
36 What we support: kube-gen files framework boilerplate API boilerplate Configuration LIVES IN ONE PLACE CI/CD docs AWS IAM roles project ownership storage.. and more!
37 this hello world service was created in one command Configuration LIVES IN ONE PLACE
38 collection of config generators (ex: docs, ci) Configuration LIVES IN ONE PLACE
39 Configuration LIVES IN ONE PLACE collection of framework-specific generators (ex: Rails, Dropwizard)
40 make best practices the default (ex: deploy pipeline, autoscaling, docs) Configuration CAN BE GENERATED run generators individually or as a group support for review, update, commit
41 Takeaways Everything about a service should be in one place in git Make best practices the default by generating configuration
42 VERSION CONFIGURATION
43 Why do we version our kube configuration? add support for something new (ex: k8s version) kube.yml v1 kubev1 deploy kubev2 deploy want to change something (ex: deployment strategy) want to drop support for kubernetes cluster something (breaking kube.yml v2 change) know which versions are bad when we make a regression support release cycle and cadence
44 How do we version our kube configuration? 1. version field 2. publish binaries for each version 3. channels point to binaries (ex: stable) 4. generate and apply using the appropriate binary bonk kube-gen.yml
45 Why do we version our generated configuration? kube.yml generated by sha1 kubev1 deploy what our project generators generate changes over kubernetes cluster time kube.yml generated by sha2 best practices change and bugs in the generators are found! generator at sha2 has a bug
46 How do we version our generated configuration? generator tags generated files with version, sha, and timestamp
47 REFACTOR CONFIGURATION
48 Why do we refactor configuration? FOR HUNDREDS OF SERVICES services should be up-to-date with latest best practices update configuration to the latest supported versions apply security patches to images configuration migrations should be automated
49 (we don t want to manually refactor) 250+ critical services in kubernetes
50 How do we refactor configuration? get-repos.py close.py collection of general purpose scripts list-pr-urls.py refactor.py scripts are modular scripts cover the lifecycle of a refactor updateprs.py status.py refactorator
51 The lifecycle of a refactor Run Refactor Update Merge Checks out repo, finds project, runs refactor job, tags owners, creates PR Comments on the PR, reminding owners to verify, edit, and merge the PR Merges the PR with different levels of force
52 How do we refactor configuration? refactorator upgradekube.py refactor job refactorator will run a refactor for all services given a refactor job refactor job updates _infra file(s) ex: upgrade kube version to stable
53 Bumping stable version bump stable version runs daily on weekdays refactorator upgradekube.py cron job uses refactorator and with the upgradekube.py refactor job to create PRs k8s cron job refactor job another cron job handling updating and merging PRs
54 Takeaways Configuration should be versioned and refactored automatically.
55 OPINIONATED KUBECTL
56 lots of boilerplate kubernetes config files repetitive by environment Production Deployment Canary Deployment Dev Deployment kubectl apply kubernetes resources Production ConfigMap Canary ConfigMap Dev ConfigMap kubernetes cluster Production Service Canary Service Dev Service P environments
57 kubernetes config files Production Deployment Canary Deployment Dev Deployment kubectl apply kubernetes Production ConfigMap Canary ConfigMap Dev ConfigMap kubernetes cluster verbose Production Service Canary Service Dev Service repetitive by namespace P
58 @MELAN IECEBULA k tool KUBECTL WRAPPER Production Deployment Canary Deployment Dev Deployment kubectl apply Production ConfigMap Production Service Canary ConfigMap Canary Service Dev ConfigMap Dev Service kubernetes cluster calls kubectl commands (incl. plugins)
59 @MELAN IECEBULA k tool OPINIO NATED KUBECTL
60 Runs in the project home directory: $ cd /path/to/bonk $ k status k tool USES ENV VARS Environment variables for arguments: $ k status ENV=staging Prints the command that it will execute: $ k status ENV=staging standardized namespaces! kubectl get pods --namespace=bonk-staging
61 k generate generates kubernetes files k build performs project build, docker build and k tool SIMPLIFIES BUILDS AND DEPLOYS docker push with tags k deploy creates namespace, applies/replaces kubernetes files, sleeps and checks deployment status can chain commands; ex: k all
62 defaults to random pod, main container: k tool A DEBUGGING TOOL $ k ssh ENV=staging specify particular pod, specific container: $ k logs ENV=staging POD= CONTAINER=bonk automates debugging with k diagnose ENV=staging
63 defaults to random pod, main container: k tool A DEBUGGING TOOL $ k ssh ENV=staging specify particular pod, specific container: call kubectl diagnose $ k logs ENV=staging POD= CONTAINER=bonk automates debugging with k diagnose ENV=staging
64 What are kubectl plugins?
65 What are kubectl plugins?
66 k diagnose SETUP deploy bonk service with failing command new pod in CrashLoopBackoff
67 k diagnose MANUALLY 1. use get pods - o=yaml and look for problems 2. grab logs for unready container
68 k diagnose MANUALLY 3. get k8s events related to this pod
69 kubectl podevents KUBECTL PLUGIN kubectl podevents plugin
70 kubectl diagnose USES COBRA GO CLI // defines CLI command and flags var Namespace string var rootcmd = &cobra.command{ Use: kubectl diagnose namespace<namespace>" Short: diagnoses a namespace with pods in CrashLoopBackOff Run: func(cmd *cobra.command, arg[]string) { // Fill in with program logic } } func Execute() { rootcmd.flags().stringvarp(&namespace, "namespace", "n", ) rootcmd.markflagrequired("namespace") if err := rootcmd.execute(); err!= nil { fmt.println(err) os.exit(1) }
71 kubectl diagnose USES K8S CLIENT-GO // get pods (assume Namespace is defined) kubeconfig := filepath.join(os.getenv("home"), ".kube","config") config, err := clientcmd.buildconfigfromflags("", kubeconfig) if err!= nil { } clientset, err := kubernetes.newforconfig(config) if err!= nil { } pods, err := clientset.corev1().pods(namespace).list(metav1.listoptions{}) fmt.printf("there are %d pods in the namespace %s\n", len(pods.items), Namespace) for _, pod := range pod.items { podname := pod.name for _, c := range pod.status.containerstatuses { if c.ready!= true { // print c.lastterminatedstate and c.state } } uses k8s client-go and Namespace param to get pods
72 kubectl diagnose USES K8S CLIENT-GO // get pods (assume Namespace is defined) kubeconfig := filepath.join(os.getenv("home"), ".kube","config") config, err := clientcmd.buildconfigfromflags("", kubeconfig) if err!= nil { } clientset, err := kubernetes.newforconfig(config) if err!= nil { } pods, err := clientset.corev1().pods(namespace).list(metav1.listoptions{}) fmt.printf("there are %d pods in the namespace %s\n", len(pods.items), Namespace) for _, pod := range pod.items { podname := pod.name for _, c := range pod.status.containerstatuses { if c.ready!= true { // print c.lastterminatedstate and c.state prints info for all unready containers } }
73 // get pod events for namespace and pod kubectl diagnose USES OS/EXEC (WHEN LAZY) cmd := exec.command("kubectl", "podevents", Namespace, podname) var out bytes.buffer var stderr bytes.buffer cmd.stdout = &out podevents kubectl plugin cmd.stderr = &stderr err := cmd.run() if err!= nil { } fmt.println(fmt.sprint(err) + ": " + stderr.string()) log.fatal(err) } else { } fmt.println("events: \n" + out.string()) // also grab logs cmd = exec.command("kubectl", "logs", podname, fmt.sprintf("-- namespace=%s", Namespace), "-c", "bonk")
74 kubectl diagnose GO KUBECTL PLUGIN
75 kubectl diagnose GO KUBECTL PLUGIN 1. unready container info
76 kubectl diagnose GO KUBECTL PLUGIN 1. unready container info 2. kubectl podevents
77 kubectl diagnose GO KUBECTL PLUGIN 1. unready container info 2. kubectl podevents 3. pod logs for unready containers
78 Takeaways Create an opinionated kubectl wrapper Automate common k8s workflows with kubectl plugins
79 CI/CD
80
81 Each step in our CI /CD jobs are RUN steps in a build Dockerfile
82 runs k commands
83 DEPLOY PROCESS
84 A single deploy process for every change Develop Merge Deploy Write code and config under your project Open a PR and merge your code to master Deploy all code and config changes
85 A single deploy process for every change Deployment AWS Project ownership Storage kubectl apply ConfigMap Alerts Docs Service Discovery kubernetes cluster Service Dashboards Secrets API Gateway Routes
86 How do we apply k8s configuration? Deployment kubectl apply all files kubectl apply in some cases where apply fails, replace files without ConfigMap kubernetes cluster force always restart pods on deploy to pick up changes Service return atomic success or failure state by sleeping and checking status
87 How do you always restart pods on deploy? We add a date label to the pod spec, Deployment which convinces k8s to relaunch all pods kubectl apply ConfigMap kubernetes cluster Service
88 How do we apply custom configuration?
89 How do we apply custom configuration? kubectl apply aws.yml kubernetes cluster AWS AWS AWS CRD Controller webhook
90 How do we apply custom configuration? kubectl apply 1. Create a custom resource definition aws.yml kubernetes cluster for aws.yml AWS AWS AWS CRD Controller webhook
91 How do we apply custom configuration? aws.yml kubectl apply kubernetes cluster 2. Create a controller that calls a web hook when aws.yml is applied AWS AWS AWS CRD Controller webhook
92 How do we apply custom configuration? kubectl apply 3. Create a web hook that updates a aws.yml kubernetes cluster custom resource AWS AWS AWS CRD Controller webhook
93 How do we apply custom configuration? 4. AWS lambda exposes web hook to be called AWS CRD AWS Controller AWS webhook AWS lambda
94 Takeaways Code and configuration should be deployed with the same process Use custom resources and custom controllers to integrate k8s with your infra
95 VALIDATION
96 enforce best practices at build time with validation scripts Configuration at deploy time with admission controller SHOULD BE VALIDATED
97 How do we validate configuration at build time?
98 How do we validate configuration at build time? project.yml validation script kube validation script job dispatcher project build global validation docs build jobs aws.yml validation script bonk CI jobs global jobs repo
99 How do we validate configuration at build time? project.yml validation script kube validation script job dispatcher project build global validation docs build jobs aws.yml validation script 1. Define global job in global jobs repo bonk CI jobs global jobs repo
100 How do we validate configuration at build time? project.yml validation script kube validation script job dispatcher project build global validation docs build jobs 2. job dispatcher aws.yml validation script always dispatches global jobs to projects bonk CI jobs global jobs repo
101 How do we validate configuration at build time? project.yml validation script kube validation script job dispatcher project build global validation docs build jobs aws.yml validation script 3. global job runs alongside project bonk CI jobs global jobs repo jobs
102 What do we validate at build time? project.yml validation script invalid yaml invalid k8s configuration kube validation script job dispatcher bad configuration versions max namespace length (63 chars) valid project name aws.yml validation script valid team owner in project.yml global jobs repo
103 How do we validate configuration at deploy time? kubectl apply admission controller project.yml kubernetes cluster admission controller intercepts requests to the k8s api server prior to persistence of the object
104 How do we validate configuration at deploy time? metadata is encoded as admission controller annotations at generate time project.yml admission controller checks for required annotations reject any update to resources that are missing required annotations
105 What do we validate with admission controller? admission controller project ownership annotations project.yml configuration stored in git configuration uses minimally supported version
106 What do we validate with admission controller? production images must be admission controller uploaded to production ECR project.yml prevent deployment of unsafe workloads prevent deployment of development namespaces to production clusters
107 What do we validate with admission controller? production images must be admission controller uploaded to production ECR project.yml prevent deployment of unsafe workloads prevent deployment of development namespaces to production clusters standardized namespaces!
108 Takeaways CI/CD should run the same commands that engineers run locally CI/CD should run in a container Validate configuration as part of CI/ CD
109 10 Takeaways 1. Abstract away complex kubernetes configuration 2. Standardize on environments and namespaces 3. Everything about a service should be in one place in git 4. Make best practices the default by generating configuration 5. Configuration should be versioned and refactored automatically. 6. Create an opinionated kubectl wrapper that automates common workflows 7. CI/CD should run the same commands that engineers run locally, in a container 8. Code and configuration should be deployed with the same process 9. Use custom resources and custom controllers to integrate with your infrastructure 10. Validate configuration as part of CI/CD
110 2019 Challenges thousands of services running in k8s moving all configuration to gitops workflow w/ custom controllers scaling the cluster / scaling etcd / multi cluster support stateful services / high memory requirements tighter integration with kubectl plugins and more! keno
111
OpenShift Roadmap Enterprise Kubernetes for Developers. Clayton Coleman, Architect, OpenShift
OpenShift Roadmap Enterprise Kubernetes for Developers Clayton Coleman, Architect, OpenShift What Is OpenShift? Application-centric Platform INFRASTRUCTURE APPLICATIONS Use containers for efficiency Hide
More informationCode: Slides:
Workshop Resources Code: https://github.com/beekpr/public-workshops Slides: https://tinyurl.com/yc2uo3wk Make sure minikube and kubectl is setup (labs/1-setup-cluster.md has some instructions) Kubernetes
More informationContinuous delivery while migrating to Kubernetes
Continuous delivery while migrating to Kubernetes Audun Fauchald Strand Øyvind Ingebrigtsen Øvergaard @audunstrand @oyvindio FINN Infrastructure History Kubernetes at FINN Agenda Finn Infrastructure As
More informationThe Long Road from Capistrano to Kubernetes
The Long Road from Capistrano to Kubernetes Tobias Schwab, Co-Founder of PhraseApp Slides: http://bit.ly/cap-to-kube How to deploy Ruby on Rails? Deploying Ruby on Rails required on all servers: OS + system
More informationImportant DevOps Technologies (3+2+3days) for Deployment
Important DevOps Technologies (3+2+3days) for Deployment DevOps is the blending of tasks performed by a company's application development and systems operations teams. The term DevOps is being used in
More informationContainers, Serverless and Functions in a nutshell. Eugene Fedorenko
Containers, Serverless and Functions in a nutshell Eugene Fedorenko About me Eugene Fedorenko Senior Architect Flexagon adfpractice-fedor.blogspot.com @fisbudo Agenda Containers Microservices Docker Kubernetes
More informationKuber-what?! Learn about Kubernetes
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
More informationBuilding a Kubernetes on Bare-Metal Cluster to Serve Wikipedia. Alexandros Kosiaris Giuseppe Lavagetto
Building a Kubernetes on Bare-Metal Cluster to Serve Wikipedia Alexandros Kosiaris Giuseppe Lavagetto Introduction The Wikimedia Foundation is the organization running the infrastructure supporting Wikipedia
More informationIntroduction to Kubernetes
Introduction to Kubernetes Neil Peterson @nepeters #ITDEVCONNECTIONS Session Topics - Quick primer on containers - Container mgmt solutions - Kubernetes basics - Kubernetes deeper dive - Kubernetes beyond
More informationAn Introduction to Kubernetes
8.10.2016 An Introduction to Kubernetes Premys Kafka premysl.kafka@hpe.com kafkapre https://github.com/kafkapre { History }???? - Virtual Machines 2008 - Linux containers (LXC) 2013 - Docker 2013 - CoreOS
More informationWHITE PAPER. RedHat OpenShift Container Platform. Benefits: Abstract. 1.1 Introduction
WHITE PAPER RedHat OpenShift Container Platform Abstract Benefits: Applications are designed around smaller independent components called microservices. Elastic resources: Scale up or down quickly and
More information/ Cloud Computing. Recitation 5 February 14th, 2017
15-319 / 15-619 Cloud Computing Recitation 5 February 14th, 2017 1 Overview Administrative issues Office Hours, Piazza guidelines Last week s reflection Project 2.1, OLI Unit 2 modules 5 and 6 This week
More informationOpenShift 3 Technical Architecture. Clayton Coleman, Dan McPherson Lead Engineers
OpenShift 3 Technical Architecture Clayton Coleman, Dan McPherson Lead Engineers Principles The future of *aas Redefine the Application Networked components wired together Not just a web frontend anymore
More informationDevOps Technologies. for Deployment
DevOps Technologies for Deployment DevOps is the blending of tasks performed by a company's application development and systems operations teams. The term DevOps is being used in several ways. In its most
More informationDevOps Workflow. From 0 to kube in 60 min. Christian Kniep, v Technical Account Manager, Docker Inc.
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
More informationWhat s New in K8s 1.3
What s New in K8s 1.3 Carter Morgan Background: 3 Hurdles How do I write scalable apps? The App How do I package and distribute? What runtimes am I locked into? Can I scale? The Infra Is it automatic?
More informationWhat s New in K8s 1.3
What s New in K8s 1.3 Carter Morgan Background: 3 Hurdles How do I write scalable apps? The App How do I package and distribute? What runtimes am I locked into? Can I scale? The Infra Is it automatic?
More informationDevOps Course Content
DevOps Course Content 1. Introduction: Understanding Development Development SDLC using WaterFall & Agile Understanding Operations DevOps to the rescue What is DevOps DevOps SDLC Continuous Delivery model
More informationKUBERNETES IN A GROWN ENVIRONMENT AND INTEGRATION INTO CONTINUOUS DELIVERY
KUBERNETES IN A GROWN ENVIRONMENT AND INTEGRATION INTO CONTINUOUS DELIVERY Stephan Fudeus, Expert Continuous Delivery Dr. Sascha Mühlbach, Expert Infrastructure Architect United Internet / 1&1 Mail & Media
More informationRed Hat OpenShift Roadmap Q4 CY16 and H1 CY17 Releases. Lutz Lange Solution
Red Hat OpenShift Roadmap Q4 CY16 and H1 CY17 Releases Lutz Lange Solution Architect @AtomicContainer OpenShift Roadmap OpenShift Container Platform 3.2 Kubernetes 1.2 & Docker 1.9
More informationDistributed CI: Scaling Jenkins on Mesos and Marathon. Roger Ignazio Puppet Labs, Inc. MesosCon 2015 Seattle, WA
Distributed CI: Scaling Jenkins on Mesos and Marathon Roger Ignazio Puppet Labs, Inc. MesosCon 2015 Seattle, WA About Me Roger Ignazio QE Automation Engineer Puppet Labs, Inc. @rogerignazio Mesos In Action
More informationhttps://bit.do/pgsessions-postgresqlkubernetes PostgreSQL and Kubernetes Database as a Service without a Vendor Lock-in Oleksii Kliukin PostgreSQL Sessions 10 Paris, France About me PostgreSQL Engineer
More informationDisclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme
CNA1612BU Deploying real-world workloads on Kubernetes and Pivotal Cloud Foundry VMworld 2017 Fred Melo, Director of Technology, Pivotal Merlin Glynn, Sr. Technical Product Manager, VMware Content: Not
More informationIBM Cloud Developer Tools (IDT) and App Service Console Overview
IBM Cloud Developer Tools (IDT) and App Service Console Overview Steve Clay clays@us.ibm.com Technical Lead, IDT Paul Bennett pwbennet@us.ibm.com Java Squad Lead, IBM Cloud Developer Experience Cloud native
More informationKubernetes. Introduction
Kubernetes Introduction WOJCIECH BARCZYŃSKI (hiring) Senior Software Engineer Lead of Warsaw Team - SMACC System Engineer background Interests: working software Hobby: teaching software engineering BACKGROUND
More informationSunil Shah SECURE, FLEXIBLE CONTINUOUS DELIVERY PIPELINES WITH GITLAB AND DC/OS Mesosphere, Inc. All Rights Reserved.
Sunil Shah SECURE, FLEXIBLE CONTINUOUS DELIVERY PIPELINES WITH GITLAB AND DC/OS 1 Introduction MOBILE, SOCIAL & CLOUD ARE RAISING CUSTOMER EXPECTATIONS We need a way to deliver software so fast that our
More informationContainer Orchestration on Amazon Web Services. Arun
Container Orchestration on Amazon Web Services Arun Gupta, @arungupta Docker Workflow Development using Docker Docker Community Edition Docker for Mac/Windows/Linux Monthly edge and quarterly stable
More informationKuberiter White Paper. Kubernetes. Cloud Provider Comparison Chart. Lawrence Manickam Kuberiter Inc
Kuberiter White Paper Kubernetes Cloud Provider Comparison Chart Lawrence Manickam Kuberiter Inc Oct 2018 Executive Summary Kubernetes (K8S) has become the de facto standard for Cloud Application Deployments.
More informationRunning MarkLogic in Containers (Both Docker and Kubernetes)
Running MarkLogic in Containers (Both Docker and Kubernetes) Emma Liu Product Manager, MarkLogic Vitaly Korolev Staff QA Engineer, MarkLogic @vitaly_korolev 4 June 2018 MARKLOGIC CORPORATION Source: http://turnoff.us/image/en/tech-adoption.png
More informationKubernetes Integration Guide
Kubernetes Integration Guide Cloud-Native Security www.aporeto.com Aporeto Kubernetes Integration Guide The purpose of this document is to describe the features of Aporeto that secure application services
More informationKubernetes 1.9 Features and Future
OpenShift Commons Briefing: Kubernetes 1.9 Features and Future Derek Carr - Lead Engineer, Kubernetes What s new this time around? RELEASE STATS Shorter release (end of year) 6000+ pull requests merged
More informationTop Nine Kubernetes Settings You Should Check Right Now to Maximize Security
White Paper Top Nine Kubernetes Settings You Should Check Right Now to Maximize Security If you use Kubernetes, you know how much it can increase development velocity and reduce operational complexity.
More informationAdvanced Continuous Delivery Strategies for Containerized Applications Using DC/OS
Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS ContainerCon @ Open Source Summit North America 2017 Elizabeth K. Joseph @pleia2 1 Elizabeth K. Joseph, Developer Advocate
More informationHacking and Hardening Kubernetes
SESSION ID: HT-W02 Hacking and Hardening Kubernetes Jay Beale CTO InGuardians, Inc @jaybeale and @inguardians Adam Crompton Senior Security Analyst InGuardians, Inc. @3nc0d3r and @inguardians Table of
More informationKubernetes 101. Doug Davis, STSM September, 2017
Kubernetes 101 Doug Davis, STSM September, 2017 Today's Agenda What is Kubernetes? How was Kubernetes created? Where is the Kubernetes community? Technical overview What's the current status of Kubernetes?
More informationTwo years of on Kubernetes
Two years of on Kubernetes Platform Engineer @ rebuy Once a Fullstack- and Game-Developer Got interested in container technologies in 2014 and jumped on K8s in 2015 Finished my master thesis with a case
More information/ Cloud Computing. Recitation 5 September 26 th, 2017
15-319 / 15-619 Cloud Computing Recitation 5 September 26 th, 2017 1 Overview Administrative issues Office Hours, Piazza guidelines Last week s reflection Project 2.1, OLI Unit 2 modules 5 and 6 This week
More informationBuilding an on premise Kubernetes cluster DANNY TURNER
Building an on premise Kubernetes cluster DANNY TURNER Outline What is K8s? Why (not) run k8s? Why run our own cluster? Building what the public cloud provides 2 Kubernetes Open-Source Container Management
More informationAccelerate at DevOps Speed With Openshift v3. Alessandro Vozza & Samuel Terburg Red Hat
Accelerate at DevOps Speed With Openshift v3 Alessandro Vozza & Samuel Terburg Red Hat IT (R)Evolution Red Hat Brings It All Together What is Kubernetes Open source container cluster manager Inspired by
More informationDisclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme
CNA2080BU Deep Dive: How to Deploy and Operationalize Kubernetes Cornelia Davis, Pivotal Nathan Ness Technical Product Manager, CNABU @nvpnathan #VMworld #CNA2080BU Disclaimer This presentation may contain
More informationKubernetes made easy with Docker EE. Patrick van der Bleek Sr. Solutions Engineer NEMEA
Kubernetes made easy with Docker EE Patrick van der Bleek Sr. Solutions Engineer NEMEA Docker Enterprise Edition is More than Containers + Orchestration... DOCKER ENTERPRISE EDITION Kubernetes integration
More informationHandel-CodePipeline Documentation
Handel-CodePipeline Documentation Release 0.0.6 David Woodruff Dec 11, 2017 Getting Started 1 Introduction 3 2 Installation 5 3 Tutorial 7 4 Using Handel-CodePipeline 11 5 Handel-CodePipeline File 13
More informationBuilding Kubernetes cloud: real world deployment examples, challenges and approaches. Alena Prokharchyk, Rancher Labs
Building Kubernetes cloud: real world deployment examples, challenges and approaches Alena Prokharchyk, Rancher Labs Making a right choice is not easy The illustrated children guide to Kubernetes https://www.youtube.com/watch?v=4ht22rebjno
More informationTaming Distributed Pets with Kubernetes
Taming Distributed Pets with Kubernetes Matthew Bates & James Munnelly QCon London 2018 jetstack.io Who are Jetstack? We are a UK-based company that help enterprises in their path to modern cloud-native
More informationQuestion: 2 Kubernetes changed the name of cluster members to "Nodes." What were they called before that? Choose the correct answer:
Volume: 89 Questions + 17 Labs Question: 1 Containers are run on which of these? A. Services B. Controllers C. Nodes D. None of these Answer: C Nodes run the pods. Question: 2 Kubernetes changed the name
More informationOrchestrating the Continuous Delivery Process
Orchestrating the Continuous Delivery Process steven.g.harris@cloudbees.com @stevengharris SVP Products, CloudBees 1 Continuous Delivery Overview Feedback Loop App Lifecycle BUILD TEST STAGE Deploy Run
More informationThis document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and
Download the App to download the TIBCO NOW App visit now.tibco.com/2018/mobile-app 2 Mashery Local The Cloud Native API Platform for your Unique Environment Beerinder Rodey - Product Murty Gurajada - Senior
More informationGetting Started With Containers
DEVNET 2042 Getting Started With Containers Matt Johnson Developer Evangelist @mattdashj Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1. Find this session
More informationTM DevOps Use Case. 2017TechMinfy All Rights Reserved
Document Details Use Case Name TMDevOps Use Case04 First Draft 10 th Dec 2017 Author Reviewed By Amrendra Kumar Pradeep Narayanaswamy Contents Scope... 4 About Customer... 4 Pre-Conditions/Trigger... 4
More informationAZURE CONTAINER INSTANCES
AZURE CONTAINER INSTANCES -Krunal Trivedi ABSTRACT In this article, I am going to explain what are Azure Container Instances, how you can use them for hosting, when you can use them and what are its features.
More informationInfoblox IPAM Driver for Kubernetes User's Guide
Infoblox IPAM Driver for Kubernetes User's Guide 1. Infoblox IPAM Driver for Kubernetes...................................................................... 3 1.1 Overview.......................................................................................
More informationCONTAINERS AND MICROSERVICES WITH CONTRAIL
CONTAINERS AND MICROSERVICES WITH CONTRAIL Scott Sneddon Sree Sarva DP Ayyadevara Sr. Director Sr. Director Director Cloud and SDN Contrail Solutions Product Line Management This statement of direction
More informationContinuous Delivery the hard way with Kubernetes. Luke Marsden, Developer
Continuous Delivery the hard way with Luke Marsden, Developer Experience @lmarsden Agenda 1. Why should I deliver continuously? 2. primer 3. GitLab primer 4. OK, so we ve got these pieces, how are we going
More informationSão Paulo. August,
São Paulo August, 28 2018 Going Cloud Native with Cloud Foundry Luis Macedo Sr Platform Engineer, Pivotal @luis0macedo What is Cloud Native Platform? - A platform that delivers predictable deployment
More informationFederated Prometheus Monitoring at Scale
Federated Prometheus Monitoring at Scale LungChih Tung Oath Nandhakumar Venkatachalam Oath Team Core Platform Team powering all Yahoo Media Products Yahoo Media Products Homepage, News Finance Sports,
More informationInfoblox IPAM Driver for Kubernetes. Page 1
Infoblox IPAM Driver for Kubernetes Page 1 1. CNI-Infoblox IPAM Driver for Kubernetes.................................................................. 3 1.1 Overview.......................................................................................
More informationASP.NET Core & Docker
ASP.NET Core & Docker From 0 to Azure in 75 minutes Marco De Sanctis Visual Studio and Development Technologies MVP info@marcodesanctis.it @crad77 What s Docker and why should I care ASP.NET Core & Docker
More informationEASILY DEPLOY AND SCALE KUBERNETES WITH RANCHER
EASILY DEPLOY AND SCALE KUBERNETES WITH RANCHER 2 WHY KUBERNETES? Kubernetes is an open-source container orchestrator for deploying and managing containerized applications. Building on 15 years of experience
More informationContinuous Integration and Delivery with Spinnaker
White Paper Continuous Integration and Delivery with Spinnaker The field of software functional testing is undergoing a major transformation. What used to be an onerous manual process took a big step forward
More informationDocker and Oracle Everything You Wanted To Know
Docker and Oracle Everything You Wanted To Know June, 2017 Umesh Tanna Principal Technology Sales Consultant Oracle Sales Consulting Centers(SCC) Bangalore Safe Harbor Statement The following is intended
More informationLinux System Management with Puppet, Gitlab, and R10k. Scott Nolin, SSEC Technical Computing 22 June 2017
Linux System Management with Puppet, Gitlab, and R10k Scott Nolin, SSEC Technical Computing 22 June 2017 Introduction I am here to talk about how we do Linux configuration management at the Space Science
More informationChange-sets. Basavaraj Karadakal
Change-sets Basavaraj Karadakal (bkrdkl@juniper.net) Development environment Component based development model. Developers spread across multiple sites. Over 800 components. Over 500 repos. Repos nested
More informationDevOps + Infrastructure TRACK SUPPORTED BY
DevOps + Infrastructure TRACK SUPPORTED BY About me Nils Peeters DevOps Engineer nils@scalecity.io https://www.linkedin.com/in/nilspeeters/ www.scalecity.io Containerized Drupal, Kubernetes and blue/green
More informationA DEVOPS STATE OF MIND. Chris Van Tuin Chief Technologist, West
A DEVOPS STATE OF MIND Chris Van Tuin Chief Technologist, West cvantuin@redhat.com THE NEED FOR SPEED THE ACCELERATION OF APPLICATION DELIVERY FOR THE BUSINESS In short, software is eating the world. -
More informationContainerizing GPU Applications with Docker for Scaling to the Cloud
Containerizing GPU Applications with Docker for Scaling to the Cloud SUBBU RAMA FUTURE OF PACKAGING APPLICATIONS Turns Discrete Computing Resources into a Virtual Supercomputer GPU Mem Mem GPU GPU Mem
More informationA DEVOPS STATE OF MIND. Chris Van Tuin Chief Technologist, West
A DEVOPS STATE OF MIND Chris Van Tuin Chief Technologist, West cvantuin@redhat.com In short, software is eating the world. - Marc Andreessen, Wall Street Journal, August 2011 UBER, LYFT FALLOUT: TAXI
More informationMicroservices. Chaos Kontrolle mit Kubernetes. Robert Kubis - Developer Advocate,
Microservices Chaos Kontrolle mit Kubernetes Robert Kubis - Developer Advocate, Google @hostirosti About me Robert Kubis Developer Advocate Google Cloud Platform London, UK hostirosti github.com/hostirosti
More informationMulti-Arch Layered Image Build System
Multi-Arch Layered Image Build System PRESENTED BY: Adam Miller Fedora Engineering, Red Hat CC BY-SA 2.0 Today's Topics Define containers in the context of Linux systems Brief History/Background Container
More informationDeep Dive on AWS CodeStar
Deep Dive on AWS CodeStar with AWS CI/CD workflow Tara E. Walker Technical Evangelist @taraw June 28, 2017 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Agenda What is DevOps
More informationAGILE DEVELOPMENT AND PAAS USING THE MESOSPHERE DCOS
Sunil Shah AGILE DEVELOPMENT AND PAAS USING THE MESOSPHERE DCOS 1 THE DATACENTER OPERATING SYSTEM (DCOS) 2 DCOS INTRODUCTION The Mesosphere Datacenter Operating System (DCOS) is a distributed operating
More informationConvergence of VM and containers orchestration using KubeVirt. Chunfu Wen
Convergence of VM and containers orchestration using KubeVirt Chunfu Wen chwen@redhat.com Agenda Context Introduction What Is Kubevirt And How It Feel Kubevirt Architecture And Design Demo FIRST A LITTLE
More informationLessons learnt building Kubernetes controllers. David Cheney - Heptio
Lessons learnt building Kubernetes controllers David Cheney - Heptio g day Craig McLuckie and Joe Beda 2/3rds of a pod Connaissez-vous Kubernetes? Kubernetes is an open-source system for automating deployment,
More informationDocker at Lyft Speeding up development Matthew #dockercon
Docker at Lyft Speeding up development Matthew Leventi @mleventi #dockercon Lyft Engineering Lyft Engineering Organization - Rapidly growing headcount - Fluid teams - Everyone does devops Technology -
More informationSeven Habits of Highly Effective Jenkins Users
Seven Habits of Highly Effective Jenkins Users What is this talk about? Lessons learned: Maintaining multiple large Jenkins instances. Working on Jenkins itself, and many of its plugins. Seeing customer
More informationManaging Compute and Storage at Scale with Kubernetes. Dan Paik / Google
Managing Compute and Storage at Scale with Kubernetes Dan Paik / Google Have You Recently... played a hit mobile game? shopped at an online marketplace? followed breaking news? attended a concert? filed
More informationIntroduction to Kubernetes Storage Primitives for Stateful Workloads
September 12, 2017 Introduction to Kubernetes Storage Primitives for Stateful Workloads Saad Ali Google @the_saad_ali Chris Duchesne {code} @ChrisDuchesne Agenda Presentation Quick intro to Kubernetes
More informationSecure Kubernetes Container Workloads
Secure Kubernetes Container Workloads with Production-Grade Networking Cynthia Thomas Irena Berezovsky Tim Hockin CIA IT operations have top secret apps for their agents, most of which require isolation
More informationSecuring Containers on the High Seas. Jack OWASP Belgium September 2018
Securing Containers on the High Seas Jack Mannino @ OWASP Belgium September 2018 Who Am I? Jack Mannino CEO at nvisium, since 2009 Former OWASP Northern Virginia chapter leader Hobbies: Scala, Go and Kubernetes
More informationContinuous Integration and Deployment (CI/CD)
WHITEPAPER OCT 2015 Table of contents Chapter 1. Introduction... 3 Chapter 2. Continuous Integration... 4 Chapter 3. Continuous Deployment... 6 2 Chapter 1: Introduction Apcera Support Team October 2015
More informationBright Cluster Manager: Using the NVIDIA NGC Deep Learning Containers
Bright Cluster Manager: Using the NVIDIA NGC Deep Learning Containers Technical White Paper Table of Contents Pre-requisites...1 Setup...2 Run PyTorch in Kubernetes...3 Run PyTorch in Singularity...4 Run
More informationKubernetes: Integration vs Native Solution
Kubernetes: Integration vs Native Solution Table of Contents 22 Table of Contents 01 Introduction...3 02 DC/OS...4 03 Docker Enterprise...7 04 Rancher...10 05 Azure...13 06 Conclusion...15 3 01 Introduction
More informationEVERYTHING AS CODE A Journey into IT Automation and Standardization. Raphaël Pinson
EVERYTHING AS CODE A Journey into IT Automation and Standardization Raphaël Pinson Who am I? Raphaël Pinson aka Raphink Infrastructure Developer & Trainer Automation (Puppet, Augeas, Docker) Lausanne,
More informationFrom development to production
David Barbarin From development to production BIG Thanks to SQLSatMadrid sponsors Platinum Gold > whoami David Barbarin Senior Consultant Architecture, Performance and high availability @mikedavem David
More informationIngress Kubernetes Tutorial
Ingress Kubernetes Tutorial 1 / 6 2 / 6 3 / 6 Ingress Kubernetes Tutorial Edit This Page. Ingress. An API object that manages external access to the services in a cluster, typically HTTP. Ingress can provide
More informationDocker Live Hacking: From Raspberry Pi to Kubernetes
Docker Live Hacking: From Raspberry Pi to Kubernetes Hong Kong Meetup + Oracle CODE 2018 Shenzhen munz & more Dr. Frank Munz Dr. Frank Munz Founded munz & more in 2007 17 years Oracle Middleware, Cloud,
More informationSQUASH. Debugger for microservices. Idit Levine solo.io
SQUASH Debugger for microservices Idit Levine solo.io About me Idit Levine Founder and CEO of solo.io @Idit_Levine @ilevine The problem: Debugging microservices applications is hard The problem A monolithic
More informationKubernetes: Twelve KeyFeatures
Kubernetes: Twelve KeyFeatures Kubernetes is a Greek word which means helmsman, or the pilot of a ship. It is an open source project that was started by Google and derived from Borg, which is used inside
More informationBUILDING A GPU-FOCUSED CI SOLUTION
BUILDING A GPU-FOCUSED CI SOLUTION Mike Wendt @mike_wendt github.com/nvidia github.com/mike-wendt Need for CPU CI Challenges of GPU CI Methods to Implement GPU CI AGENDA Improving GPU CI Today Demo Lessons
More informationgcp / gke / k8s microservices
gcp / gke / k8s microservices managing microservices with kubernetes 08.17.2016 Austin GCPUG Lou Scalpati CTO RxWiki microservices What are Microservices generally REST APIs returning json organized around
More informationThe missing CI/CD Kubernetes component: Helm package manager
The missing CI/CD Kubernetes component: Helm package manager The past two months I have been actively migrating all my services from dedicated servers to Kubernetes cluster. I have done the containerisation
More informationACCELERATE APPLICATION DELIVERY WITH OPENSHIFT. Siamak Sadeghianfar Sr Technical Marketing Manager, April 2016
ACCELERATE APPLICATION DELIVERY WITH Siamak Sadeghianfar Sr Technical Marketing Manager, OpenShift @siamaks April 2016 IT Must Evolve to Stay Ahead of Demands WA CPU R RAM isc tar SI Jar vm dk MSI nic
More informationDevOps Tooling from AWS
DevOps Tooling from AWS What is DevOps? Improved Collaboration - the dropping of silos between teams allows greater collaboration and understanding of how the application is built and deployed. This allows
More informationContainers Infrastructure for Advanced Management. Federico Simoncelli Associate Manager, Red Hat October 2016
Containers Infrastructure for Advanced Management Federico Simoncelli Associate Manager, Red Hat October 2016 About Me Kubernetes Decoupling problems to hand out to different teams Layer of abstraction
More informationJenkins: A complete solution. From Continuous Integration to Continuous Delivery For HSBC
Jenkins: A complete solution From Integration to Delivery For HSBC Rajesh Kumar DevOps Architect @RajeshKumarIN www.rajeshkumar.xyz Agenda Why Jenkins? Introduction and some facts about Jenkins Supported
More informationLeveraging the Serverless Architecture for Securing Linux Containers
Leveraging the Serverless Architecture for Securing Linux Containers Nilton Bila, Paolo Dettori, Ali Kanso, Yuji Watanabe*, Alaa Youssef IBM T.J. Watson Research Center New York *IBM Research - Tokyo,
More informationFROM VSTS TO AZURE DEVOPS
#DOH18 FROM VSTS TO AZURE DEVOPS People. Process. Products. Gaetano Paternò @tanopaterno info@gaetanopaterno.it 2 VSTS #DOH18 3 Azure DevOps Azure Boards (ex Work) Deliver value to your users faster using
More informationRed Hat Roadmap for Containers and DevOps
Red Hat Roadmap for Containers and DevOps Brian Gracely, Director of Strategy Diogenes Rettori, Principal Product Manager Red Hat September, 2016 Digital Transformation Requires an evolution in... 2 APPLICATIONS
More informationDocker All The Things
OpenStack Services Docker All The Things and Kubernetes and Atomic OpenStack Summit Paris, November 2014 @brentholden @jameslabocki Agenda The Problem Current Solutions Tomorrow s Improvements Demonstration
More informationOverview of Container Management
Overview of Container Management Wyn Van Devanter @wynv Vic Kumar Agenda Why Container Management? What is Container Management? Clusters, Cloud Architecture & Containers Container Orchestration Tool Overview
More informationSingularity CRI User Documentation
Singularity CRI User Documentation Release 1.0 Sylabs Apr 02, 2019 CONTENTS 1 Installation 1 1.1 Overview................................................. 1 1.2 Before you begin.............................................
More information