SlideShare a Scribd company logo
1 of 31
Download to read offline
CI/CD with Rancher
How we automate container orchestration in our
environments at Kloeckner-i using Gitlab, Docker and
Rancher
Original google slides version: https://goo.gl/YiMQkJ
Nick Thomas
Developer
Code Fairy
Working at Kloeckner-i
github.com/pangdudu
nick.thomas@kloeckner.com
What’s this talk about?
Topics
I. Introduction
II. Container Orchestration
III. CI/CD with Rancher
IV. Setup storage management in
Rancher
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
source:medium.com
Kloeckner-i
● Kloeckner-i, a corporate-startup
hybrid based in Berlin
● We’re building the next
generation of tools for the steel
industry
● To spend as much time as
possible developing, we need to
automate everything else
source:pdssheetmetal.co.uk
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
Automate all the things!
What we want to automate:
● Checking our code style
● Testing our code
● Creating QA environments and
deploying our code to them
● Running integration tests
● Deploying our code to production
systems
● Scaling our systems if we need
to
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
What we’re building - Microservices
Platform
Frontend
frontend.DOMAIN
...
API Proxy
api.DOMAIN
Backend Magic
(Services)
ERP (SAP)
IDP
IdentityProvider
idp.DOMAIN
Account Producer
Contract Producer
Order Producer
ConnectorAPI
Central processing system
(Multiple queues)
Consumer
Consumer
Web
frontend.DOMAIN
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
Container Orchestration
● Tools that organizations use to manage
containers at scale (and in production)
● May include features such as container:
○ Upgrades
○ Scaling
○ Multi Host Networking
○ Storage management
○ Health checks
○ ...
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
source:quora.com
So why Rancher?
Candidates
● Amazon ECS
● Google Container Engine
● Azure Container Service
● Apache Mesos
● Kubernetes
● Docker Swarm
● CF Diego
● CoreOS Fleet
● Puppet, Bash, ...
Reasons I chose Rancher
● Wanted no vendor lock-in (self hostable
and open-source)
● Something developers knowing
docker-compose understand
● Docker Swarm (1.12) not ready
● Mesos and Kubernetes more complicated
● Github: 4K, Issues: open 1K, closed 4K
● Powerful GUI
● Just feels right
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
CI/CD with Gitlab, Docker, Rancher
Current stack
● Hosting: Google Compute Engine
● Automation: Gitlab
○ Run tests: docker runner
○ Host docker images: docker registry
● Orchestration: Rancher
source:lakehub.co.ke
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
Docker development workflow
1. Build Dockerfile
2. Run container
3. Build docker-compose.yml
4. Run container with dependencies
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
Gitlab Dockerception
1. Build .gitlab-ci.yml
a. Lint
b. Test
c. Build docker image
2. Push to repository
3. Gitlab runs your jobs
4. Build docker containers within
docker containers with docker
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
.gitlab-ci.yml
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
Gitlab Dockerception - Demo
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
Rancher - Another layer on top
Source:rancher.com
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
Rancher Features
● Rancher structure
○ Environments
○ Stacks and Services
○ Catalog
● Discoverable API
● Easy to setup
Source:rancher.com
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
Rancher - Demo
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
SHIA - Just do it!
● Connecting Gitlab and Rancher
● Rubygem SHIA
● Deploy stack to environment
● Deploy full stack to a “QA” environment
● Don’t let your dreams be dreams …
●
SHIA stands for Seamless Hive Integration Agent (it’s really hard to find buzzwords for that acronym )
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
SHIA - Deploying Services
● Create Environment
● Add hosts on GCE via docker-machine
● Add users to environment
● Process stack config
● Create description (branch:commit-hash)
● Create or update stack
● One command: shia -e linuxcon deploy
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
SHIA - Deploying QA Environments
● Convention “@env_xx” in git branch name
● Deploys stack that is to be tested with current branch
● Deploys the rest of the stack with master branch
● Multiple stacks can be deployed to the same environment with different
branches
● One command: shia -b ${CI_BUILD_REF_NAME} deploy_all
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
SHIA - Deploying Services - Demo
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
SHIA - Deploying QA Environments - Demo
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
SHIA - What we’re working on
● Automate GCE networking configuration
○ Create GCE LB
○ Configure DNS (currently using myra cloud)
● Seed data efficiently in QA environments
● Run full stack integration tests in QA environments
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
Storage Management with
Rancher
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
Storage options with Docker
● Default : No Data Persistence
● Data Volumes : Container Persistence
● Data Only Container : Container
Persistence
● Host Mapped Volume : Container
Persistence
● Host Mapped Volume, backed by Shared
Storage : Host Persistence
● Convoy Volume Plugin : Host Persistence
(of Storage Host)
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
Convoy-NFS features
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
● Docker Volume Driver Plugin
● Backend for different storage options
○ Device Mapper
○ NFS/EFS/VFS
● Snapshots, Backups, Restore
● Single Go binary
● Can be deployed independently of Rancher
Convoy-NFS
Source:rancher.com
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
Setting up convoy-nfs
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
Where to get SHIA
Kloeckner-i Github
https://github.com/kloeckner-i/shia
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher / Fin
Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher / Fin
It’s easy. JUST DO IT!
Original google slides version: https://goo.gl/YiMQkJ

