A presentation at Kubernetes and Cloud Native Montréal Q3 Meetup in in Montreal, QC, Canada by Baruch Sadogursky
Where the Helm are your binaries?
Join.jfrog.com
About me @ jbaruch
shownotes • www.jfrog.com / shownotes • Slides • Video (tomorrow!) • All the links! • Ratings, comments • Raffle! @jbaruch www.jfrog.com/shownotes
What the helm is helm? Dependency manager for Kubernetes @jbaruch www.jfrog.com/shownotes
How to deploy anything to k8s • Copy YAML • Paste YAML • Fix indents • Repeat @jbaruch www.jfrog.com/shownotes
app:1.0" , @jbaruch www.jfrog.com/shownotes
Let’s build a new one!
app:1.1 @jbaruch www.jfrog.com/shownotes
One last thing…
app:1.1#${ imageTag }#` deployment.yaml @jbaruch www.jfrog.com/shownotes
@jbaruch www.jfrog.com/shownotes
app:latest " @jbaruch www.jfrog.com/shownotes
Enter helm @jbaruch www.jfrog.com/shownotes
persist Becomes this xray @jbaruch www.jfrog.com/shownotes
app.name " . }}" , "image" : "{{ . Values.image.repository }}: {{ . Values.image.tag }}" @jbaruch www.jfrog.com/shownotes
Values:
app.
formatted file.
app tag : 1.1 secretName : regsecret pullPolicy : Always @jbaruch www.jfrog.com/shownotes
Simple! • Templates • Values • Metadata @jbaruch www.jfrog.com/shownotes
image relationship • Using templates we can reuse charts for multiple image versions • Chart versions != Image versions @jbaruch www.jfrog.com/shownotes
Kubernetes cluster control @jbaruch www.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 www.jfrog.com/shownotes
Helm commands
helm init
helm search
helm install
helm status
helm repo @jbaruch www.jfrog.com/shownotes
kubeapps.com @jbaruch www.jfrog.com/shownotes
@jbaruch www.jfrog.com/shownotes
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 www.jfrog.com/shownotes
What Dependency managers and printers have in common? @jbaruch www.jfrog.com/shownotes
@jbaruch www.jfrog.com/shownotes
@jbaruch www.jfrog.com/shownotes
coding it) @ jbaruch www.jfrog.com / shownotes
coding it ) @ jbaruch www.jfrog.com / shownotes
RBAC days in k8s • Now it is just PITA • Good news: you can use Helm without Tiller today! • Also, Helm 3 is tillerless @jbaruch www.jfrog.com/shownotes
Downloadable index @jbaruch www.jfrog.com/shownotes
How bad can it be? @jbaruch www.jfrog.com/shownotes
Why in the world you need 120k or charts?! @jbaruch www.jfrog.com/shownotes
Use Artifactory: Take your metadata seriously Where the helm is my binary? @jbaruch www.jfrog.com/shownotes
The Age of Binaries IoT Docker Microservices DevOps CD CI Agile 2001 2018
Who cares about those binaries anyway? @jbaruch www.jfrog.com/shownotes
@jbaruch www.jfrog.com/shownotes
@jbaruch www.jfrog.com/shownotes
@jbaruch www.jfrog.com/shownotes
@jbaruch www.jfrog.com/shownotes
@jbaruch www.jfrog.com/shownotes
@jbaruch www.jfrog.com/shownotes
@jbaruch www.jfrog.com/shownotes
@jbaruch www.jfrog.com/shownotes
@jbaruch www.jfrog.com/shownotes
Demo time Talk is cheap, show me the code! @jbaruch www.jfrog.com/shownotes
QA and links • www.jfrog.com / shownotes • Slides • Video (tomorrow!) • All the links! • Ratings, comments • Raffle! @jbaruch www.jfrog.com/shownotes
Do you always know what’s going on with your product artifacts since the moment they are built by the CI server from Git sources all the way to being deployed by Helm into Kuberenetes?
In this talk, we will show how to build a reliable and transparent pipeline from code to cluster using Git, Artifactory, Docker, Kubernetes, and Helm. We’ll show how you such a pipeline can help you answer the the big questions: What to deploy, What is deployed, and what is this artifact that I am looking for. This kind of transparency is critical for today’s environments, and Kubernetes with Helm shouldn’t be an exception.