Docker Meetup Rosenheim: Package & deploy Microservices

Nico Meisenzahl
Nico MeisenzahlCloud Solution Architect | Head of DevOps Consulting & Operations
Make Your Data Work For You
Package & deploy
Microservices
Nico Meisenzahl
January 2019
@panagenda Consultant.
@DockerRosenheim founder.
Blogger, speaker & IBM Champion.
Loves K8s, Containers & automation. His desk is a
ping pong table.
Nico Meisenzahl
@nmeisenzahl
https://meisenzahl.org
nico@meisenzahl.org
https://panagenda.com
nico.meisenzahl@panagenda.com
Agenda
1. Build Docker Images with Kaniko
2. Compose & Helm
3. Future (Helm 3.0 & Cloud Native Application Bundle)
Everything starts with a Dockerfile
• Describes the Image
• Best practises
– choose the base image wisely
– use multi-stage builds
– combine commands into few
instructions as possible
– use curl/wget for non-persistent files
(installer, etc.)
– reduce waste
– know how caching works
4
Image build process
• “docker build” is the common way
• locally
– available with every Docker installation
→ we love it and it just works
• containerized
– mostly used in build pipelines
– Docker-in-Docker (DinD) is needed → Security issues!
• Docker daemon needs to be mounted
• privileged flag is needed
• not allowed in a K8s environment (hopefully)
→ could be better...
5
Kaniko can help
• Builds Images without privileges in a container
• developed by Google
• part of the Knative serverless stack
– Istio, Kaniko, Knative
• Docker Image: http://gcr.io/kaniko-project/executor
• More details: https://github.com/GoogleContainerTools/kaniko
6
Kaniko (Demo)
• can be used with
– “docker run”
– as a Pod definition (Kubernetes)
– in build pipelines
– ...
7
Running a microservice can’t be that hard...
docker run -d my-microservice
8
But, what if ...
• your application is based on various microservices?
• you would like to have a portable and easy deployment?
→ you will need a tool to package your application
9
Where Compose and Helm can help (Demo)
• can be used to define and run bundled multi-container Microservices
– portable deployments & updates
– versioning & rollbacks (Helm only)
– Repositories (Helm, docker-app)
• Compose can be used with
– pure Docker
– Swarm
– docker-app
• Helm is the defacto default package manager for Kubernetes
• more details
– https://helm.sh
– https://docs.docker.com/compose
– https://github.com/docker/app
10
Helm 3.0
• removal of Tiller
– Client-only
– based on RBAC, CRD
• embedded Lua engine
– optional and mixable
– more flexible
– work with objects not YAML
• Chart repo authentication & upload
– helm login
– helm push
• more details: https://www.youtube.com/watch?v=XUqNLhFWbl8
11
Helm 2 vs. 3 (Lua)
12
CNAB (Cloud Native Application Bundle)
• a spec for packaging distributed apps
• designed by Microsoft, Docker, bitnami & HashiCorp
• is not platform-specific: Containers, Functions, VMs, IaaS and PaaS
– Compose / Helm / Kubernetes
– Ansible / Terraform
– Azure , OpenStack on-premises, ….
• a CNAB is defined by a bundle.json and will be deployed by a invocation
image
13
CNAB (Cloud Native Application Bundle)
• CLIs supporting CNAB specs
– duffle by Microsoft
– docker-app by Docker
– ...
• CNABs can be pushed to Docker Hub (using docker-app)
• more details
– https://cnab.io
– https://github.com/deislabs/cnab-spec
– https://duffle.sh
– https://github.com/docker/app
– https://medium.com/01001101/cloud-native-application-bundle-a-spec-for-packagi
ng-distributed-apps-7f1a7e3fc6fe
14
Questions?
• Slides
– http://slideshare.net/nmeisenzahl
• Demos
– https://gitlab.com/nmeisenzahl/docker-meetup-package-deploy
15
Headquarters, Austria:
panagenda GmbH (Ltd.)
Schreyvogelgasse 3/10
AT 1010 Vienna
Phone: +43 1 89 012 89
Fax: +43 1 89 012 89-15
E-Mail: info@panagenda.com
Headquarters, Germany:
panagenda GmbH (Ltd.)
Lahnstraße 17
DE 64646 Heppenheim
Phone: +49 6252 67 939-00
Fax: +49 6252 67 939-16
E-Mail: info@panagenda.com
USA:
panagenda Inc.
60 State Street, Suite 700
MA 02109 Boston
Phone: +1 617 855 5961
Fax: +1 617 488 2292
E-Mail: info@panagenda.com
Germany:
panagenda Consulting GmbH (Ltd.)
Donnersbergstrasse 1
DE 64646 Heppenheim
Phone: +49 6252 67 939-86
Fax: +49 6252 67 939-16
E-Mail: info@panagenda.com
The Netherlands:
Trust Factory B.V.
11th Floor,
Koningin Julianaplein 10
NL 2595 AA The Hague
Phone: +31 70 80 801 96
E-Mail: info@trust-factory.com
© 2007-2015 panagenda
Make Your Data Work For You
1 of 16