More Related Content

What's hot

Deploying Containers with Rancher
Deploying Containers with RancherDeploying Containers with Rancher
Deploying Containers with RancherChris Tankersley
 
Kubernetes and the hybrid cloud with Skupper | DevNation tech talk
Kubernetes and the hybrid cloud with Skupper | DevNation tech talkKubernetes and the hybrid cloud with Skupper | DevNation tech talk
Kubernetes and the hybrid cloud with Skupper | DevNation tech talkRed Hat Developers
 
Breaking Bad Habits with GitLab CI
Breaking Bad Habits with GitLab CIBreaking Bad Habits with GitLab CI
Breaking Bad Habits with GitLab CIIvan Nemytchenko
 
Running Rancher and Docker on Dev Machines - Rancher Online Meetup - May 2016
Running Rancher and Docker on Dev Machines - Rancher Online Meetup - May 2016Running Rancher and Docker on Dev Machines - Rancher Online Meetup - May 2016
Running Rancher and Docker on Dev Machines - Rancher Online Meetup - May 2016Shannon Williams
 
Unlimited Staging Environments
Unlimited Staging EnvironmentsUnlimited Staging Environments
Unlimited Staging EnvironmentsCodefresh
 
Infrasturcure-as-code with Kubernetes and Rancher - September 2019 Online Meetup
Infrasturcure-as-code with Kubernetes and Rancher - September 2019 Online MeetupInfrasturcure-as-code with Kubernetes and Rancher - September 2019 Online Meetup
Infrasturcure-as-code with Kubernetes and Rancher - September 2019 Online MeetupShannon Williams
 
Moby Summit introduction
Moby Summit introductionMoby Summit introduction
Moby Summit introductionMoby Project
 
Next Gen Storage and Networking in Container Environments - September 2016 Ra...
Next Gen Storage and Networking in Container Environments - September 2016 Ra...Next Gen Storage and Networking in Container Environments - September 2016 Ra...
Next Gen Storage and Networking in Container Environments - September 2016 Ra...Shannon Williams
 
Breaking bad habits with GitLab CI
Breaking bad habits with GitLab CIBreaking bad habits with GitLab CI
Breaking bad habits with GitLab CIIvan Nemytchenko
 
Rancher March 2016 Online Meetup Containers-as-a-Service with Rancher 1.0
Rancher March 2016 Online Meetup Containers-as-a-Service with Rancher 1.0Rancher March 2016 Online Meetup Containers-as-a-Service with Rancher 1.0
Rancher March 2016 Online Meetup Containers-as-a-Service with Rancher 1.0Shannon Williams
 
4K–Kubernetes with Knative, Kafka and Kamel
4K–Kubernetes with Knative, Kafka and Kamel 4K–Kubernetes with Knative, Kafka and Kamel
4K–Kubernetes with Knative, Kafka and Kamel Red Hat Developers
 
Docker based-Pipelines with Codefresh
Docker based-Pipelines with CodefreshDocker based-Pipelines with Codefresh
Docker based-Pipelines with CodefreshCodefresh
 
Rancher 2.x first step before deep dive
Rancher 2.x  first step before deep diveRancher 2.x  first step before deep dive
Rancher 2.x first step before deep diveLINE Corporation
 
