SlideShare a Scribd company logo
Michel Schildmeijer
5 steps to set up a
container pipeline
Me
• From Amsterdam, the Netherlands
• Lead Technologist at Qualogy
• Oracle ACE since 2012
• Authored 2 books about WebLogic in 2011
• Started with UNIX in 1994
• Started with BEA technology in 2000
• Focus on containerization strategies,
DevOps etc.
Continuous Automation
Build
Test
Deploy
Monitor
DevOps Challenges
 Investigate increasing error
rate
 Increasing percentage of bugs
 Lack of continuous visibility in
DevOps teams
DevOps Challenges
Ingredients for a Cloud Native Container Pipeline
• Versioning & Container Registry
• Containers & Orchestration Engine
• Provisioning
• Container Pipelines
• Packaging & Deployments
Setup a Cloud Native Container Pipeline
1
Versioning & Container Registry
Versioning & Container Registry
• Versioning repo
• GitHub for Git
• Subversion
• BitBucket
• Container Registries
• Docker
• Vendor Registries
• Private Registries:
• OCIR:
• Private,HA
Versioning & Container Registry
• Use of Github authentication for Kubernetes
• Use the webhook Module
kubectl create -f https://raw.githubusercontent.com/oursky/kubernetes-github-
authn/master/manifests/github-authn.yaml
• K8S Webhook token authenticator for shareable access
• Instruct the apiserver to use the webhook config
--authentication-token-webhook-config-file
--authentication-token-webhook-cache-ttl
Versioning & Container Registry
• Use of Github authentication for Kubernetes
• Use the webhook Module
• K8S Webhook token authenticator for
shareable access
• Deploy keys per projects
Versioning & Container Registry
kubectl create secret docker-registry dockerregsecret --docker-
server=somewhere.com --docker-username=api.user' --docker-
password=*********' --docker-email=‘me@nowhere.com
• Registry Secret in Kubernetes
Containers & Orchestration Engine
2
Containers & Orchestration Engine
Orchestration Engine - Kubernetes
• Is a Framework for building distributed platforms
• Manages & orchestrates container processes (docker)
compute
networknetwork
storage
Orchestration Engine - Kubernetes
• Various Cloud providers have a Kubernetes solution
• Microsoft: Azure Kubernetes Engine(AKE)
• Google: Google Kubernetes Engine(GKE)
• IBM/ RedHat: OpenShift
• Oracle: Oracle Kubernetes Engine(OKE)
• Digital Ocean
OKE – Oracle Kubernetes Engine
Setup a Cloud Native Container Pipeline
3
Provision Kubernetes
• Scripted setup Kubernetes Engine
• Any Cloud Infrastructure (OCI)
• Terraform providers
client
Generate
priv/pubkeys
Set TF envars
terraform plan
terraform apply
Setup
compartment
Verify tenancy&
user details
Setup API key
K8S
Orchestration Engine – Kubernetes - provision
Orchestration Engine – Kubernetes - provision
TF init, plan and apply
Setup a Cloud Native Container Pipeline
4
Container Pipeline
Oracle Container Pipelines
• Former Wercker CI CD
• Docker-Native CI/CD Automation platform
• For Kubernetes & Microservice Deployments.
• OpenSource
• Artifact can be a packaged Docker Container
Container
Registry
AD 1 AD 3
Node Pool
K8S Cluster
Node Pool
BM
VM
Virtual
Network
PV
AD 2
Kubernetes Exposed
Service
Orchestration Container Engine
(Kubernetes)
Pods
LB
Test
Push
Build
Oracle Container Pipeline Flow
GitHub
Orchestration
web
API
 Working group
 Can have many
applications
 Users can be in many
organizations
Wercker Organization
 Links to a project on Github,
Gitlab, or Bitbucket
 ‘Contains’ the build workflows
 Has dependencies,
environment, permissions
Wercker Organization
 Steps
□ Isolated bash script or compiled
binary for accomplishing specific
automation tasks.
 Pipelines (pipeline consists of steps)
□ Pipelines: a series of steps that are
triggered on a git push or the
completion of another pipeline.
 Workflows
□ Workflows is a set of chained
branched pipelines to form multi-
stage, multi-branch complex ci/cd
flows
Concepts for building pipelines
• Added to wercker.yaml
• Add Pipeline: deploy-to-cluster
• Add K8S specifics
Oracle Container Pipeline
Terraform Step
- script:
name: Set Terraform
variables
code: |
export TF_VAR_my_var1=foo
export TF_VAR_my_var2=bar
- releasequeue/run-
terraform@0.0.15:
action: "plan"
out_file: "output_file"
state_stor_bucket: "test-
terraform-state-bucket"
state_stor_bucket_region:
“eu-fran-1"
state_stor_key:
"terraform_state"
 Steps: install packages, run tests,
