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

Microservices entfesseln mit Kubernetes und Deis Workflow

Nicolas Byl
November 16, 2016

Microservices entfesseln mit Kubernetes und Deis Workflow

Nicolas Byl

November 16, 2016
Tweet

More Decks by Nicolas Byl

Other Decks in Technology

Transcript

  1. 3 . 2 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
  2. 3 . 3 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
  3. 4 . 1 Kubernetes "Kubernetes is an open-source platform for

    automating deployment, scaling, and operations of application containers across clusters of hosts, providing container- centric infrastructure."
  4. portable: public, private, hybrid, multi-cloud extensible: modular, pluggable, hookable, composable

    self-healing: auto-placement, auto-restart, auto- replication, auto-scaling
  5. 5 . 6 Application Access Application is reachable at <application>.

    <cluster-base>, e.g. logmon.apps.codecentric.de Deis Controller Interface is available at deis. <cluster-base>
  6. 5 . 8 Updating Applications Deploy application New Pods will

    be rolled out using Kubernetes Rolling- Upgrade Feature
  7. 6 . 2 Buildpack Deployment Code per git push übertragen

    Deis erstellt Archiv und rollt dieses aus
  8. 6 . 3 Buildpacks Ruby Nodejs Java Gradle Grails Play

    Python PHP Clojure Scala Go Multi
  9. 6 . 5 Dockerfile Deployment Dockerfile erstellen Code per git

    push übertragen Image wird erstellt und ausgerollt
  10. 6 . 7 Docker Image Deployment Docker Image erstellen Starten:

    deis pull nbyl-docker- docker.bintray.io/12factor-demo:latest Continous Delivery
  11. 7 . 3 12 Factor Applications mit Deis Workflow Normale

    Applikationen mit deployen Zugriff per DNS: helm <service­name>.<namespace­name>.svc.cluster.local
  12. 8 . 3 Spielwiese erstellen minikube start helmc repo add

    deis https://github.com/deis/charts helmc fetch deis/workflow­v2.8.0 helmc generate ­x manifests workflow­v2.8.0 helmc install workflow­v2.8.0 # some cofffee deis register http://deis.$(minikube ip).nip.io