deploy your favorite apps on kubernetes

29

Upload: adnan-abdulhussein

Post on 12-Apr-2017

136 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Deploy your favorite apps on Kubernetes
Page 2: Deploy your favorite apps on Kubernetes

Confidential

Deploy your favorite appson Kubernetes.

Page 3: Deploy your favorite apps on Kubernetes

Agenda• Intro to Bitnami Container Images• Kubernetes and Helm intro• Helm demonstration• Benefits of Bitnami Helm Charts• Q&A

Page 4: Deploy your favorite apps on Kubernetes

SpeakersDavid Dennis

Bitnami VP of MarketingAdnan Abdulhussein

Bitnami Software Engineer

Page 5: Deploy your favorite apps on Kubernetes

BitnamiContainer Images

Application & Infrastructure Images

Development Environments

minideb: Minimal Base OS

Miguel Martinez
What does this mean?
Adnan Abdulhussein
See the notes in the agenda side. I want to spend a small amount of time talking about the available containers and how you can run them in Compose, and then transition to explaining how you go from that to production.
Miguel Martinez
Makes sense.To be proper we might want to call it: "Bitnami has container images"
Page 6: Deploy your favorite apps on Kubernetes
Page 7: Deploy your favorite apps on Kubernetes
Page 8: Deploy your favorite apps on Kubernetes

Production-Grade Container Orchestration Platform

Integrates with GCE, AWS, Azure, OpenStack, etc.

Backed by a large open source community

Kubernetes

Page 9: Deploy your favorite apps on Kubernetes

Container Orchestration Characteristics

Scheduling Monitorin

g Scalability Service

Discovery

Page 10: Deploy your favorite apps on Kubernetes

Cloud-Native Architecture

MariaDB

Database tier

WordPress

Backend tier

Nginx

Frontend tier

Adnan Abdulhussein
These should be redone to be a little less technical, and more application centric
Miguel Martinez
Agreed
Page 11: Deploy your favorite apps on Kubernetes

Cloud-Native Architecture

MariaDB

Serviceresource

Database tier

Secretresource

Deploymentresource

WordPress

Serviceresource

Backend tier

Config Mapresource

Deploymentresource

Nginx

Serviceresource

Frontend tier

Deploymentresource

Page 12: Deploy your favorite apps on Kubernetes

Example: Kubernetes resourceapiVersion: v1kind: Deploymentmetadata: name: wordpressspec: replicas: 1 template: metadata: labels: app: wordpress spec: containers: - name: wordpress image: bitnami/wordpress:4.7-r0 ports: - containerPort: 80 livenessProbe: httpGet: path: / port: http initialDelaySeconds: 120 timeoutSeconds: 5

Page 13: Deploy your favorite apps on Kubernetes

Example: Deploying to Kubernetes

$ kubectl create -f ./mariadb-secret.yamlsecret "mariadb" created$ kubectl create -f ./mariadb-deployment.yamldeployment "mariadb" created$ kubectl create -f ./mariadb-service.yamlservice "mariadb" created

$ kubectl create -f ./wordpress-configmap.yamlconfigmap "wordpress" created$ kubectl create -f ./wordpress-deployment.yamldeployment "wordpress" created$ kubectl create -f ./wordpress-service.yamlservice "wordpress" created

$ kubectl create -f ./nginx-deployment.yamldeployment "nginx" created$ kubectl create -f ./nginx-service.yamlservice "nginx" created

Page 14: Deploy your favorite apps on Kubernetes

Problems with Managing Resources

Boilerplate when developing manifests Upgrades and

configuration changes require manual editing

No history for releases

Difficult to share publicly or with members of your team

Need tooling to hook into release lifecycle

Page 15: Deploy your favorite apps on Kubernetes

Need a tool to manage a group of resources as a single unit

Page 16: Deploy your favorite apps on Kubernetes

Package Manager

for Kubernetes

Page 17: Deploy your favorite apps on Kubernetes

Charts

(packages)

Are application definitions

Consist of...

Metadata

Kubernetes resource definitionsConfiguration File

Documentation

Live in chart repositories

Page 18: Deploy your favorite apps on Kubernetes

Navigating a Chart

MariaDB

Serviceresource

Database tier

Secretresource

Deploymentresource

WordPress

Serviceresource

Backend tier

Secretresource

Deploymentresource

Nginx

Serviceresource

Frontend tier

DeploymentresourceDocumentation

Metadata

Config File

Page 19: Deploy your favorite apps on Kubernetes

Grab Helm on GitHub or Homebrew$ brew cask install helm

Page 20: Deploy your favorite apps on Kubernetes

$ helm init$ helm repo add bitnami http://charts.bitnami.com

Getting Started isSimple

Page 21: Deploy your favorite apps on Kubernetes

https://goo.gl/PyW0wO

Init in Action

Page 22: Deploy your favorite apps on Kubernetes

https://goo.gl/fWw8Lm

Install Charts

Page 23: Deploy your favorite apps on Kubernetes

https://goo.gl/lChu5T

Upgrade a Release

Page 24: Deploy your favorite apps on Kubernetes
Page 25: Deploy your favorite apps on Kubernetes

Why Bitnami Charts?

Optimized images for Kubernetes deployments

Apps kept up-to-date with Bitnami's automated toolchain

A consistent experience, in containers, charts, VMs, etc.

Images kept secure against major vulnerabilities

Page 26: Deploy your favorite apps on Kubernetes

Confidential

Q&A

Page 27: Deploy your favorite apps on Kubernetes

Helm Community• Over 65 contributors

• Helm 2.1.0 released yesterday!

• Slack channel: Kubernetes/#Helm

• Public dev meetings: Thursdays @ 9:30 pacific

• Weekly updates & demos at SIG-Apps meetings:Mondays @ 9am pacific

Join us!

Page 28: Deploy your favorite apps on Kubernetes

bitnami.com/kubernetes

Page 29: Deploy your favorite apps on Kubernetes

Thank You