Recommended

How to Package & Deploy Microservices by
How to Package & Deploy MicroservicesHow to Package & Deploy Microservices
How to Package & Deploy Microservicespanagenda
199 views16 slides
Azure container service docker-ha noi com by
Azure container service   docker-ha noi comAzure container service   docker-ha noi com
Azure container service docker-ha noi comVan Phuc
250 views13 slides
ContainerDayVietnam2016: Docker at scale with Mesos by
ContainerDayVietnam2016: Docker at scale with MesosContainerDayVietnam2016: Docker at scale with Mesos
ContainerDayVietnam2016: Docker at scale with MesosDocker-Hanoi
566 views67 slides
ContainerDayVietnam2016: Dockerize a small business by
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessDocker-Hanoi
498 views28 slides
ContainerDayVietnam2016: Containers with OpenStack by
ContainerDayVietnam2016: Containers with OpenStackContainerDayVietnam2016: Containers with OpenStack
ContainerDayVietnam2016: Containers with OpenStackDocker-Hanoi
561 views28 slides
CloudFoundry@home by
CloudFoundry@homeCloudFoundry@home
CloudFoundry@homeYohei Sasaki
1.5K views8 slides

More Related Content

What's hot

CI/CD with Kubernetes, Helm & Wercker (#madScalability) by
CI/CD with Kubernetes, Helm & Wercker (#madScalability)CI/CD with Kubernetes, Helm & Wercker (#madScalability)
CI/CD with Kubernetes, Helm & Wercker (#madScalability)Diacode
12.8K views32 slides
Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer by
Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer
Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer Docker, Inc.
1.6K views19 slides
DockerCon SF 2015: Networking Breakout by
DockerCon SF 2015: Networking BreakoutDockerCon SF 2015: Networking Breakout
DockerCon SF 2015: Networking BreakoutDocker, Inc.
6.2K views24 slides
Kubernetes on CloudStack with coreOS by
Kubernetes on CloudStack with coreOSKubernetes on CloudStack with coreOS
Kubernetes on CloudStack with coreOSSebastien Goasguen
3.5K views27 slides
DockerCon SF 2015: Orchestration for Sysadmins by
DockerCon SF 2015: Orchestration for SysadminsDockerCon SF 2015: Orchestration for Sysadmins
DockerCon SF 2015: Orchestration for SysadminsDocker, Inc.
7.9K views28 slides
Automated Deployment with Capistrano by
Automated Deployment with CapistranoAutomated Deployment with Capistrano
Automated Deployment with CapistranoSumit Chhetri
10K views43 slides

What's hot(20)

CI/CD with Kubernetes, Helm & Wercker (#madScalability) by Diacode
CI/CD with Kubernetes, Helm & Wercker (#madScalability)CI/CD with Kubernetes, Helm & Wercker (#madScalability)
CI/CD with Kubernetes, Helm & Wercker (#madScalability)
Diacode12.8K views
Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer by Docker, Inc.
Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer
Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer
Docker, Inc.1.6K views
DockerCon SF 2015: Networking Breakout by Docker, Inc.
DockerCon SF 2015: Networking BreakoutDockerCon SF 2015: Networking Breakout
DockerCon SF 2015: Networking Breakout
Docker, Inc.6.2K views
DockerCon SF 2015: Orchestration for Sysadmins by Docker, Inc.
DockerCon SF 2015: Orchestration for SysadminsDockerCon SF 2015: Orchestration for Sysadmins
DockerCon SF 2015: Orchestration for Sysadmins
Docker, Inc.7.9K views
Automated Deployment with Capistrano by Sumit Chhetri
Automated Deployment with CapistranoAutomated Deployment with Capistrano
Automated Deployment with Capistrano
Sumit Chhetri10K views
Microsoft Azure Container Service - DockerCH by Nguyen Anh Tu
Microsoft Azure Container Service - DockerCHMicrosoft Azure Container Service - DockerCH
Microsoft Azure Container Service - DockerCH
Nguyen Anh Tu463 views
DockerCon 2015: Docker Engine Breakout Session by Docker, Inc.
DockerCon 2015: Docker Engine Breakout SessionDockerCon 2015: Docker Engine Breakout Session
DockerCon 2015: Docker Engine Breakout Session
Docker, Inc.6.7K views
Production Ready Containers from IBM and Docker by Docker, Inc.
Production Ready Containers from IBM and DockerProduction Ready Containers from IBM and Docker
Production Ready Containers from IBM and Docker
Docker, Inc.5.8K views
Continous Delivery to Kubernetes using Helm by Bitnami
Continous Delivery to Kubernetes using HelmContinous Delivery to Kubernetes using Helm
Continous Delivery to Kubernetes using Helm
Bitnami2K views
Setting up Kubernetes with tectonic by Vishal Biyani
Setting up Kubernetes with tectonicSetting up Kubernetes with tectonic
Setting up Kubernetes with tectonic
Vishal Biyani4.6K views
Containerize Your Game Server for the Best Multiplayer Experience by Docker, Inc.
Containerize Your Game Server for the Best Multiplayer Experience Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience
Docker, Inc.5.4K views
Hashicorp: Delivering the Tao of DevOps by Ramit Surana
Hashicorp: Delivering the Tao of DevOpsHashicorp: Delivering the Tao of DevOps
Hashicorp: Delivering the Tao of DevOps
Ramit Surana2K views
Preparing your dockerised application for production deployment by Dave Ward
Preparing your dockerised application for production deploymentPreparing your dockerised application for production deployment
Preparing your dockerised application for production deployment
Dave Ward481 views
Docker for Ops: Docker Networking Deep Dive, Considerations and Troubleshooti... by Docker, Inc.
Docker for Ops: Docker Networking Deep Dive, Considerations and Troubleshooti...Docker for Ops: Docker Networking Deep Dive, Considerations and Troubleshooti...
Docker for Ops: Docker Networking Deep Dive, Considerations and Troubleshooti...
Docker, Inc.4.7K views
DockerCon SF 2015: Getting Started w/ Docker by Docker, Inc.
DockerCon SF 2015: Getting Started w/ DockerDockerCon SF 2015: Getting Started w/ Docker
DockerCon SF 2015: Getting Started w/ Docker
Docker, Inc.7K views
Testing strategies for Docker containers by Alexei Ledenev
Testing strategies for Docker containersTesting strategies for Docker containers
Testing strategies for Docker containers
Alexei Ledenev2.7K views

Similar to Docker Meetup Rosenheim: Package & deploy Microservices

How to Package & Deploy Microservices by
How to Package & Deploy MicroservicesHow to Package & Deploy Microservices
How to Package & Deploy MicroservicesNico Meisenzahl
520 views16 slides
CD in kubernetes using helm and ksonnet. Stas Kolenkin by
CD in kubernetes using helm and ksonnet. Stas KolenkinCD in kubernetes using helm and ksonnet. Stas Kolenkin
CD in kubernetes using helm and ksonnet. Stas KolenkinDataArt
568 views64 slides
Continuous Integration with Docker on AWS by
Continuous Integration with Docker on AWSContinuous Integration with Docker on AWS
Continuous Integration with Docker on AWSAndrew Heifetz
8.9K views22 slides
Rails Applications with Docker by
Rails Applications with DockerRails Applications with Docker
Rails Applications with DockerLaura Frank Tacho
8.1K views40 slides
Containers docker-docker hub-azureacr-azure aci by
Containers docker-docker hub-azureacr-azure aciContainers docker-docker hub-azureacr-azure aci
Containers docker-docker hub-azureacr-azure aciRajesh Kolla
42 views14 slides
IBM Cloud Paris Meetup - 20180628 - Rex on ODM on Cloud by
IBM Cloud Paris Meetup - 20180628 - Rex on ODM on CloudIBM Cloud Paris Meetup - 20180628 - Rex on ODM on Cloud
IBM Cloud Paris Meetup - 20180628 - Rex on ODM on CloudIBM France Lab
548 views15 slides

Similar to Docker Meetup Rosenheim: Package & deploy Microservices(20)

How to Package & Deploy Microservices by Nico Meisenzahl
How to Package & Deploy MicroservicesHow to Package & Deploy Microservices
How to Package & Deploy Microservices
Nico Meisenzahl520 views
CD in kubernetes using helm and ksonnet. Stas Kolenkin by DataArt
CD in kubernetes using helm and ksonnet. Stas KolenkinCD in kubernetes using helm and ksonnet. Stas Kolenkin
CD in kubernetes using helm and ksonnet. Stas Kolenkin
DataArt568 views
Continuous Integration with Docker on AWS by Andrew Heifetz
Continuous Integration with Docker on AWSContinuous Integration with Docker on AWS
Continuous Integration with Docker on AWS
Andrew Heifetz8.9K views
Containers docker-docker hub-azureacr-azure aci by Rajesh Kolla
Containers docker-docker hub-azureacr-azure aciContainers docker-docker hub-azureacr-azure aci
Containers docker-docker hub-azureacr-azure aci
Rajesh Kolla42 views
IBM Cloud Paris Meetup - 20180628 - Rex on ODM on Cloud by IBM France Lab
IBM Cloud Paris Meetup - 20180628 - Rex on ODM on CloudIBM Cloud Paris Meetup - 20180628 - Rex on ODM on Cloud
IBM Cloud Paris Meetup - 20180628 - Rex on ODM on Cloud
IBM France Lab548 views
Michigan IT Symposium 2017 - Container BOF by Jeffrey Sica
Michigan IT Symposium 2017 - Container BOFMichigan IT Symposium 2017 - Container BOF
Michigan IT Symposium 2017 - Container BOF
Jeffrey Sica86 views
Docker in the Oracle Universe / WebLogic 12c / OFM 12c by Frank Munz
Docker in the Oracle Universe / WebLogic 12c / OFM 12cDocker in the Oracle Universe / WebLogic 12c / OFM 12c
Docker in the Oracle Universe / WebLogic 12c / OFM 12c
Frank Munz8.9K views
IBM WebSphere Application Server traditional and Docker by David Currie
IBM WebSphere Application Server traditional and DockerIBM WebSphere Application Server traditional and Docker
IBM WebSphere Application Server traditional and Docker
David Currie10.3K views
Dockerize the World by damovsky
Dockerize the WorldDockerize the World
Dockerize the World
damovsky753 views
'Package Once/Run Anywhere' Big Data and HPC workloads by GreenQloud
'Package Once/Run Anywhere' Big Data and HPC workloads'Package Once/Run Anywhere' Big Data and HPC workloads
'Package Once/Run Anywhere' Big Data and HPC workloads
GreenQloud719 views
Docker on Power Systems by Cesar Maciel
Docker on Power SystemsDocker on Power Systems
Docker on Power Systems
Cesar Maciel4.5K views
.docker : How to deploy Digital Experience in a container, drinking a cup of ... by ICON UK EVENTS Limited
.docker : How to deploy Digital Experience in a container, drinking a cup of ....docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D... by IBM France Lab
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM France Lab267 views
Docker from A to Z, including Swarm and OCCS by Frank Munz
Docker from A to Z, including Swarm and OCCSDocker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCS
Frank Munz1.5K views
IBM Container Service Overview by Kyle Brown
IBM Container Service OverviewIBM Container Service Overview
IBM Container Service Overview
Kyle Brown2.1K views
Docker at MoneyBird by Edwin Vlieg
Docker at MoneyBirdDocker at MoneyBird
Docker at MoneyBird
Edwin Vlieg808 views

More from Nico Meisenzahl

Cloud-Native & Sustainability: How and Why to Build Sustainable Workloads by
Cloud-Native & Sustainability: How and Why to Build Sustainable WorkloadsCloud-Native & Sustainability: How and Why to Build Sustainable Workloads
Cloud-Native & Sustainability: How and Why to Build Sustainable WorkloadsNico Meisenzahl
51 views50 slides
Container Day Security: How to Prevent Your Kubernetes Cluster From Being Hacked by
Container Day Security: How to Prevent Your Kubernetes Cluster From Being HackedContainer Day Security: How to Prevent Your Kubernetes Cluster From Being Hacked
Container Day Security: How to Prevent Your Kubernetes Cluster From Being HackedNico Meisenzahl
30 views14 slides
Festive Tech Calendar: Festive time with AKS networking by
Festive Tech Calendar: Festive time with AKS networkingFestive Tech Calendar: Festive time with AKS networking
Festive Tech Calendar: Festive time with AKS networkingNico Meisenzahl
23 views31 slides
ContainerConf 2022: Hijack Kubernetes by
ContainerConf 2022: Hijack KubernetesContainerConf 2022: Hijack Kubernetes
ContainerConf 2022: Hijack KubernetesNico Meisenzahl
59 views24 slides
ContainerConf 2022: Kubernetes is awesome - but... by
ContainerConf 2022: Kubernetes is awesome - but...ContainerConf 2022: Kubernetes is awesome - but...
ContainerConf 2022: Kubernetes is awesome - but...Nico Meisenzahl
195 views29 slides
KCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being Hacked by
KCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being HackedKCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being Hacked
KCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being HackedNico Meisenzahl
53 views26 slides

More from Nico Meisenzahl(20)

Cloud-Native & Sustainability: How and Why to Build Sustainable Workloads by Nico Meisenzahl
Cloud-Native & Sustainability: How and Why to Build Sustainable WorkloadsCloud-Native & Sustainability: How and Why to Build Sustainable Workloads
Cloud-Native & Sustainability: How and Why to Build Sustainable Workloads
Nico Meisenzahl51 views
Container Day Security: How to Prevent Your Kubernetes Cluster From Being Hacked by Nico Meisenzahl
Container Day Security: How to Prevent Your Kubernetes Cluster From Being HackedContainer Day Security: How to Prevent Your Kubernetes Cluster From Being Hacked
Container Day Security: How to Prevent Your Kubernetes Cluster From Being Hacked
Nico Meisenzahl30 views
Festive Tech Calendar: Festive time with AKS networking by Nico Meisenzahl
Festive Tech Calendar: Festive time with AKS networkingFestive Tech Calendar: Festive time with AKS networking
Festive Tech Calendar: Festive time with AKS networking
Nico Meisenzahl23 views
ContainerConf 2022: Hijack Kubernetes by Nico Meisenzahl
ContainerConf 2022: Hijack KubernetesContainerConf 2022: Hijack Kubernetes
ContainerConf 2022: Hijack Kubernetes
Nico Meisenzahl59 views
ContainerConf 2022: Kubernetes is awesome - but... by Nico Meisenzahl
ContainerConf 2022: Kubernetes is awesome - but...ContainerConf 2022: Kubernetes is awesome - but...
ContainerConf 2022: Kubernetes is awesome - but...
Nico Meisenzahl195 views
KCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being Hacked by Nico Meisenzahl
KCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being HackedKCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being Hacked
KCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being Hacked
Nico Meisenzahl53 views
KCD Munich 2022: Hijack a Kubernetes Cluster - a Walkthrough by Nico Meisenzahl
KCD Munich 2022: Hijack a Kubernetes Cluster - a WalkthroughKCD Munich 2022: Hijack a Kubernetes Cluster - a Walkthrough
KCD Munich 2022: Hijack a Kubernetes Cluster - a Walkthrough
Nico Meisenzahl15 views
Cloud Love Conference: Kubernetes is awesome, but... by Nico Meisenzahl
Cloud Love Conference: Kubernetes is awesome, but...Cloud Love Conference: Kubernetes is awesome, but...
Cloud Love Conference: Kubernetes is awesome, but...
Nico Meisenzahl11 views
How to Prevent Your Kubernetes Cluster From Being Hacked by Nico Meisenzahl
How to Prevent Your Kubernetes Cluster From Being HackedHow to Prevent Your Kubernetes Cluster From Being Hacked
How to Prevent Your Kubernetes Cluster From Being Hacked
Nico Meisenzahl54 views
Container Days: Hijack a Kubernetes Cluster - a Walkthrough by Nico Meisenzahl
Container Days: Hijack a Kubernetes Cluster - a WalkthroughContainer Days: Hijack a Kubernetes Cluster - a Walkthrough
Container Days: Hijack a Kubernetes Cluster - a Walkthrough
Nico Meisenzahl16 views
Hijack a Kubernetes Cluster - a Walkthrough by Nico Meisenzahl
Hijack a Kubernetes Cluster - a WalkthroughHijack a Kubernetes Cluster - a Walkthrough
Hijack a Kubernetes Cluster - a Walkthrough
Nico Meisenzahl70 views
Azure Zürich User Group: Azure Kubernetes Service – more than just a managed ... by Nico Meisenzahl
Azure Zürich User Group: Azure Kubernetes Service – more than just a managed ...Azure Zürich User Group: Azure Kubernetes Service – more than just a managed ...
Azure Zürich User Group: Azure Kubernetes Service – more than just a managed ...
Nico Meisenzahl94 views
Hijack a Kubernetes Cluster - a Walkthrough by Nico Meisenzahl
Hijack a Kubernetes Cluster - a WalkthroughHijack a Kubernetes Cluster - a Walkthrough
Hijack a Kubernetes Cluster - a Walkthrough
Nico Meisenzahl126 views
azdevcom - Hijack a Kubernetes Cluster by Nico Meisenzahl
azdevcom - Hijack a Kubernetes Clusterazdevcom - Hijack a Kubernetes Cluster
azdevcom - Hijack a Kubernetes Cluster
Nico Meisenzahl138 views
Continuous Lifecycle: Enhance Your Compliance and Governance With Policy-Base... by Nico Meisenzahl
Continuous Lifecycle: Enhance Your Compliance and Governance With Policy-Base...Continuous Lifecycle: Enhance Your Compliance and Governance With Policy-Base...
Continuous Lifecycle: Enhance Your Compliance and Governance With Policy-Base...
Nico Meisenzahl164 views
Continuous Lifecycle: Hijack Kubernetes by Nico Meisenzahl
Continuous Lifecycle: Hijack KubernetesContinuous Lifecycle: Hijack Kubernetes
Continuous Lifecycle: Hijack Kubernetes
Nico Meisenzahl53 views
Hijack a Kubernetes Cluster - a Walkthrough by Nico Meisenzahl
Hijack a Kubernetes Cluster - a WalkthroughHijack a Kubernetes Cluster - a Walkthrough
Hijack a Kubernetes Cluster - a Walkthrough
Nico Meisenzahl102 views
GitLab Commit: Enhance your Compliance with Policy-Based CI/CD by Nico Meisenzahl
GitLab Commit: Enhance your Compliance with Policy-Based CI/CDGitLab Commit: Enhance your Compliance with Policy-Based CI/CD
GitLab Commit: Enhance your Compliance with Policy-Based CI/CD
Nico Meisenzahl588 views
Azure Meetup Hamburg: Production-Ready Terraform Deployments on Azure by Nico Meisenzahl
Azure Meetup Hamburg: Production-Ready Terraform Deployments on AzureAzure Meetup Hamburg: Production-Ready Terraform Deployments on Azure
Azure Meetup Hamburg: Production-Ready Terraform Deployments on Azure
Nico Meisenzahl288 views
Microsoft DevOps Forum 2021 – DevOps & Security by Nico Meisenzahl
 Microsoft DevOps Forum 2021 – DevOps & Security Microsoft DevOps Forum 2021 – DevOps & Security
Microsoft DevOps Forum 2021 – DevOps & Security
Nico Meisenzahl248 views

Recently uploaded

Business Analyst Series 2023 - Week 4 Session 8 by
Business Analyst Series 2023 -  Week 4 Session 8Business Analyst Series 2023 -  Week 4 Session 8
Business Analyst Series 2023 - Week 4 Session 8DianaGray10
86 views13 slides
Kyo - Functional Scala 2023.pdf by
Kyo - Functional Scala 2023.pdfKyo - Functional Scala 2023.pdf
Kyo - Functional Scala 2023.pdfFlavio W. Brasil
449 views92 slides
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool by
Extending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPoolExtending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPool
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPoolShapeBlue
84 views10 slides
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlueShapeBlue
103 views23 slides
NTGapps NTG LowCode Platform by
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform Mustafa Kuğu
365 views30 slides
The Power of Heat Decarbonisation Plans in the Built Environment by
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built EnvironmentIES VE
69 views20 slides

Recently uploaded(20)

Business Analyst Series 2023 - Week 4 Session 8 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 8Business Analyst Series 2023 -  Week 4 Session 8
Business Analyst Series 2023 - Week 4 Session 8
DianaGray1086 views
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool by ShapeBlue
Extending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPoolExtending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPool
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool
ShapeBlue84 views
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
ShapeBlue103 views
NTGapps NTG LowCode Platform by Mustafa Kuğu
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform
Mustafa Kuğu365 views
The Power of Heat Decarbonisation Plans in the Built Environment by IES VE
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built Environment
IES VE69 views
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O... by ShapeBlue
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
ShapeBlue88 views
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue117 views
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... by The Digital Insurer
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...
Digital Personal Data Protection (DPDP) Practical Approach For CISOs by Priyanka Aash
Digital Personal Data Protection (DPDP) Practical Approach For CISOsDigital Personal Data Protection (DPDP) Practical Approach For CISOs
Digital Personal Data Protection (DPDP) Practical Approach For CISOs
Priyanka Aash153 views
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue138 views
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue by ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
ShapeBlue163 views
Business Analyst Series 2023 - Week 4 Session 7 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7
DianaGray10126 views
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT by ShapeBlue
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
ShapeBlue166 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc160 views
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... by ShapeBlue
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
ShapeBlue158 views
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker50 views
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by ShapeBlue
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
ShapeBlue132 views
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue181 views

Docker Meetup Rosenheim: Package & deploy Microservices

  • 1. Make Your Data Work For You Package & deploy Microservices Nico Meisenzahl January 2019
  • 2. @panagenda Consultant. @DockerRosenheim founder. Blogger, speaker & IBM Champion. Loves K8s, Containers & automation. His desk is a ping pong table. Nico Meisenzahl @nmeisenzahl https://meisenzahl.org nico@meisenzahl.org https://panagenda.com nico.meisenzahl@panagenda.com
  • 3. Agenda 1. Build Docker Images with Kaniko 2. Compose & Helm 3. Future (Helm 3.0 & Cloud Native Application Bundle)
  • 4. Everything starts with a Dockerfile • Describes the Image • Best practises – choose the base image wisely – use multi-stage builds – combine commands into few instructions as possible – use curl/wget for non-persistent files (installer, etc.) – reduce waste – know how caching works 4
  • 5. Image build process • “docker build” is the common way • locally – available with every Docker installation → we love it and it just works • containerized – mostly used in build pipelines – Docker-in-Docker (DinD) is needed → Security issues! • Docker daemon needs to be mounted • privileged flag is needed • not allowed in a K8s environment (hopefully) → could be better... 5
  • 6. Kaniko can help • Builds Images without privileges in a container • developed by Google • part of the Knative serverless stack – Istio, Kaniko, Knative • Docker Image: http://gcr.io/kaniko-project/executor • More details: https://github.com/GoogleContainerTools/kaniko 6
  • 7. Kaniko (Demo) • can be used with – “docker run” – as a Pod definition (Kubernetes) – in build pipelines – ... 7
  • 8. Running a microservice can’t be that hard... docker run -d my-microservice 8
  • 9. But, what if ... • your application is based on various microservices? • you would like to have a portable and easy deployment? → you will need a tool to package your application 9
  • 10. Where Compose and Helm can help (Demo) • can be used to define and run bundled multi-container Microservices – portable deployments & updates – versioning & rollbacks (Helm only) – Repositories (Helm, docker-app) • Compose can be used with – pure Docker – Swarm – docker-app • Helm is the defacto default package manager for Kubernetes • more details – https://helm.sh – https://docs.docker.com/compose – https://github.com/docker/app 10
  • 11. Helm 3.0 • removal of Tiller – Client-only – based on RBAC, CRD • embedded Lua engine – optional and mixable – more flexible – work with objects not YAML • Chart repo authentication & upload – helm login – helm push • more details: https://www.youtube.com/watch?v=XUqNLhFWbl8 11
  • 12. Helm 2 vs. 3 (Lua) 12
  • 13. CNAB (Cloud Native Application Bundle) • a spec for packaging distributed apps • designed by Microsoft, Docker, bitnami & HashiCorp • is not platform-specific: Containers, Functions, VMs, IaaS and PaaS – Compose / Helm / Kubernetes – Ansible / Terraform – Azure , OpenStack on-premises, …. • a CNAB is defined by a bundle.json and will be deployed by a invocation image 13
  • 14. CNAB (Cloud Native Application Bundle) • CLIs supporting CNAB specs – duffle by Microsoft – docker-app by Docker – ... • CNABs can be pushed to Docker Hub (using docker-app) • more details – https://cnab.io – https://github.com/deislabs/cnab-spec – https://duffle.sh – https://github.com/docker/app – https://medium.com/01001101/cloud-native-application-bundle-a-spec-for-packagi ng-distributed-apps-7f1a7e3fc6fe 14
  • 15. Questions? • Slides – http://slideshare.net/nmeisenzahl • Demos – https://gitlab.com/nmeisenzahl/docker-meetup-package-deploy 15
  • 16. Headquarters, Austria: panagenda GmbH (Ltd.) Schreyvogelgasse 3/10 AT 1010 Vienna Phone: +43 1 89 012 89 Fax: +43 1 89 012 89-15 E-Mail: info@panagenda.com Headquarters, Germany: panagenda GmbH (Ltd.) Lahnstraße 17 DE 64646 Heppenheim Phone: +49 6252 67 939-00 Fax: +49 6252 67 939-16 E-Mail: info@panagenda.com USA: panagenda Inc. 60 State Street, Suite 700 MA 02109 Boston Phone: +1 617 855 5961 Fax: +1 617 488 2292 E-Mail: info@panagenda.com Germany: panagenda Consulting GmbH (Ltd.) Donnersbergstrasse 1 DE 64646 Heppenheim Phone: +49 6252 67 939-86 Fax: +49 6252 67 939-16 E-Mail: info@panagenda.com The Netherlands: Trust Factory B.V. 11th Floor, Koningin Julianaplein 10 NL 2595 AA The Hague Phone: +31 70 80 801 96 E-Mail: info@trust-factory.com © 2007-2015 panagenda Make Your Data Work For You