SlideShare a Scribd company logo
vsupalov.com
Automated Testing
Environments With
Kubernetes & GitLab
Vladislav Supalov, 15th November 2017
vsupalov.comvsupalov.com
Hi, I’m Vladislav!
2
● Computer science background: ML, CV & data
● Casual web development
● Fascination with DevOps
○ Efficient, reliable, (huge), infrastructure setups
○ Monitoring, automation, processes
● Automation engineer
● Data engineering consulting business
○ Data pipelines! Small data :)
● Co-founding a startup - Pivii Technologies
○ Visual artificial intelligence for social media content marketing
● Building a consulting business around Kubernetes automation
2
vsupalov
vsupalov.comvsupalov.com
One Fine Weekend:
3
3
● How hard can it be from scratch?
● Entirely self-hosted solutions
● Using Kubernetes and GitLab
● Free Google Cloud Platform credits :)
● Project: any changes to a Git feature-x or hotfix-x branch →
● Automatically deploy to individual environments
● Purpose: share intermediate results, review progress, run automated tests
● How far can I get?
vsupalov.com
● What? Why would you?
● Words: CI & CD
● Deployment pipelines
● GitLab & Kubernetes ❤
● Lab: automating QA envs
Envs are non-critical & disposable
Using lazy, off-the-shelf components
4
vsupalov.com
What? Why?
5
vsupalov.com
We’re not doing this for fun.
6
vsupalov.com
I am doing this for fun.
Most of you as well, I assume.
Giving developers superpowers.
Awesome, reliable, neat, tidy setups.
One command → everything works.
7
We’re not doing this for fun.
vsupalov.com
Ideally, good companies and
great teams are investing
resources (time & money) into
adopting and using practices &
tech for very good reasons.
Examples: processes, Scrum, workflows, automation,
fancy/immutable infrastructure, Git, Docker, Kubernetes
8
vsupalov.comvsupalov.com
● Company: Save money or make more money
● Reduce risk
● Fix things which are broken
● Less mistakes, faster iteration times, better for company
● Improve team communication
● Save expensive developer time
● Get more team efficiency
● Reduce friction for devs
● Find issues as early and with as little effort as possible
● Create feedback loop between ops and devs
● Happy developers = less employee churn
Good Reasons
9
9
vsupalov.com
Words & Practices:
Continuous Integration
Continuous Delivery
Continuous Deployment
Testing, Staging, Production
10
vsupalov.comvsupalov.com
Continuous Integration
11
11
“Continuous integration is the practice of
routinely integrating code changes into the
main branch of a repository, and testing the
changes, as early and often as possible.
Ideally, developers will integrate their code
daily, if not multiple times a day.”
Source: atlassian.com
vsupalov.comvsupalov.com
Continuous Delivery & Deployment
12
12 Source: atlassian.com
vsupalov.comvsupalov.com
Testing, Staging, Production Envs
13
13 Source: agiledata.org
vsupalov.com
Deployment Pipelines
14
vsupalov.comvsupalov.com
● Continuous Delivery (2010)
● By Jez Humble and David Farley
● ~440 pages
● Don’t be discouraged by the age
● Really good foundation and !juicy! details
● Literally the best book on the topic
Reading Recommendation
15
15 Image source: amazon.de
vsupalov.comvsupalov.com
Deployment Pipeline
16
16 Image source: Continuous Delivery, 2010, Jez Humble and David Farley, Chapter 5
vsupalov.comvsupalov.com
Basic Deployment Pipeline
17
17 Image source: Continuous Delivery, 2010, Jez Humble and David Farley, Chapter 5
vsupalov.com
GitLab & GitLab CI/CD &
Kubernetes
18
I just want to deploy my app.
Repeatedly. When I want to.
Without busy waiting or thinking too much about it.
vsupalov.com
Personal opinion: Kubernetes is
the best choice for dealing with
containerized apps for anything
beyond toy projects.
19
vsupalov.com
GitLab: betting on Kubernetes!
My interpretation of the founder’s tweets...
20
vsupalov.com
GitLab: open source, reasonably
simple to self-host
GitLab CI/CD: very cool product
Used both in a client projects -
really liked ‘em
21
vsupalov.comvsupalov.com
GitLab CI/CD: Overview
22
22
vsupalov.comvsupalov.com
GitLab CI/CD: Pipeline
23
23 #YOLO
vsupalov.comvsupalov.com
GitLab CI/CD: Job
24
24
vsupalov.com
And now: my weekend project -
steps taken, results & learnings
25
vsupalov.comvsupalov.com
Installing & Configuring - From Scratch
26
26
● New Google Kubernetes Engine cluster
○ Helm, (Prometheus), Nginx ingress, Stackdriver, Deis
● Well-sized Ubuntu Compute Engine VM for GitLab
○ Gitlab omnibus edition (EE)
● Setup, configuration
○ Docker
■ net.ipv4.ip_forward=1
○ GitLab task runner
○ Fixing Gitlab configs
○ GCE free quotas, non-ephemeral (aka static) IP
○ Let’s Encrypt & Nginx reverse proxy config for the fun of it
○ Own Docker registry
○ Toy projects
● Kubernetes integration configuration
○ Token, base64 cert...
vsupalov.comvsupalov.com
gitlab-ci.yml
27
27 Link: docs
vsupalov.comvsupalov.com
Starting Out: A Skeleton Pipeline
28
28
vsupalov.comvsupalov.com
Simplest Project → Deis Workflow → Docker Push
29
29
vsupalov.comvsupalov.com
GitLab’s Auto DevOps (Beta)
30L
k30
“Auto DevOps automatically detects, builds, tests, deploys,
and monitors your applications.”
Links: intro, quickstart
vsupalov.comvsupalov.com
Push A Flask Project
31
31
vsupalov.comvsupalov.com
Building...
32
32
vsupalov.comvsupalov.com
But How? Enable & Configure.
33
33
vsupalov.comvsupalov.com
Building: Python + Flask @ First Try
34
34
vsupalov.comvsupalov.com
Oh.
35
35
vsupalov.comvsupalov.com
Ah.
36
36
vsupalov.comvsupalov.com
Alright, A Rails App Then...
37
37
vsupalov.comvsupalov.com
Whoo!
38
38
vsupalov.comvsupalov.com
Shipped.
39
39
vsupalov.comvsupalov.com
Environment Overview
40
40
vsupalov.comvsupalov.com
41
41
vsupalov.com
In Conclusion
42
vsupalov.com
Works. Not quite what I aimed
for.
It’s a work intensive task.
A month of work if you’re starting
from scratch to get it right?
43
vsupalov.com
Deployment pipeline, team and
product are closely linked. They
should grow together.
No one size fits all - only up to a
certain point.
44
vsupalov.comvsupalov.com
● Auto DevOps might be neat-o eventually
● Neglected here:
○ Integrations
○ Lockdown: Security + VPN
○ Wildcard certs with Let’s Encrypt ~2018 + Kube Lego
○ Handle data
○ Monitoring, usable Logs, dashboards
○ Deploy your own Helm chart
○ Maintenance issues
● Beyond magic:
○ Start with a Skeleton
○ Build what’s needed
○ Deployment pipeline for a specific project & team
Closing Thoughts
45
45
vsupalov.com
Thanks! Want to get regular
tips on building deployment
pipelines and automating
Kubernetes with GitLab & co?
Mail: yt@vsupalov.com

