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
200
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
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
4
770
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
350
TiDB Cloudのカスタムコントローラーによるオートスケール対応
takaidohigasi
0
130
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
140
AI活用は、個人から組織へ|マルチプレイヤーエージェントハーネス「QM」の社内活用事例 / AI use is moving from individuals to orgs
rkaga
1
170
Family mrubyの進捗
kishima
1
130
アクセシビリティから考える情報設計
high_g_engineer
0
390
Building an Out-of-Order CPU
latte72
1
800
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
160
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
3.1k
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
390
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
660
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
247
13k
Prompt Engineering for Job Search
mfonobong
0
460
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
300
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
280
Thoughts on Productivity
jonyablonski
76
5.4k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
570
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
430
Abbi's Birthday
coloredviolet
4
10k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
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