CI/CD with Openshift and Jenkins
CI/CD with Openshift and JenkinsCI/CD with Openshift and Jenkins
CI/CD with Openshift and JenkinsAri LiVigni
 
CI/CD Pipeline mit Gitlab CI und Kubernetes
CI/CD Pipeline mit Gitlab CI und KubernetesCI/CD Pipeline mit Gitlab CI und Kubernetes
CI/CD Pipeline mit Gitlab CI und Kubernetesinovex GmbH
 
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data ProjectsJUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data ProjectsCloudBees
 
Jenkins vs GitLab CI
Jenkins vs GitLab CIJenkins vs GitLab CI
Jenkins vs GitLab CICEE-SEC(R)
 
Storage for containers and cloud-native deployments - Rancher Online Meetup -...
Storage for containers and cloud-native deployments - Rancher Online Meetup -...Storage for containers and cloud-native deployments - Rancher Online Meetup -...
Storage for containers and cloud-native deployments - Rancher Online Meetup -...Shannon Williams
 
Docker for tooling
Docker for toolingDocker for tooling
Docker for toolingRafael Gomes
 

What's hot (20)

Deploying Containers with Rancher
Deploying Containers with RancherDeploying Containers with Rancher
Deploying Containers with Rancher
 
Kubernetes and the hybrid cloud with Skupper | DevNation tech talk
Kubernetes and the hybrid cloud with Skupper | DevNation tech talkKubernetes and the hybrid cloud with Skupper | DevNation tech talk
Kubernetes and the hybrid cloud with Skupper | DevNation tech talk
 
Breaking Bad Habits with GitLab CI
Breaking Bad Habits with GitLab CIBreaking Bad Habits with GitLab CI
Breaking Bad Habits with GitLab CI
 
Running Rancher and Docker on Dev Machines - Rancher Online Meetup - May 2016
Running Rancher and Docker on Dev Machines - Rancher Online Meetup - May 2016Running Rancher and Docker on Dev Machines - Rancher Online Meetup - May 2016
Running Rancher and Docker on Dev Machines - Rancher Online Meetup - May 2016
 
Unlimited Staging Environments
Unlimited Staging EnvironmentsUnlimited Staging Environments
Unlimited Staging Environments
 
Infrasturcure-as-code with Kubernetes and Rancher - September 2019 Online Meetup
Infrasturcure-as-code with Kubernetes and Rancher - September 2019 Online MeetupInfrasturcure-as-code with Kubernetes and Rancher - September 2019 Online Meetup
Infrasturcure-as-code with Kubernetes and Rancher - September 2019 Online Meetup
 
Moby Summit introduction
Moby Summit introductionMoby Summit introduction
Moby Summit introduction
 
Next Gen Storage and Networking in Container Environments - September 2016 Ra...
Next Gen Storage and Networking in Container Environments - September 2016 Ra...Next Gen Storage and Networking in Container Environments - September 2016 Ra...
Next Gen Storage and Networking in Container Environments - September 2016 Ra...
 
Breaking bad habits with GitLab CI
Breaking bad habits with GitLab CIBreaking bad habits with GitLab CI
Breaking bad habits with GitLab CI
 
Rancher March 2016 Online Meetup Containers-as-a-Service with Rancher 1.0
Rancher March 2016 Online Meetup Containers-as-a-Service with Rancher 1.0Rancher March 2016 Online Meetup Containers-as-a-Service with Rancher 1.0
Rancher March 2016 Online Meetup Containers-as-a-Service with Rancher 1.0
 
4K–Kubernetes with Knative, Kafka and Kamel
4K–Kubernetes with Knative, Kafka and Kamel 4K–Kubernetes with Knative, Kafka and Kamel
4K–Kubernetes with Knative, Kafka and Kamel
 
Docker based-Pipelines with Codefresh
Docker based-Pipelines with CodefreshDocker based-Pipelines with Codefresh
Docker based-Pipelines with Codefresh
 
CRI-containerd
CRI-containerdCRI-containerd
CRI-containerd
 
Rancher 2.x first step before deep dive
Rancher 2.x  first step before deep diveRancher 2.x  first step before deep dive
Rancher 2.x first step before deep dive
 