etc.
 env variables, SSH keys
 ‘build’ pipeline created by default
 ‘Pipelines’ concept is in the web UI
and in the wercker.yml file
Pipelines
 Injected into repository
creating app
□ Automatically creates a ‘build’
pipeline and workflow with a hook
to the repository
 Various templates
□ Go, javascript, java, node, php,
python, etc.
 Box: base Docker image
 Service dependencies
□ each pipeline can have its own box and
service dependencies
 Pipelines
 Steps/After-Steps
Yaml file
 Flexible linking of pipelines
 Requires pipelines in wercker.yml
and configured in the web UI.
□ Depends on yml file, but workflows
are not in the yml file
 Variation based on branch
 Parallel processing – concurrency
Pipeline workflow
Helm
5
Helm
Helm
• Release and Package Management for Kubernetes
• Helm is client, Tiller runs Serverside in Kubernetes
• Can be integrated with CI build tools ( Maven, Jenkins,
and Wercker)
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get >
get_helm.sh
Helm
helm init
$HELM_HOME has been configured at /home/oracle/.helm.
Tiller (the Helm server-side component) has been installed into your
Kubernetes Cluster.
Please note: by default, Tiller is deployed with an insecure 'allow
unauthenticated users' policy.
To prevent this, run `helm init` with the --tiller-tls-verify flag.
For more information on securing your installation see:
https://docs.helm.sh/using_helm/#securing-your-helm-installation
Happy Helming!
Helm
kubectl create serviceaccount --namespace kube-system tiller
serviceaccount "tiller" created
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --
serviceaccount=kube-system:tiller
clusterrolebinding "tiller-cluster-rule" created
kubectl patch deploy --namespace kube-system tiller-deploy -p
'{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
deployment "tiller-deploy" patched
Helm Basic Components
.helm/
charts/
templates/
Chart.yaml
values.yaml
Basic info about name, description, version of app
Templates for charts; tiller parses them with values
Values for parsing templates to tiller
Helm workflow architecture
Helm ChartHelm Chart
tiller server K8s api-server
Chart deployed
Application
Add these all to wercker pipeline
 Setup the git repository
 Add application wercker_helm-
chart-generate
 Don’t generate wercker.yml
 Set the proper variables
 Run the build
Add these all to wercker pipeline
 Setup the git repository
 Add application wercker_helm-
chart-generate
 Don’t generate wercker.yml
 Set the proper variables
 Run the build
Add these all to wercker pipeline
 Setup the git repository
 Add application wercker_helm-
chart-generate
 Don’t generate wercker.yml
 Set the proper variables
 Run the build
Thank you!
mschildmeijer@qualogy.com
https://www.qualogy.com/discover-qualogy/news-
blogs/author/michel-schildmeijer
https://twitter.com@MNEMONIC01
https://nl.linkedin.com/in/mschldmr

More Related Content

What's hot (20)

PDF
Nginx conference 2015
ING-IT
 
PDF
OSMC 2021 | Use OpenSource monitoring for an Enterprise Grade Platform
NETWAYS
 
PDF
GWT Enterprise Edition
Gilad Garon
 
PPTX
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...
Lucas Jellema
 
PPTX
Apache Kafka Security
DataWorks Summit/Hadoop Summit
 
PPSX
Containers Docker Kind Kubernetes Istio
Araf Karsh Hamid
 
PPTX
How to build a cloud adapter
Maarten Smeets
 
PDF
Oracle Enterprise Manager - EM12c R5 Hybrid Cloud Management
MarketingArrowECS_CZ
 
PPTX
Open Source, infrastructure as Code, Cloud Native Apps 2015
Jonas Rosland
 
PDF
introduction to micro services
Spyros Lambrinidis
 
PPTX
Docker in a big company
Docker, Inc.
 
PPTX
Microservices with Node.js and Apache Cassandra
Jorge Bay Gondra
 
PDF
ContainerDays NYC 2015: "Container Orchestration Compared: Kubernetes and Doc...
DynamicInfraDays
 
KEY
Play Support in Cloud Foundry
rajdeep
 
PDF
2011 Essex Summit: Openstack/Hyper-V clouds
ppouliot
 
PDF
Openstack architecture for the enterprise (Openstack Ireland Meet-up)
Keith Tobin
 
PPTX
Kafka Security
Sriharsha Chintalapani
 