More Related Content

What's hot (20)

PDF
Monitoring at a SAAS Startup: Tradeoffs and Tools
bridgetkromhout
 
PDF
Are your v8 garbage collection logs speaking to you?Joyee Cheung -Alibaba Clo...
NodejsFoundation
 
PPTX
JS performance tools
Dmytro Ovcharenko
 
PDF
Stockholm Jenkins Area Meetup, March 2017
Andrey Devyatkin
 
PDF
Devops For Drupal
Kris Buytaert
 
PDF
Cloud Driven Development: a better workflow, less worries, and more power
Marzee Labs
 
PDF
Terraform GitOps on Codefresh
Codefresh
 
PDF
When JHipster meets Microsoft-JHipster and Microsoft products
Anthony Viard
 
PDF
Promise of DevOps
Juraj Hantak
 
PDF
Gradle build automation tool
Ioan Eugen Stan
 
PDF
Docker based-Pipelines with Codefresh
Codefresh
 
ODP
What grunt?
Lucio Martinez
 
PDF
Beyond OpenStack
Jirayut Nimsaeng
 
PDF
Devoxx : being productive with JHipster
Julien Dubois
 
PPTX
Grunt - The JavaScript Task Runner
Mohammed Arif
 
PDF
wp-cli and plugin development with future and past compatibility (Word Camp P...
Andreas - Creten
 
PDF
Cloud Native CI/CD with GitOps
Kasper Nissen
 
PDF
Foundations for the perfect technology stream
Bernd Alter
 
PPTX
DevOps Practices @Pipedrive
Renno Reinurm
 
PDF
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021
César Hernández
 
Monitoring at a SAAS Startup: Tradeoffs and Tools
bridgetkromhout
 
Are your v8 garbage collection logs speaking to you?Joyee Cheung -Alibaba Clo...
NodejsFoundation
 
JS performance tools
Dmytro Ovcharenko
 
Stockholm Jenkins Area Meetup, March 2017
Andrey Devyatkin
 
Devops For Drupal
Kris Buytaert
 
Cloud Driven Development: a better workflow, less worries, and more power
Marzee Labs
 
Terraform GitOps on Codefresh
Codefresh
 
When JHipster meets Microsoft-JHipster and Microsoft products
Anthony Viard
 
Promise of DevOps
Juraj Hantak
 
Gradle build automation tool
Ioan Eugen Stan
 
Docker based-Pipelines with Codefresh
Codefresh
 
What grunt?
Lucio Martinez
 
Beyond OpenStack
Jirayut Nimsaeng
 
Devoxx : being productive with JHipster
Julien Dubois
 
Grunt - The JavaScript Task Runner
Mohammed Arif
 
wp-cli and plugin development with future and past compatibility (Word Camp P...
Andreas - Creten
 
Cloud Native CI/CD with GitOps
Kasper Nissen
 
Foundations for the perfect technology stream
Bernd Alter
 
DevOps Practices @Pipedrive
Renno Reinurm
 
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021
César Hernández
 

Similar to Automated Testing Environments With Kubernetes & GitLab (20)

PDF
Free GitOps Workshop
Weaveworks
 
PDF
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Weaveworks
 
PDF
Free GitOps Workshop + Intro to Kubernetes & GitOps
Weaveworks
 
PDF
Octopus Deploy Tech Fest 2014
adriantwright
 
PDF
Aws uk ug #8 not everything that happens in vegas stay in vegas
Peter Mounce
 
PDF
Delivery Pipelines as a First Class Citizen @deliverAgile2019
ciberkleid
 
PDF
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Giovanni Toraldo
 
PPTX
DevOps Introduction_1by waqas rash .pptx
MuhammadSaoodChoudha
 
PPTX
DOES14 - David Ashman - Blackboard Learn - Keep Your Head in the Clouds
Gene Kim
 
PPTX
DOES14 - David Ashman, Blackboard Learn - Keep Your Head in the Clouds Tuesda...
DevOps Enterprise Summmit
 
PDF
Intro to Kubernetes & GitOps Workshop
Weaveworks
 
PDF
Netflix Open Source: Building a Distributed and Automated Open Source Program
aspyker
 
PDF
Building a Distributed & Automated Open Source Program at Netflix
All Things Open
 
PDF
Second Skin: Real-Time Retheming a Legacy Web Application with Diazo in the C...
Chris Shenton
 
PDF
Enhance Your Kubernetes CI/CD Pipelines With GitLab & Open Source
Nico Meisenzahl
 
PDF
Continuous Integration Testing Techniques to Improve Chef Cookbook Quality
Josiah Renaudin
 
PDF
Devops with Python by Yaniv Cohen DevopShift
Yaniv cohen
 
PDF
Multiplier Effect: Case Studies in Distributions for Publishers
Jon Peck
 
PDF
Microservices at Mercari
Google Cloud Platform - Japan
 
PDF
Big rewrites without big risks
Flavius Stef
 
Free GitOps Workshop
Weaveworks
 
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Weaveworks
 
Free GitOps Workshop + Intro to Kubernetes & GitOps
Weaveworks
 
Octopus Deploy Tech Fest 2014
adriantwright
 
Aws uk ug #8 not everything that happens in vegas stay in vegas
Peter Mounce
 
Delivery Pipelines as a First Class Citizen @deliverAgile2019
ciberkleid
 
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Giovanni Toraldo
 
DevOps Introduction_1by waqas rash .pptx
MuhammadSaoodChoudha
 
DOES14 - David Ashman - Blackboard Learn - Keep Your Head in the Clouds
Gene Kim
 
DOES14 - David Ashman, Blackboard Learn - Keep Your Head in the Clouds Tuesda...
DevOps Enterprise Summmit
 
Intro to Kubernetes & GitOps Workshop
Weaveworks
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
aspyker
 
Building a Distributed & Automated Open Source Program at Netflix
All Things Open
 
Second Skin: Real-Time Retheming a Legacy Web Application with Diazo in the C...
Chris Shenton
 
Enhance Your Kubernetes CI/CD Pipelines With GitLab & Open Source
Nico Meisenzahl
 
Continuous Integration Testing Techniques to Improve Chef Cookbook Quality
Josiah Renaudin
 
Devops with Python by Yaniv Cohen DevopShift
Yaniv cohen
 
Multiplier Effect: Case Studies in Distributions for Publishers
Jon Peck
 
Microservices at Mercari
Google Cloud Platform - Japan
 
Big rewrites without big risks
Flavius Stef
 
Ad

Recently uploaded (20)

PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PPTX
Extensions Framework (XaaS) - Enabling Orchestrate Anything
ShapeBlue
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
PDF
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Ampere Offers Energy-Efficient Future For AI And Cloud
ShapeBlue
 
PDF
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PDF
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
PPTX
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
PDF
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
PDF
Rethinking Security Operations - SOC Evolution Journey.pdf
Haris Chughtai
 
PPTX
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
Extensions Framework (XaaS) - Enabling Orchestrate Anything
ShapeBlue
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Ampere Offers Energy-Efficient Future For AI And Cloud
ShapeBlue
 
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
Rethinking Security Operations - SOC Evolution Journey.pdf
Haris Chughtai
 
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 
Ad

Automated Testing Environments With Kubernetes & GitLab