CI/CD with Openshift and Jenkins
CI/CD with Openshift and JenkinsCI/CD with Openshift and Jenkins
CI/CD with Openshift and Jenkins
 
CI/CD Pipeline mit Gitlab CI und Kubernetes
CI/CD Pipeline mit Gitlab CI und KubernetesCI/CD Pipeline mit Gitlab CI und Kubernetes
CI/CD Pipeline mit Gitlab CI und Kubernetes
 
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data ProjectsJUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
 
Jenkins vs GitLab CI
Jenkins vs GitLab CIJenkins vs GitLab CI
Jenkins vs GitLab CI
 
Storage for containers and cloud-native deployments - Rancher Online Meetup -...
Storage for containers and cloud-native deployments - Rancher Online Meetup -...Storage for containers and cloud-native deployments - Rancher Online Meetup -...
Storage for containers and cloud-native deployments - Rancher Online Meetup -...
 
Docker for tooling
Docker for toolingDocker for tooling
Docker for tooling
 

Similar to Automate CI/CD with Rancher

Rancher
RancherRancher
RancherNamCx
 
Build optimization mechanisms in GitLab and Docker
Build optimization mechanisms in GitLab and DockerBuild optimization mechanisms in GitLab and Docker
Build optimization mechanisms in GitLab and DockerDmytro Patkovskyi
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDocker, Inc.
 
Taking Docker to Production: What You Need to Know and Decide
Taking Docker to Production: What You Need to Know and DecideTaking Docker to Production: What You Need to Know and Decide
Taking Docker to Production: What You Need to Know and DecideBret Fisher
 
Taking Docker to Production: What You Need to Know and Decide
Taking Docker to Production: What You Need to Know and DecideTaking Docker to Production: What You Need to Know and Decide
Taking Docker to Production: What You Need to Know and DecideDocker, Inc.
 
KubeCI - Cloud Native Continuous Delivery for Kubernetes
KubeCI - Cloud Native Continuous Delivery for KubernetesKubeCI - Cloud Native Continuous Delivery for Kubernetes
KubeCI - Cloud Native Continuous Delivery for KubernetesTobias Schneck
 
State of Containers and the Convergence of HPC and BigData
State of Containers and the Convergence of HPC and BigDataState of Containers and the Convergence of HPC and BigData
State of Containers and the Convergence of HPC and BigDatainside-BigData.com
 
Talk on PHP Day Uruguay about Docker
Talk on PHP Day Uruguay about DockerTalk on PHP Day Uruguay about Docker
Talk on PHP Day Uruguay about DockerWellington Silva
 
Docker London Meetup: Docker Engine Evolution
Docker London Meetup: Docker Engine EvolutionDocker London Meetup: Docker Engine Evolution
Docker London Meetup: Docker Engine EvolutionPhil Estes
 
A Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and ContainersA Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and ContainersDocker, Inc.
 
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019Radulescu Adina-Valentina
 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned RightScale
 
"[WORKSHOP] K8S for developers", Denis Romanuk
"[WORKSHOP] K8S for developers", Denis Romanuk"[WORKSHOP] K8S for developers", Denis Romanuk
"[WORKSHOP] K8S for developers", Denis RomanukFwdays
 
DevEx | there’s no place like k3s
DevEx | there’s no place like k3sDevEx | there’s no place like k3s
DevEx | there’s no place like k3sHaggai Philip Zagury
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with DockerAndrey Hristov
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with DockerAndrey Hristov
 
State of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache BigtopState of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache BigtopGanesh Raju
 
Introduction to Docker at Glidewell Laboratories in Orange County
Introduction to Docker at Glidewell Laboratories in Orange CountyIntroduction to Docker at Glidewell Laboratories in Orange County
Introduction to Docker at Glidewell Laboratories in Orange CountyJérôme Petazzoni
 
from Docker to Moby and back. what changed ?
from Docker to Moby and back. what changed ?from Docker to Moby and back. what changed ?
from Docker to Moby and back. what changed ?strikr .
 

Similar to Automate CI/CD with Rancher (20)

Rancher
RancherRancher
Rancher
 
Build optimization mechanisms in GitLab and Docker
Build optimization mechanisms in GitLab and DockerBuild optimization mechanisms in GitLab and Docker
Build optimization mechanisms in GitLab and Docker
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development Pipeline
 
