SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler 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

Mais conteúdo relacionado

Mais procurados

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
Shannon Williams
 

Mais procurados (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
 

Semelhante a Automate CI/CD with Rancher

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, Inc.
 

Semelhante a 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 ?
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

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

Notas do Editor

  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