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

Steuermann an Bord - Kubernetes Hands-On

Steuermann an Bord - Kubernetes Hands-On

Nicolas Byl

March 30, 2017

More Decks by Nicolas Byl

Other Decks in Technology


  1. 2 . 3 Agenda Wann? Was? 09:00 Einführung Docker Kubernetes

    10:15 Kaffeepause 10:45 Lab 1: kubectl 12:45 Mittagessen
  2. 2 . 4 Agenda (2) Wann? Was? 13:30 Helm Lab

    2: Helm Charts 14:30 Kaffeepause 15:00 Deis Workflow Lab 3: Deis Workflow Wrap-Up 16:30 Ende
  3. 3 . 6 3 . 7 Dockerfile FROM java:8 MAINTAINER

    Marcel Birkner <[email protected]> ADD target/edmp-sample-app*.jar app.jar RUN bash -c 'touch /app.jar' ENTRYPOINT ["java","-jar","/app.jar"]}
  4. "Kubernetes is an open-source platform for automating deployment, scaling, and

    operations of application containers across clusters of hosts, providing container- centric infrastructure."
  5. 4 . 2 portable: public, private, hybrid, multi-cloud extensible: modular,

    pluggable, hookable, composable self-healing: auto-placement, auto-restart, auto- replication, auto-scaling
  6. apiVersion: extensions/v1beta1 kind: Deployment metadata: name: frontend spec: replicas: 3

    template: metadata: labels: app: guestbook tier: frontend spec: containers: - name: php-redis image: gcr.io/google-samples/gb-frontend:v4 resources: requests:
  7. 4 . 11 Endpunkt für eine Menge von Pods einen

    externen Endpunkt Auflösung über DNS Umgebungsvariablen
  8. 9 . 2 Paket Manager Installation von komplexen Applikationen Repositories

    mit Kubernetes Artefakten Reproduzierbare Releases inklusive Rollback
  9. 9 . 4 Konzept Installationsbeschreibung durch YAML-Templates Eigene Versionierung der

    Paketierung Bei Installation/Upgrade Ersetzung durch Standard oder vorgegebene Werte History von Deployments
  10. 9 . 5 Beispiel helm init helm search redis [...]

    helm install stable/redis [...] helm install working-tiger stable/redis --set "image.version=3.2.8-r2" helm rollback working-tiger
  11. 12 . 3 Codebase One codebase tracked in revision control,

    many deploys Dependencies Explicitly declare and isolate dependencies Config Store config in the environment Backing Services Treat backing services as attached resources Build, release, run Strictly separate build and run stages Processes Execute the app as one or more stateless processes
  12. 12 . 4 Port binding Export services via port binding

    Concurrency Scale out via the process model Disposability Maximize robustness with fast startup and graceful shutdown Dev/prod parity Keep development, staging, and production as similar as possible Logs Treat logs as event streams Admin processes Run admin/management tasks as one-off processes