PDF
Marcus Rochelle - Landis+Gyr - Monitoring with Nagios Enterprise Edition
Nagios
 
PPTX
A Million ways of Deploying a Kubernetes Cluster
Jimmy Lu
 
PDF
Should i break it?
Gal Marder
 
Nginx conference 2015
ING-IT
 
OSMC 2021 | Use OpenSource monitoring for an Enterprise Grade Platform
NETWAYS
 
GWT Enterprise Edition
Gilad Garon
 
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...
Lucas Jellema
 
Apache Kafka Security
DataWorks Summit/Hadoop Summit
 
Containers Docker Kind Kubernetes Istio
Araf Karsh Hamid
 
How to build a cloud adapter
Maarten Smeets
 
Oracle Enterprise Manager - EM12c R5 Hybrid Cloud Management
MarketingArrowECS_CZ
 
Open Source, infrastructure as Code, Cloud Native Apps 2015
Jonas Rosland
 
introduction to micro services
Spyros Lambrinidis
 
Docker in a big company
Docker, Inc.
 
Microservices with Node.js and Apache Cassandra
Jorge Bay Gondra
 
ContainerDays NYC 2015: "Container Orchestration Compared: Kubernetes and Doc...
DynamicInfraDays
 
Play Support in Cloud Foundry
rajdeep
 
2011 Essex Summit: Openstack/Hyper-V clouds
ppouliot
 
Openstack architecture for the enterprise (Openstack Ireland Meet-up)
Keith Tobin
 
Kafka Security
Sriharsha Chintalapani
 
Marcus Rochelle - Landis+Gyr - Monitoring with Nagios Enterprise Edition
Nagios
 
A Million ways of Deploying a Kubernetes Cluster
Jimmy Lu
 
Should i break it?
Gal Marder
 

Similar to 5 steps to take setting up a streamlined container pipeline (20)

PDF
Setting up CI/CD pipeline with Kubernetes and Kublr step-by-step
Oleg Chunikhin
 
PDF
Setting up CI/CD Pipeline with Kubernetes and Kublr step by-step
Kublr
 
PDF
VM vs Docker-Based Pipelines
Codefresh
 
PDF
A DevOps guide to Kubernetes
Paul Czarkowski
 
PDF
Becoming A Plumber: Building Deployment Pipelines - LISA17
Daniel Barker
 
PDF
Becoming a Plumber: Building Deployment Pipelines - RevConf
Daniel Barker
 
PPTX
Pipeline your pipelines!
Giulio Vian
 
PPTX
Building CI/CD Pipelines with Jenkins and Kubernetes
Janakiram MSV
 
PPTX
Leveraging Helm to manage Deployments on Kubernetes
Manoj Bhagwat
 
PDF
Docker based-Pipelines with Codefresh
Codefresh
 
PPTX
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
E. Camden Fisher
 
PDF
Docker based-pipelines
DevOps.com
 
PPTX
Continous Delivery to Kubernetes using Helm
Bitnami
 
PDF
CD in kubernetes using helm and ksonnet. Stas Kolenkin
DataArt
 
PDF
Becoming a Plumber: Building Deployment Pipelines - All Day DevOps
Daniel Barker
 
PDF
Fabric8: Better Software Faster with Docker, Kubernetes, Jenkins
Burr Sutter
 
PDF
Shipping to Server and Cloud with Docker
Atlassian
 
PDF
Cloud-Native Builds & Deployments in Bitbucket Pipelines
Atlassian
 
PDF
Kubernetes for Beginners
DigitalOcean
 
PDF
Microservices are ‘easy’ dependencies are hard
Itiel Shwartz
 
Setting up CI/CD pipeline with Kubernetes and Kublr step-by-step
Oleg Chunikhin
 
Setting up CI/CD Pipeline with Kubernetes and Kublr step by-step
Kublr
 
VM vs Docker-Based Pipelines
Codefresh
 
A DevOps guide to Kubernetes
Paul Czarkowski
 
Becoming A Plumber: Building Deployment Pipelines - LISA17
Daniel Barker
 
Becoming a Plumber: Building Deployment Pipelines - RevConf
Daniel Barker
 
Pipeline your pipelines!
Giulio Vian
 
Building CI/CD Pipelines with Jenkins and Kubernetes
Janakiram MSV
 
Leveraging Helm to manage Deployments on Kubernetes
Manoj Bhagwat
 
Docker based-Pipelines with Codefresh
Codefresh
 
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
E. Camden Fisher
 
Docker based-pipelines
DevOps.com
 
Continous Delivery to Kubernetes using Helm
Bitnami
 