Taking Docker to Production: What You Need to Know and Decide
Taking Docker to Production: What You Need to Know and DecideTaking Docker to Production: What You Need to Know and Decide
Taking Docker to Production: What You Need to Know and Decide
 
Taking Docker to Production: What You Need to Know and Decide
Taking Docker to Production: What You Need to Know and DecideTaking Docker to Production: What You Need to Know and Decide
Taking Docker to Production: What You Need to Know and Decide
 
KubeCI - Cloud Native Continuous Delivery for Kubernetes
KubeCI - Cloud Native Continuous Delivery for KubernetesKubeCI - Cloud Native Continuous Delivery for Kubernetes
KubeCI - Cloud Native Continuous Delivery for Kubernetes
 
State of Containers and the Convergence of HPC and BigData
State of Containers and the Convergence of HPC and BigDataState of Containers and the Convergence of HPC and BigData
State of Containers and the Convergence of HPC and BigData
 
Talk on PHP Day Uruguay about Docker
Talk on PHP Day Uruguay about DockerTalk on PHP Day Uruguay about Docker
Talk on PHP Day Uruguay about Docker
 
Docker London Meetup: Docker Engine Evolution
Docker London Meetup: Docker Engine EvolutionDocker London Meetup: Docker Engine Evolution
Docker London Meetup: Docker Engine Evolution
 
A Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and ContainersA Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and Containers
 
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned
 
"[WORKSHOP] K8S for developers", Denis Romanuk
"[WORKSHOP] K8S for developers", Denis Romanuk"[WORKSHOP] K8S for developers", Denis Romanuk
"[WORKSHOP] K8S for developers", Denis Romanuk
 
DevEx | there’s no place like k3s
DevEx | there’s no place like k3sDevEx | there’s no place like k3s
DevEx | there’s no place like k3s
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with Docker
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with Docker
 
State of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache BigtopState of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache Bigtop
 
reBuy on Kubernetes
reBuy on KubernetesreBuy on Kubernetes
reBuy on Kubernetes
 
Introduction to Docker at Glidewell Laboratories in Orange County
Introduction to Docker at Glidewell Laboratories in Orange CountyIntroduction to Docker at Glidewell Laboratories in Orange County
Introduction to Docker at Glidewell Laboratories in Orange County
 
from Docker to Moby and back. what changed ?
from Docker to Moby and back. what changed ?from Docker to Moby and back. what changed ?
from Docker to Moby and back. what changed ?
 

Recently uploaded

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 

