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

Helm, The Package Manager for Kubernetes

Avatar for Maciej Strzelecki Maciej Strzelecki
November 23, 2016
80

Helm, The Package Manager for Kubernetes

Avatar for Maciej Strzelecki

Maciej Strzelecki

November 23, 2016
Tweet

Transcript

  1. , kubectl apply -f - kubectl create -f, kubectl set

    deployment image kubectl create -f, kubectl patch grep, awk, sed, kubectl apply -f - ktmpl jenkins-kubernetes-plugin Ansible's kubernetes
  2. INSTALLING HELM brew cask install helm $ curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get |

    bas $ wget http://storage.googleapis.com/kubernetes-helm/helm-v2.0.0-linux-amd64.tar. $ tar -zxvf helm-v2.0.0-linux-amd64.tgz $ mv linux-amd64/helm /usr/local/bin/helm
  3. INSTALLING TILLER $ helm init Creating /Users/mstrzele/.helm Creating /Users/mstrzele/.helm/repository Creating

    /Users/mstrzele/.helm/repository/cache Creating /Users/mstrzele/.helm/repository/local Creating /Users/mstrzele/.helm/repository/repositories.yaml Creating /Users/mstrzele/.helm/repository/local/index.yaml $HELM_HOME has been configured at $HOME/.helm. Tiller (the helm server side component) has been installed into your Kubernetes C Happy Helming! $ kubectl get pod --namespace kube-system NAME READY STATUS RESTARTS AGE kube-addon-manager-minikube 1/1 Running 0 9m kube-dns-v20-7vkd5 3/3 Running 0 8m kubernetes-dashboard-guhij 1/1 Running 0 8m tiller-deploy-2241983194-mbv1w 1/1 Running 0 8m
  4. $ find . . ./.helmignore ./Chart.yaml ./charts ./charts/mysql-0.2.1.tgz ./requirements.lock ./requirements.yaml

    ./templates ./templates/_helpers.tpl ./templates/deployment.yaml ./templates/ingress.yaml ./templates/NOTES.txt ./templates/post-install-job.yaml ./templates/secret.yaml ./templates/service.yaml ./values.yaml
  5. ./Chart.yaml name: symfony-demo version: 0.1.0 description: Symfony Demo Application keywords:

    - symfony - demo home: http://symfony.com/blog/introducing-the-symfony-demo-application sources: - https://github.com/symfony/symfony-demo maintainers: - name: Maciej Strzelecki email: [email protected] engine: gotpl icon: http://symfony.com/apple-touch-icon.png
  6. ./templates/service.yaml apiVersion: v1 kind: Service metadata: name: {{ template "fullname"

    . }} labels: chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" spec: type: {{ .Values.service.type }} ports: - port: {{ .Values.service.externalPort }} targetPort: {{ .Values.service.internalPort }} protocol: TCP name: {{ .Values.service.name }} selector: app: {{ template "fullname" . }} Sprig: Template functions for Go templates
  7. ./values.yaml # Default values for symfony-demo. # This is a

    YAML-formatted file. # Declare variables to be passed into your templates. replicaCount: 1 image: repository: mstrzele/symfony-demo tag: latest pullPolicy: Always service: name: symfony-demo type: NodePort externalPort: 80 internalPort: 8000 resources: limits: cpu: 100m memory: 128Mi requests:
  8. ./index.yaml apiVersion: v1 entries: symfony-demo: - created: 2016-11-21T18:34:54.434552683+01:00 description: Symfony

    Demo Application digest: a4a57aa9ef792fb00ff584f0b911b6e26fd45f60da74fec41df11392563407de engine: gotpl home: http://symfony.com/blog/introducing-the-symfony-demo-application icon: http://symfony.com/apple-touch-icon.png keywords: - symfony - demo maintainers: - email: [email protected] name: Maciej Strzelecki name: symfony-demo sources: - https://github.com/symfony/symfony-demo