CD in kubernetes using helm and ksonnet. Stas Kolenkin
DataArt
 
Becoming a Plumber: Building Deployment Pipelines - All Day DevOps
Daniel Barker
 
Fabric8: Better Software Faster with Docker, Kubernetes, Jenkins
Burr Sutter
 
Shipping to Server and Cloud with Docker
Atlassian
 
Cloud-Native Builds & Deployments in Bitbucket Pipelines
Atlassian
 
Kubernetes for Beginners
DigitalOcean
 
Microservices are ‘easy’ dependencies are hard
Itiel Shwartz
 
Ad

More from Michel Schildmeijer (7)

PPTX
Enterprise container platform verrazzano
Michel Schildmeijer
 
PDF
Keynote Oracle Fusion Middleware Summit_2020
Michel Schildmeijer
 
PDF
Oracle Fuson Middleware Diagnostics, Performance and Troubleshoot
Michel Schildmeijer
 
PDF
SOA Suite 12c Customer implementation
Michel Schildmeijer
 
PDF
Oracle WebLogic Diagnostics & Perfomance tuning
Michel Schildmeijer
 
PDF
Oracle Fusion Middleware on Exalogic Best Practises
Michel Schildmeijer
 
PDF
WebLogic on ODA - Oracle Open World 2013
Michel Schildmeijer
 
Enterprise container platform verrazzano
Michel Schildmeijer
 
Keynote Oracle Fusion Middleware Summit_2020
Michel Schildmeijer
 
Oracle Fuson Middleware Diagnostics, Performance and Troubleshoot
Michel Schildmeijer
 
SOA Suite 12c Customer implementation
Michel Schildmeijer
 
Oracle WebLogic Diagnostics & Perfomance tuning
Michel Schildmeijer
 
Oracle Fusion Middleware on Exalogic Best Practises
Michel Schildmeijer
 
WebLogic on ODA - Oracle Open World 2013
Michel Schildmeijer
 
Ad

Recently uploaded (20)

PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PDF
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 

