Transforming businesses that use technology
into technology organizations that do business.
KENZAN
Digital Consulting + Software Engineering
Spring Boot in K8s with Helm
About me Chuck Salazar
Kenzan
Sr. Backend
Engineer
Software Engineer
Carlos E. Salazar
Codesolt
Spring
programming
blog
Tech Speaker
Montreal, San
Antonio,
Barranquilla
Cloud
Native Gdl
Lead
Organizer
Agenda
Structure
Java & Spring
Demo
Architecture
Next Steps
1
3
4
5
6
K8s & Helm2
Java & Spring
Cloud Native
Java apps
Intro Docker & Kubernetes
Image from:
docker.com
Java Running in containers
● Maven/Gradle plugin: Jib
● OOTB JDK images
● JVM remote debugging
● JLink: custom JVM
● GraalVM
Spring Boot Running in containers
● Executable jar
● Embedded Tomcat
● All dependencies packaged
● In-app security
● Documentation with Swagger
Helm
Another Layer
on top of K8s?
K8s Advantages
● Open Source
● Run anywhere
● Auto scaling
● Self healing
● Service discovery
● Load balancing
● CNCF supported
K8s Challenges
● Manage and update multiple
configurations
● Deploy multiple apps as a
“single” definition
● Parametrize for multiple
environments
● Manage releases
● Validate deployment state
Helm
What is Helm?
● Helm Charts help you manage even the
most complex Kubernetes application.
● Helm is maintained by the CNCF - in
collaboration with Microsoft, Google,
Bitnami and the contributor
community.
Helm Why Helm?
● Open Source
● CNCF supported
● Manage dependencies
● Templated configurations
● Rollbacks
● Easy updates
● Easy to share
● Helm Hub
Helm Install (deploy)
Image from:
This Medium
post
Project Structure
Key concepts
Helm
Key concepts
● The chart is a bundle of information
necessary to create an instance of a
Kubernetes application.
● A release is a running instance of a chart,
combined with a specific config.
● The Helm Client is a command-line client
for end users.
● The Tiller Server is an in-cluster server
that interacts with the Helm client, and
interfaces with the Kubernetes API server.
● Helm Hub is a cloud public repository for
built Charts.
Architecture
Ok, how does
this work?
Helm Architecture
Image from this
Slideshare
Presentation
Helm Workflow
Install:
● brew install kubernetes-helm
● helm init
Create:
● helm create
● helm lint
● helm template
● helm install
● helm ls
● helm upgrade
● helm rollback
● helm delete
Search:
● helm search
● helm fetch
Distribute:
● helm package
● helm repo add
● helm install
Helm CI/CD
Image from this
webpage
Helm Chart Museum
● Open Source
● Helm Chart Repository
server
● Support for cloud storage
● Under Helm umbrella
● Maintained primarily by
Code Fresh
Demo
Kube on!
Helm Demo
What to do next?
Next StepsHelm
Spring Boot in K8s
CI/CD
Integrate Helm and Chart Museum with Jenkins
Security
Add TLS to your Tiller connection
Hooks
Add automated hooks to your cluster
Delivering customized,
cloud-native, end-to-end
technology solutions that
drive business.
An Amdocs Company since 2017,
Kenzan was founded in 2004. We
have offices in Providence (RI), New
York (NY), Denver (CO), Los Angeles
(CA) and Guadalajara, MX.
Digital Transformation Consulting
Technology strategy + business strategy + people strategy
Cloud Migration Strategy
DevOps
Organizational change +
process management
Implementation Roadmap
Thought Leadership
Digital Acceleration Services
Building software with quality, culture + process in mind
Application Development
Design and build full stack,
scalable, and secure cloud native
and hybrid applications
Platform Engineering
Accelerating time to market with
scalable, repeatable infrastructure
and delivery practices
Open Source
Evangelists
DevOps
Leaders
Culture of
Innovation
Transforming businesses that use
technology into technology
organizations that do business.
Digital Consulting + Software
Engineering
Spring Boot in K8s with Helm
Thanks!
Sao Paolo JUG
@chuucksc at Twitter
Carlos E. Salazar at Linkedin