Automate CI/CD with Rancher

  • 1. CI/CD with Rancher How we automate container orchestration in our environments at Kloeckner-i using Gitlab, Docker and Rancher Original google slides version: https://goo.gl/YiMQkJ
  • 2. Nick Thomas Developer Code Fairy Working at Kloeckner-i github.com/pangdudu nick.thomas@kloeckner.com
  • 4. Topics I. Introduction II. Container Orchestration III. CI/CD with Rancher IV. Setup storage management in Rancher Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher source:medium.com
  • 5. Kloeckner-i ● Kloeckner-i, a corporate-startup hybrid based in Berlin ● We’re building the next generation of tools for the steel industry ● To spend as much time as possible developing, we need to automate everything else source:pdssheetmetal.co.uk Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
  • 6. Automate all the things! What we want to automate: ● Checking our code style ● Testing our code ● Creating QA environments and deploying our code to them ● Running integration tests ● Deploying our code to production systems ● Scaling our systems if we need to Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
  • 7. What we’re building - Microservices Platform Frontend frontend.DOMAIN ... API Proxy api.DOMAIN Backend Magic (Services) ERP (SAP) IDP IdentityProvider idp.DOMAIN Account Producer Contract Producer Order Producer ConnectorAPI Central processing system (Multiple queues) Consumer Consumer Web frontend.DOMAIN Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
  • 8. Container Orchestration ● Tools that organizations use to manage containers at scale (and in production) ● May include features such as container: ○ Upgrades ○ Scaling ○ Multi Host Networking ○ Storage management ○ Health checks ○ ... Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher source:quora.com
  • 9. So why Rancher? Candidates ● Amazon ECS ● Google Container Engine ● Azure Container Service ● Apache Mesos ● Kubernetes ● Docker Swarm ● CF Diego ● CoreOS Fleet ● Puppet, Bash, ... Reasons I chose Rancher ● Wanted no vendor lock-in (self hostable and open-source) ● Something developers knowing docker-compose understand ● Docker Swarm (1.12) not ready ● Mesos and Kubernetes more complicated ● Github: 4K, Issues: open 1K, closed 4K ● Powerful GUI ● Just feels right Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
  • 10. CI/CD with Gitlab, Docker, Rancher Current stack ● Hosting: Google Compute Engine ● Automation: Gitlab ○ Run tests: docker runner ○ Host docker images: docker registry ● Orchestration: Rancher source:lakehub.co.ke Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
  • 11. Docker development workflow 1. Build Dockerfile 2. Run container 3. Build docker-compose.yml 4. Run container with dependencies Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
  • 12. Gitlab Dockerception 1. Build .gitlab-ci.yml a. Lint b. Test c. Build docker image 2. Push to repository 3. Gitlab runs your jobs 4. Build docker containers within docker containers with docker Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
  • 13. .gitlab-ci.yml Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
  • 14. Gitlab Dockerception - Demo Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
  • 15. Rancher - Another layer on top Source:rancher.com Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
  • 16. Rancher Features ● Rancher structure ○ Environments ○ Stacks and Services ○ Catalog ● Discoverable API ● Easy to setup Source:rancher.com Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
  • 17. Rancher - Demo Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
  • 18. SHIA - Just do it! ● Connecting Gitlab and Rancher ● Rubygem SHIA ● Deploy stack to environment ● Deploy full stack to a “QA” environment ● Don’t let your dreams be dreams … ● SHIA stands for Seamless Hive Integration Agent (it’s really hard to find buzzwords for that acronym ) Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
  • 19. SHIA - Deploying Services ● Create Environment ● Add hosts on GCE via docker-machine ● Add users to environment ● Process stack config ● Create description (branch:commit-hash) ● Create or update stack ● One command: shia -e linuxcon deploy Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
  • 20. SHIA - Deploying QA Environments ● Convention “@env_xx” in git branch name ● Deploys stack that is to be tested with current branch ● Deploys the rest of the stack with master branch ● Multiple stacks can be deployed to the same environment with different branches ● One command: shia -b ${CI_BUILD_REF_NAME} deploy_all Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
  • 21. SHIA - Deploying Services - Demo Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
  • 22. SHIA - Deploying QA Environments - Demo Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
  • 23. SHIA - What we’re working on ● Automate GCE networking configuration ○ Create GCE LB ○ Configure DNS (currently using myra cloud) ● Seed data efficiently in QA environments ● Run full stack integration tests in QA environments Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
  • 24. Storage Management with Rancher Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
  • 25. Storage options with Docker ● Default : No Data Persistence ● Data Volumes : Container Persistence ● Data Only Container : Container Persistence ● Host Mapped Volume : Container Persistence ● Host Mapped Volume, backed by Shared Storage : Host Persistence ● Convoy Volume Plugin : Host Persistence (of Storage Host) Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
  • 26. Convoy-NFS features Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher ● Docker Volume Driver Plugin ● Backend for different storage options ○ Device Mapper ○ NFS/EFS/VFS ● Snapshots, Backups, Restore ● Single Go binary ● Can be deployed independently of Rancher
  • 27. Convoy-NFS Source:rancher.com Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
  • 28. Setting up convoy-nfs Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher
  • 29. Where to get SHIA Kloeckner-i Github https://github.com/kloeckner-i/shia Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher / Fin
  • 30. Introduction / Orchestration / CI/CD with Rancher / Storage management in Rancher / Fin It’s easy. JUST DO IT!
  • 31. Original google slides version: https://goo.gl/YiMQkJ

Editor's Notes

  1. Who uses containers in production? Who has Docker containers in production? Who uses? Kubernetes, Mesos, Swarm, Bash Who heard of Rancher (OS) before?
  2. Run full stack integration tests in ad-hoc created environments
  3. Slide 1-11 ~8minuten
  4. Nicht die steps, sonders was man machen will
  5. Rancher is an orchestration level on top of container orchestration
  6. What’s the problem that is getting solved