5 steps to take setting up a streamlined container pipeline

  • 1. Michel Schildmeijer 5 steps to set up a container pipeline
  • 2. Me • From Amsterdam, the Netherlands • Lead Technologist at Qualogy • Oracle ACE since 2012 • Authored 2 books about WebLogic in 2011 • Started with UNIX in 1994 • Started with BEA technology in 2000 • Focus on containerization strategies, DevOps etc.
  • 4.  Investigate increasing error rate  Increasing percentage of bugs  Lack of continuous visibility in DevOps teams DevOps Challenges
  • 5. Ingredients for a Cloud Native Container Pipeline • Versioning & Container Registry • Containers & Orchestration Engine • Provisioning • Container Pipelines • Packaging & Deployments
  • 6. Setup a Cloud Native Container Pipeline 1 Versioning & Container Registry
  • 7. Versioning & Container Registry • Versioning repo • GitHub for Git • Subversion • BitBucket • Container Registries • Docker • Vendor Registries • Private Registries: • OCIR: • Private,HA
  • 8. Versioning & Container Registry • Use of Github authentication for Kubernetes • Use the webhook Module kubectl create -f https://raw.githubusercontent.com/oursky/kubernetes-github- authn/master/manifests/github-authn.yaml • K8S Webhook token authenticator for shareable access • Instruct the apiserver to use the webhook config --authentication-token-webhook-config-file --authentication-token-webhook-cache-ttl
  • 9. Versioning & Container Registry • Use of Github authentication for Kubernetes • Use the webhook Module • K8S Webhook token authenticator for shareable access • Deploy keys per projects
  • 10. Versioning & Container Registry kubectl create secret docker-registry dockerregsecret --docker- server=somewhere.com --docker-username=api.user' --docker- password=*********' --docker-email=‘[email protected] • Registry Secret in Kubernetes
  • 11. Containers & Orchestration Engine 2 Containers & Orchestration Engine
  • 12. Orchestration Engine - Kubernetes • Is a Framework for building distributed platforms • Manages & orchestrates container processes (docker) compute networknetwork storage
  • 13. Orchestration Engine - Kubernetes • Various Cloud providers have a Kubernetes solution • Microsoft: Azure Kubernetes Engine(AKE) • Google: Google Kubernetes Engine(GKE) • IBM/ RedHat: OpenShift • Oracle: Oracle Kubernetes Engine(OKE) • Digital Ocean
  • 14. OKE – Oracle Kubernetes Engine
  • 15. Setup a Cloud Native Container Pipeline 3 Provision Kubernetes
  • 16. • Scripted setup Kubernetes Engine • Any Cloud Infrastructure (OCI) • Terraform providers client Generate priv/pubkeys Set TF envars terraform plan terraform apply Setup compartment Verify tenancy& user details Setup API key K8S Orchestration Engine – Kubernetes - provision
  • 17. Orchestration Engine – Kubernetes - provision TF init, plan and apply
  • 18. Setup a Cloud Native Container Pipeline 4 Container Pipeline
  • 19. Oracle Container Pipelines • Former Wercker CI CD • Docker-Native CI/CD Automation platform • For Kubernetes & Microservice Deployments. • OpenSource • Artifact can be a packaged Docker Container
  • 20. Container Registry AD 1 AD 3 Node Pool K8S Cluster Node Pool BM VM Virtual Network PV AD 2 Kubernetes Exposed Service Orchestration Container Engine (Kubernetes) Pods LB Test Push Build Oracle Container Pipeline Flow GitHub Orchestration web API
  • 21.  Working group  Can have many applications  Users can be in many organizations Wercker Organization
  • 22.  Links to a project on Github, Gitlab, or Bitbucket  ‘Contains’ the build workflows  Has dependencies, environment, permissions Wercker Organization
  • 23.  Steps □ Isolated bash script or compiled binary for accomplishing specific automation tasks.  Pipelines (pipeline consists of steps) □ Pipelines: a series of steps that are triggered on a git push or the completion of another pipeline.  Workflows □ Workflows is a set of chained branched pipelines to form multi- stage, multi-branch complex ci/cd flows Concepts for building pipelines
  • 24. • Added to wercker.yaml • Add Pipeline: deploy-to-cluster • Add K8S specifics Oracle Container Pipeline
  • 25. Terraform Step - script: name: Set Terraform variables code: | export TF_VAR_my_var1=foo export TF_VAR_my_var2=bar - releasequeue/run- [email protected]: action: "plan" out_file: "output_file" state_stor_bucket: "test- terraform-state-bucket" state_stor_bucket_region: “eu-fran-1" state_stor_key: "terraform_state"
  • 26.  Steps: install packages, run tests, etc.  env variables, SSH keys  ‘build’ pipeline created by default  ‘Pipelines’ concept is in the web UI and in the wercker.yml file Pipelines
  • 27.  Injected into repository creating app □ Automatically creates a ‘build’ pipeline and workflow with a hook to the repository  Various templates □ Go, javascript, java, node, php, python, etc.  Box: base Docker image  Service dependencies □ each pipeline can have its own box and service dependencies  Pipelines  Steps/After-Steps Yaml file
  • 28.  Flexible linking of pipelines  Requires pipelines in wercker.yml and configured in the web UI. □ Depends on yml file, but workflows are not in the yml file  Variation based on branch  Parallel processing – concurrency Pipeline workflow
  • 30. Helm • Release and Package Management for Kubernetes • Helm is client, Tiller runs Serverside in Kubernetes • Can be integrated with CI build tools ( Maven, Jenkins, and Wercker) curl https://raw.githubusercontent.com/helm/helm/master/scripts/get > get_helm.sh
  • 31. Helm helm init $HELM_HOME has been configured at /home/oracle/.helm. Tiller (the Helm server-side component) has been installed into your Kubernetes Cluster. Please note: by default, Tiller is deployed with an insecure 'allow unauthenticated users' policy. To prevent this, run `helm init` with the --tiller-tls-verify flag. For more information on securing your installation see: https://docs.helm.sh/using_helm/#securing-your-helm-installation Happy Helming!
  • 32. Helm kubectl create serviceaccount --namespace kube-system tiller serviceaccount "tiller" created kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin -- serviceaccount=kube-system:tiller clusterrolebinding "tiller-cluster-rule" created kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}' deployment "tiller-deploy" patched
  • 33. Helm Basic Components .helm/ charts/ templates/ Chart.yaml values.yaml Basic info about name, description, version of app Templates for charts; tiller parses them with values Values for parsing templates to tiller
  • 34. Helm workflow architecture Helm ChartHelm Chart tiller server K8s api-server Chart deployed Application
  • 35. Add these all to wercker pipeline  Setup the git repository  Add application wercker_helm- chart-generate  Don’t generate wercker.yml  Set the proper variables  Run the build
  • 36. Add these all to wercker pipeline  Setup the git repository  Add application wercker_helm- chart-generate  Don’t generate wercker.yml  Set the proper variables  Run the build
  • 37. Add these all to wercker pipeline  Setup the git repository  Add application wercker_helm- chart-generate  Don’t generate wercker.yml  Set the proper variables  Run the build