Running Spring Boot in Kubernetes and Intro to Helm

  • 1.
    Transforming businesses thatuse technology into technology organizations that do business. KENZAN Digital Consulting + Software Engineering Spring Boot in K8s with Helm
  • 2.
    About me ChuckSalazar Kenzan Sr. Backend Engineer Software Engineer Carlos E. Salazar Codesolt Spring programming blog Tech Speaker Montreal, San Antonio, Barranquilla Cloud Native Gdl Lead Organizer
  • 3.
  • 4.
    Java & Spring CloudNative Java apps
  • 5.
    Intro Docker &Kubernetes Image from: docker.com
  • 6.
    Java Running incontainers ● Maven/Gradle plugin: Jib ● OOTB JDK images ● JVM remote debugging ● JLink: custom JVM ● GraalVM
  • 7.
    Spring Boot Runningin containers ● Executable jar ● Embedded Tomcat ● All dependencies packaged ● In-app security ● Documentation with Swagger
  • 8.
  • 9.
    K8s Advantages ● OpenSource ● Run anywhere ● Auto scaling ● Self healing ● Service discovery ● Load balancing ● CNCF supported
  • 10.
    K8s Challenges ● Manageand update multiple configurations ● Deploy multiple apps as a “single” definition ● Parametrize for multiple environments ● Manage releases ● Validate deployment state
  • 11.
    Helm What is Helm? ●Helm Charts help you manage even the most complex Kubernetes application. ● Helm is maintained by the CNCF - in collaboration with Microsoft, Google, Bitnami and the contributor community.
  • 12.
    Helm Why Helm? ●Open Source ● CNCF supported ● Manage dependencies ● Templated configurations ● Rollbacks ● Easy updates ● Easy to share ● Helm Hub
  • 13.
    Helm Install (deploy) Imagefrom: This Medium post
  • 14.
  • 15.
    Helm Key concepts ● Thechart is a bundle of information necessary to create an instance of a Kubernetes application. ● A release is a running instance of a chart, combined with a specific config. ● The Helm Client is a command-line client for end users. ● The Tiller Server is an in-cluster server that interacts with the Helm client, and interfaces with the Kubernetes API server. ● Helm Hub is a cloud public repository for built Charts.
  • 16.
  • 17.
    Helm Architecture Image fromthis Slideshare Presentation
  • 18.
    Helm Workflow Install: ● brewinstall kubernetes-helm ● helm init Create: ● helm create ● helm lint ● helm template ● helm install ● helm ls ● helm upgrade ● helm rollback ● helm delete Search: ● helm search ● helm fetch Distribute: ● helm package ● helm repo add ● helm install
  • 19.
  • 20.
    Helm Chart Museum ●Open Source ● Helm Chart Repository server ● Support for cloud storage ● Under Helm umbrella ● Maintained primarily by Code Fresh
  • 21.
  • 22.
  • 23.
    What to donext? Next StepsHelm Spring Boot in K8s CI/CD Integrate Helm and Chart Museum with Jenkins Security Add TLS to your Tiller connection Hooks Add automated hooks to your cluster
  • 24.
    Delivering customized, cloud-native, end-to-end technologysolutions that drive business. An Amdocs Company since 2017, Kenzan was founded in 2004. We have offices in Providence (RI), New York (NY), Denver (CO), Los Angeles (CA) and Guadalajara, MX. Digital Transformation Consulting Technology strategy + business strategy + people strategy Cloud Migration Strategy DevOps Organizational change + process management Implementation Roadmap Thought Leadership Digital Acceleration Services Building software with quality, culture + process in mind Application Development Design and build full stack, scalable, and secure cloud native and hybrid applications Platform Engineering Accelerating time to market with scalable, repeatable infrastructure and delivery practices Open Source Evangelists DevOps Leaders Culture of Innovation
  • 25.
    Transforming businesses thatuse technology into technology organizations that do business. Digital Consulting + Software Engineering Spring Boot in K8s with Helm Thanks! Sao Paolo JUG @chuucksc at Twitter Carlos E. Salazar at Linkedin

Editor's Notes

  • #6 Microservices is an architectural approach to developing an application as a collection of small services. Each services implements business capabilities, runs in its own process and communicates via an HTTP API. Each microservice can be deployed, upgraded, scaled and restarted independent of other services in the application as part of an automated system.
  • #13 Kubernetes (K8s) is an open-source system for automating deployment, scaling, and management of containerized applications.
  • #14 Kubernetes (K8s) is an open-source system for automating deployment, scaling, and management of containerized applications.
  • #21 Kubernetes (K8s) is an open-source system for automating deployment, scaling, and management of containerized applications.
  • #23 Fetching, Helm script language, deployment life cycle, issue tracking.
  • #24 Docker, https://swarmpit.io/