Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
How Containerized Pipelines Can Boost Your CI/C...
Search
DevOps Gathering
March 11, 2020
Programming
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How Containerized Pipelines Can Boost Your CI/CD by Nico Meisenzahl
DevOps Gathering
March 11, 2020
More Decks by DevOps Gathering
See All by DevOps Gathering
Hacking Terraform by Constantin Weisser
devopsgatheringio
1
280
The Road to Reliability: Infrastructure Testing explained by Constantin Weisser
devopsgatheringio
1
320
Take MicroProfile to the Clouds with Quarkus by Dirk Weil
devopsgatheringio
0
230
Tracing - a Journey to Tactical Insights by Florian Kückelkorn
devopsgatheringio
0
290
Testable Kubernetes Operators? by Marcel Müller
devopsgatheringio
0
320
Routing Your Microservices Architecture to Ease DevOps Enterprise Transformation by Manuel Zapf
devopsgatheringio
0
300
The First Decade of DevOps is Over by Konstanin Diener
devopsgatheringio
1
190
From Zero to Hero - Onboarding with GitOps by Mario Kleinsasser
devopsgatheringio
0
170
Building a Graph User-Interface for Malware-Analysis by Stefan Hausotte
devopsgatheringio
0
290
Other Decks in Programming
See All in Programming
パーソナライズPodcastを作った話
repunit11
0
140
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
1
2.3k
すこし踏み込む CancellationToken
htkym
2
1.7k
カツオ、ご期待ください
suneo3476
0
180
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
110
Verilogで学ぶCPU自作入門
uyuki234
8
4.1k
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
380
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
590
R8 の設定見直しでアプリサイズ削減
andpad
0
210
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
170
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
360
Featured
See All Featured
For a Future-Friendly Web
brad_frost
184
10k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
450
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
850
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
Transcript
How Containerized Pipelines Can Boost Your CI/CD DevOps Gathering, Bochum
2020
Nico Meisenzahl • Senior Cloud & DevOps Consultant at white
duck • Docker Community Leader & GitLab Hero • loves Kubernetes, DevOps and Cloud © white duck GmbH 2020 Phone: +49 8031 230159 0 Email:
[email protected]
Twitter: @nmeisenzahl LinkedIn: https://www.linkedin.com/in/nicomeisenzahl Blog: https://meisenzahl.org
Agenda • containerized pipeline – why? • pipeline workload on
Kubernetes with GitLab CI/CD • image builds on Kubernetes with Kaniko • cloud-native pipelines with Tekton © white duck GmbH 2020
Containerized Pipelines – Why? • for the same reasons why
you should use containers • isolation • dependencies • scalability • immutability • example: your new project needs version X all others still require Y • you can include any kind of build / deploy dependency • NodeJS, .NET Core, Go, Terraform, Ansible… you name it © white duck GmbH 2020
Pipeline job image • contains everything a single pipeline job
needs • binaries, libraries, tools, ... • provide all external dependencies • use a pipeline to build/rebuild it periodically (security fixes!) • you should define fix versions for your dependencies • use caching to speed up your builds © white duck GmbH 2020
Pipeline job image © white duck GmbH 2020
Kubernetes vs. docker run • every pipeline job runs in
a container • based on an image with all requirements for this single job • Build host with Docker daemon (or any other container solution) • GitLab Runner Kubernetes executor • integrates your CI/CD with Kubernetes • runs a pod per job • containing a container with the defined image along with some service containers • allows you to share your compute and scale your pipelines © white duck GmbH 2020
GitLab Runner Kubernetes executor • runs itself in a pod
• needs to be deployed in your Kubernetes Cluster • automatable Helm deployment • schedules job pods • build steps of a pipeline job • prepare → creates pod with build and service containers • pre-build → clones repo, restore cache, download artifacts • build → user build steps • post-build → creates caches and upload artifacts © white duck GmbH 2020
Demo • containerized pipelines on Kubernetes with GitLab Runner ©
white duck GmbH 2020
Image builds on Kubernetes with Kaniko • any Docker-in-Docker solution
has issues • exposing Docker socket • mounting /var/lib/docker • privileged mode • image builds without the need of any privileges or dependencies • runs in a container (gcr.io/kaniko-project/executor) • use build caching to speed up your pipeline • layer caching (layers get pushed pushed to a registry) • base image caching (local mount point) © white duck GmbH 2020
Image builds on Kubernetes with Kaniko © white duck GmbH
2020
Demo • containerized image builds on Kubernetes with Kaniko ©
white duck GmbH 2020
Cloud-native pipelines with Tekton • moves your whole CI/CD into
Kubernetes • uses containers as their building blocks • based on CRDs and Controllers • Tekton Pipelines emerged out of the Knative build project • Continuous Delivery Fundation Graduated project • „CI/CD framework for Kubernetes” • Jenkins X pipelines are based on Tekton • contributions by Google, IBM, RedHat, Cloudbees, TriggerMesh, … © white duck GmbH 2020
Cloud-native pipelines with Tekton • Tekton Triggers can be used
to call a pipeline • push, issue, webhook, …. • Tekton also provides a CLI and Dashboard • get started • https://github.com/tektoncd/pipeline/blob/master/docs/tutorial.md • https://github.com/tektoncd/catalog © white duck GmbH 2020
Demo • cloud-native pipelines with Tekton Pipelines © white duck
GmbH 2020
Questions? Slides: https://www.slideshare.net/nmeisenzahl Demo: https://gitlab.com/groups/containerized-cicd Nico Meisenzahl (Senior Cloud &
DevOps Consultant) Phone: +49 8031 230159 0 Email:
[email protected]
Twitter: @nmeisenzahl LinkedIn: https://www.linkedin.com/in/nicomeisenzahl Blog: https://meisenzahl.org © white duck GmbH 2020