Where the Helm are your binaries? @ jbaruch

dockercon jfrog.com / shownotes

About me @ jbaruch

What the helm is helm? Dependency manager for Kubernetes @ jbaruch

dockercon jfrog.com / shownotes

What Dependency managers and printers have in common? @ jbaruch

dockercon jfrog.com / shownotes

@ jbaruch

dockercon jfrog.com / shownotes

@ jbaruch

dockercon jfrog.com / shownotes

@ jbaruch

dockercon jfrog.com / shownotes

@ jbaruch

dockercon jfrog.com / shownotes

How to deploy anything to k8s • Copy YAML • Paste YAML • Fix indents • Repeat @ jbaruch

dockercon jfrog.com / shownotes

Kubernetes resource { "kind" : "Deployment" , " apiVersion " : "extensions/v1beta1" , "metadata" : { "name" : "my

release

docker

app

chart" }, "spec" : { "containers" : [ { "name" : " docker

app

chart" , "image" : " docker.artifactory /docker

app:1.0" , @ jbaruch

dockercon jfrog.com / shownotes

Let’s build a new one!

docker build – t docker.artifactory /docker

app:1.1 @ jbaruch

dockercon jfrog.com / shownotes

One last thing…

sed – i.bak ` s#docker.artifactory /docker

app:1.1#${ imageTag }#` deployment.yaml @ jbaruch

dockercon jfrog.com / shownotes

Or just use :latest "image" : " docker.artifactory / docker

app:latest " @ jbaruch

dockercon jfrog.com / shownotes

Enter helm @ jbaruch

dockercon jfrog.com / shownotes

Encapsulated packages of Kubernetes deployments All this… xrayxray

analysis xray

event xray

indexer xray

nfs

server xray

persist Becomes this xray @ jbaruch

dockercon jfrog.com / shownotes

Powerful templating for descriptor files { "kind" : "Deployment" , " apiVersion " : "extensions/v1beta1" , "metadata" : { "name" : "{{ template " docker

app.fullname " . }}" }, "spec" : { "containers" : [ { "name" : "{{ template " docker

app.name " . }}" , "image" : "{{ . Values.image.repository }}: {{ . Values.image.tag }}" @ jbaruch

dockercon jfrog.com / shownotes

Values:

Default values for

docker

app.

This is a YAML

formatted file.

Declare name/value pairs to be passed into your templates.

image : repository : docker.artifactory / docker

app tag : 1.1 secretName : regsecret pullPolicy : Always @ jbaruch

dockercon jfrog.com / shownotes

Simple! • Templates • Values • Metadata @ jbaruch

dockercon jfrog.com / shownotes

Chart <

image relationship • Using templates we can reuse charts for multiple image versions • But not really… • Templates will be populated from values within the chart • Otherwise, they has to be provided on each run • You don’t want to require versions of images from the client! @ jbaruch

dockercon jfrog.com / shownotes

Kubernetes cluster control @ jbaruch

dockercon jfrog.com / shownotes

Two parts Helm client • Local chart development • Managing repositories • Interacting with the Tiller server Tiller Server • Listening for incoming requests from the Helm client • Combining a chart and configuration to build a release • Installing charts into Kubernetes, and then tracking the subsequent release • Upgrading and uninstalling charts by interacting with Kubernetes @ jbaruch

dockercon jfrog.com / shownotes

Helm commands

helm init

helm search

helm install

helm status

helm repo @ jbaruch

dockercon jfrog.com / shownotes

Helm repositories • Official repository

kubeapps.com @ jbaruch

dockercon jfrog.com / shownotes

Helm repositories • Official repository

kubeapps.com • Get a local one! • Option 1: Create your own: • Run an http server with index.yaml • Run helm repo index to generate one the index • Option 2: Use JFrog Artifactory • Universal Artifact Repository which supports Docker, Helm and everything else @ jbaruch

dockercon jfrog.com / shownotes

Use Artifactory: Take your metadata seriously Where the helm is my binary? @ jbaruch

dockercon jfrog.com / shownotes

shownotes • www.jfrog.com / shownotes • Slides • Video (tomorrow!) • All the links! • Ratings, comments • Raffle! @ jbaruch

dockercon jfrog.com / shownotes

The Age of Binaries IoT Serverless Docker Microservices DevOps CD CI Agile 2001 2018 @ jbaruch

dockercon jfrog.com / shownotes

Who cares about those binaries anyway? @ jbaruch

dockercon jfrog.com / shownotes

The big picture @ jbaruch

dockercon jfrog.com / shownotes @jbaruch #dockercon jfrog.com/shownotes

The big picture @ jbaruch

dockercon jfrog.com / shownotes @jbaruch #dockercon jfrog.com/shownotes

@ jbaruch

dockercon jfrog.com / shownotes

@ jbaruch

dockercon jfrog.com / shownotes

@ jbaruch

dockercon jfrog.com / shownotes

@ jbaruch

dockercon jfrog.com / shownotes

@ jbaruch

dockercon jfrog.com / shownotes

@ jbaruch

dockercon jfrog.com / shownotes

@ jbaruch

dockercon jfrog.com / shownotes

@ jbaruch

dockercon jfrog.com / shownotes

@ jbaruch

dockercon jfrog.com / shownotes

@jbaruch #dockercon jfrog.com/shownotes The big picture @jbaruch #dockercon jfrog.com/shownotes

The big picture @ jbaruch

dockercon jfrog.com / shownotes @jbaruch #dockercon jfrog.com/shownotes

The big picture @ jbaruch

dockercon jfrog.com / shownotes @jbaruch #dockercon jfrog.com/shownotes

The big picture @ jbaruch

dockercon jfrog.com / shownotes @jbaruch #dockercon jfrog.com/shownotes

The big picture @ jbaruch

dockercon jfrog.com / shownotes @jbaruch #dockercon jfrog.com/shownotes

The big picture @ jbaruch

dockercon jfrog.com / shownotes @jbaruch #dockercon jfrog.com/shownotes

The big picture @ jbaruch

dockercon jfrog.com / shownotes @jbaruch #dockercon jfrog.com/shownotes

The big picture @ jbaruch

dockercon jfrog.com / shownotes @jbaruch #dockercon jfrog.com/shownotes

The big picture @ jbaruch

dockercon jfrog.com / shownotes @jbaruch #dockercon jfrog.com/shownotes

The big picture @ jbaruch

dockercon jfrog.com / shownotes @jbaruch #dockercon jfrog.com/shownotes

The big picture @ jbaruch

dockercon jfrog.com / shownotes @jbaruch #dockercon jfrog.com/shownotes

Demo time Talk is cheap, show me the code! @ jbaruch

dockercon jfrog.com / shownotes

QA and links • www.jfrog.com / shownotes • Slides • Video (tomorrow!) • All the links! • Ratings, comments • Raffle! @ jbaruch

dockercon jfrog.com / shownotes