Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Delivering Kubernetes Applications with Helm

Delivering Kubernetes Applications with Helm

Delivered by Matt Butcher, Adnan Abdulhussein, and Michelle Noorali at KubeCon 2016 in Seattle on Nov. 8th, 2016

Michelle Noorali

November 08, 2016
Tweet

More Decks by Michelle Noorali

Other Decks in Technology

Transcript

  1. Charts • Are application definitions • Consist of... ◦ Metadata

    ◦ Kubernetes resource definitions ◦ Documentation • Live in chart repositories
  2. Tiller • in-cluster component • Lives his life inside k8s

    as a pod • helps manage releases in your cluster ◦ Release = installation of a Kubernetes Chart Kubernetes Tiller Helm Client gRPC
  3. myapp ├── Chart.yaml ├── README.md ├── charts ├── templates │

    ├── deployment.yaml │ └── svc.yaml └── values.yaml Templates + Go templating
  4. myapp ├── Chart.yaml ├── README.md ├── charts ├── templates └──

    values.yaml image: mycompany/myapp:1.0.0 imagePullPolicy: IfNotPresent service: port: 80 Configuration apiVersion: extensions/v1beta1 kind: Deployment spec: template: spec: containers: - name: {{ .Chart.Name }} image: "{{ .Values.image }}" imagePullPolicy: {{ .Values.imagePullPolicy }} ports: - containerPort: {{ .Values.service.port }} templates/deployment.yaml values.yaml
  5. myapp ├── Chart.yaml ├── README.md ├── charts ├── templates └──

    values.yaml Configuration $ helm install --set service.port=8080 \ ./myapp $ helm install -f myvalues.yaml ./myapp image: mycompany/myapp:1.0.0 imagePullPolicy: IfNotPresent service: port: 80 values.yaml
  6. myapp ├── Chart.yaml ├── README.md ├── charts │ └── mariadb-0.5.2.tgz

    ├── requirements.yaml ├── templates └── values.yaml dependencies: - name: mariadb version: 0.5.2 repository: http://storage.googleapis.com/kubernetes-charts Dependencies $ helm dependencies update requirements.yaml
  7. myapp ├── Chart.yaml ├── README.md ├── charts ├── templates └──

    values.yaml Chart Metadata name: mariadb version: 0.5.2 description: Chart for MariaDB keywords: - mariadb - mysql - database - sql home: https://mariadb.org sources: - https://github.com/bitnami/bitnami-docker-mariadb maintainers: - name: Bitnami email: [email protected] engine: gotpl
  8. • $ helm repo add mycompany charts.mycompany.com • $ helm

    install mycompany/myapp Chart Repositories
  9. Helm Community • Over 65 contributors • 1 year old

    • Slack channel: Kubernetes/#Helm • Public dev meetings: Thursdays @ 9:30 pacific • Weekly updates & demos at SIG-Apps meetings: Mondays @ 9am pacific Join us!
  10. What’s Next? • Helm 2.0.0 within 7 days • Helm

    2.x ◦ Stability, security ◦ Support for in-cluster testing ◦ Improve the debugging output • Monocular: The Helm Repository UI • Charts: ◦ Continue to grow the stable chart repository ◦ Incubator for testing pre-Beta Kubernetes features ◦ The Best Practices Guide