👁️
pierreinside
  • Introduction
  • Workbench
    • VirtualBox
    • Linux
      • Linux-Paketverwaltung
      • Linux Initialisierung
      • Ubuntu 14.10 LTS
      • Ubuntu 16.04 LTS
      • Ubuntu 18.04 LTS
      • Ubuntu 20.04 LTS
      • Ubuntu - Netzwerk
    • Konsole
      • ssh
      • zsh
      • cygwin
      • Babun
      • terminator
      • Terminal Multiplexer
      • Linux Tools
    • awesome
    • Entwicklungsumgebungen
      • Texteditors
      • Visual Studio Code
      • IntelliJ - IDEA
  • Softwareentwicklungsprozess
    • Schätzungen
    • Eventstorming
    • OKR
  • Architektur
    • Uncle Bob
    • Microservices
    • NoSQL
      • ElasticSearch
    • Hystrix
    • Reactive Programming
    • AngularJS
    • Service Mesh
  • Networking
    • Dependency Injection
  • Programming
    • Java Core/EE
      • Java 8
      • Java Annotationen
      • Bean Validation
      • Enterprise Java Beans Specification
      • Dependency Injection
    • JRebel
    • Webservices
      • HTTP
      • REST
      • Spring MVC REST
      • Swagger
      • Postman
    • Spring Ecosystem
      • Spring Core
      • Spring Boot
        • Programming
        • Production Ready
        • Testing
      • Spring Cloud
      • Spring Cloud Config
      • Spring MVC
      • Spring Data
      • Spring Petclinic
    • NodeJS
    • UI-Technologie
      • Thymeleaf
      • ionic
      • Web Fonts
      • Jinja Templates
      • Twitter Bootstrap
    • Python Ecosystem
      • Python Libraries
      • Python Testing
      • Python Best-Practices
      • Python Snippets
      • Python Selenium
      • Kivy UI
      • FastAPI
      • Typer CLI
      • Django
    • Groovy
    • Persistenz
      • Transactions
        • Java TX
        • JPA TX
      • TX Handling
      • JPA
        • Eclipse Link
      • MySQL
        • MySQL Performance
        • Docker MySQL
      • Hazelcast
    • Glassfish
    • YAML
    • Angular
    • Camel
    • Zeichenkodierung
    • Kinder lernen Programmieren
  • Testen
    • Easymock
    • Mockito
  • Performance & Scalability
    • Java Performance
      • Heapdump Analysis
    • Java Concurrency
    • Instana
  • Sicherheit
    • Authentifizierung
      • OpenID Connect
      • Web-Authentication API
    • Authorisierung
      • OAuth
      • SAML
    • Spring Security
    • Zertifikate
    • Kali Linux
    • VPN
    • Zero-Trust-Networks
  • Build und Deployment
    • Maven
    • Bamboo
    • Jenkins
      • Jenkins Pipelines
      • Jenkins Pipelines Tips und Tricks
      • Jenkins-configuration-as-Code
      • Jenkins IDE
    • Travis CI
    • Shellprogrammierung
      • jq - JSON Parsing
    • Konfiguration Management
    • Vagrant
      • Vagrant-Ansible-Integration
      • Vagrant Box bauen
    • Ansible
      • Getting Started
      • Ansible Details
    • Saltstack
    • LinuxKit
    • Container
      • Docker
        • Docker Getting Started
        • Debugging Docker
        • Docker Build
        • Docker Registry
        • Docker run
          • docker run
          • docker network
        • Docker Compose
        • docker machine
        • Docker@Windows
        • Docker Host
        • Docker Scaling
        • Docker Ressources
        • Docker Logging
        • windowsContainer
      • Cloud Deployment Provider
        • AWS
          • Anwendungsdeployment
          • Workload
          • Permissions
          • Netzwerke
          • AWS CLI
            • aws-vault
          • RDS
          • Static Website Hosting
          • EKS - Elastic Kubernetes Service
          • S3
        • Google Cloud Platform
      • Docker Orchestrierung
        • CoreOS
        • Kubernetes
          • microK8s
          • minikube
          • autoscaler
          • Docker
          • k9s
        • Nomad
    • PHP
  • Operations
    • Proxy
      • NGINX
    • DNS
    • Logging
      • Graylog
      • Fluentd
    • Monitoring
      • Grafana
    • Infrastructure-as-Code
      • Terraform
        • AWS-Provider
        • GitHub-Provider
      • Packer
    • Deployment
      • Vault
      • Consul
        • Consul Template
      • Fabio
  • Rechtliches
    • Software-Lizenzen
  • Git Ecosystem
    • Git
      • Git Lifecycle Hooks
    • GitHub
      • GitHub Organizations
    • GitHub Actions
    • GitHub Pages
    • GitHub CLI
    • GitHub Copilot
    • GitHub-AWS OIDC
    • GitBook
    • GitLab
    • Bitbucket/Stash
  • Publishing
    • WordPress
    • Markdown
    • Static Site Generators
      • Hugo
      • Jekyll
    • Tiddly Wiki
    • Leanpub
    • Animationsfilme
  • Storage
    • Synology 2012
    • Synology 2021
  • Collaboration
    • Übersicht
    • Microsoft Teams
  • Konferenzen
    • Velocity Berlin 2019
  • IT mit Kindern
    • Projekt Sportstracker
    • Scratch
    • Pico Spielekonsole
  • Schule
    • Mathematik
  • Misc
    • Foto/Video
      • Foto/Video Sammlung bis 2023
        • Handbrake
        • Onedrive
      • Foto/Video Sammlung ab 2024
      • Gopro
      • Panasonic FZ1000 ii
        • als Webcam
      • AV Receiver
      • Videos erstellen
        • OBS Studio
        • Touch Portal
        • Game-Streaming
      • Kameratasche
      • Kamera 2020
    • Handy
      • 2016
      • 2018
      • 2019
      • 2021
      • 2022
    • Computer
      • Laptop
        • 2018
        • Chromebook
      • Monitor
        • 4k
      • Software
        • Command Line Interface
        • Google API
        • Plant UML
        • Chromium
        • Passwort-Manager
        • GPG
      • Dell CNF 2665 Farbdrucker
      • Dockingstation
      • Gaming PC 2021
      • Mobiles BĂźro
      • Mobiles Internet
      • Mobiler Router
    • Beamer Benq W1000+
    • Spielekonsole
      • 2017
        • Playstation 4
      • Pico Spielekonsole
    • Gadgets
      • iPad Pro 2015 und 2016
      • iPad Air 2024
      • Macbook Pro
      • Smartwatch
      • Slate
      • Mudi
    • Fahrrad
      • Jonas 2018
      • SQLab
    • Auto
      • Auto 2022
      • Camping
        • Camping Touren Ideen
          • Camping Tour - Gardasee 2021
        • Camper
          • Camper klein - keine StehhĂśhe
            • VW Bus Erfahrungen
          • Camper gross - StehhĂśhe
    • Haus
      • Klimaanlage
      • Swimming Pool
      • Quick Mill Orione 3000
      • SpĂźlmaschine 2021
      • Hebe-SchiebetĂźr
      • Gasgrill
      • Minibar / Mini-KĂźhlschrank
      • Glasfaseranschluss (Fiber-to-the-Home)
      • Smart-Home
        • Raspberry Pi
        • Heimnetzwerk
      • Homeoffice
      • Energie
        • Solar
        • Wärmepumpe
    • Freizeit
      • Musik Streaming
      • Sky
      • Online Lernplattformen
      • eScooter - ePowerFun
    • Fußball
      • Meine Arbeit als Fußball-Trainer
      • Fußball Tools
      • DFB TalentfĂśrderung
    • Google Impact Challenge
  • Englisch
Powered by GitBook
On this page
  • Rancher
  • Getting Started
  • Scheduler
  • Tiefe der Rancher Dockerisierung
  • Alleinstellungsmerkmal: Machine Driver
  • Bewertung
  • Kubernetes
  • DC/OS

Was this helpful?

  1. Build und Deployment
  2. Container

Docker Orchestrierung

Hier geht es um die Orchestrierung von Docker Clustern ...

Cluster werden aufgebaut, um

  • die VerfĂźgbarkeit - bei Ausfall eines Knotens wird ein neuer Knoten gestartet.

  • die Performance - lastabhängig Knoten kritischer Komponenten hinzuzuschalten und dann auch wieder wegzunehmen (um die Anwendung auch wirtscahftlich zu betreiben)

zu erhöhen. Im besten Fall erfolgt das automatisiert durch das Tooling - eine automatisierte Auswertung des Monitorings ist hier eine Grundvoraussetzung. Bei einfachen Anwendungen kann das vielleicht noch manuell geschehen (auch dann wird es schon aufwendig mit Service Discovery und Konfiguration), aber bei wirklich sehr elastischen bzw. komplexeren Umgebungen muß das automatisiert sein ... sonst dreht das Operations-Team am Rad und die Kunden können nicht schnell genug befriedigt werden.

Glücklicherweise gibt es bereits Lösungen für dieses Problem. Das schöne ist, daß nicht nur docker-basierte Komponenten unterstützt werden, sondern auch herkömmliche Deploymentansätze.


Rancher

  • http://rancher.com/

Rancher ist den Docker-Tooling am nächsten. Fßr die Beschreibung der Deployment-Landschaft wird docker-compose.yml in Kombination mit rancher-compose.yml.

Rancher beherrscht auch Windows Container.

Getting Started

Deploy Rancher auf Virtualbox via docker-machine

docker-machine create \
   -d virtualbox
   --virtualbox-boot2docker-url https://release.rancher.com/os/latest/rancheros.iso \
   rancher-demo

Scheduler

Rancher bietet mit Cattle seinen eigenen Scheduler ... allerdings ist der bei weitem nicht so performant wie die Platzhirsche

  • Kubernetes

  • Mesos (Teil von DC/OS)

  • Docker Swarm

Rancher kann diese Scheduler aber integrieren.

Tiefe der Rancher Dockerisierung

Selbst typische Betriebssystem-Features (ntp, syslog, udev, ...) bildet Rancher in Docker-Containern ab. Man unterscheidet

  • system-docker

    • hier laufen Betriebssystem-Container

  • user-docker

    • hier laufen die typischen Docker-Container einer Anwendung

Alleinstellungsmerkmal: Machine Driver

Rancher bietet mit den Maschine Drivers eine integration verschiedener Cloud-Anbieter, so daß sich ein Hybrid-Deployment aus Maschinen in Private-Cloud (derzeit: vSphere, OpenStack, RackSpace) und Public-Cloud (derzeit: Amazon EC2, Azure, DigitalOcean, Packet) realisieren läßt.

Man kann auch custom Maschine Driver integrieren.

Bewertung

Rancher ist ein idealer Einstieg in das Docker-Clustering, da es einerseits nah an Docker-Tooling ist (der Einsteiger findet sich schnell zurecht) und anderseits Komponenten aus weitaus professionelleren LĂśsungen (z. B. Scheduler) integrieren kann.

"Rancher bringt zentrale Vorteile im Hinblick auf Verfßgbarkeit und Skalierbarkeit relevanter Services mit sich und erlaubt kurze Deployment-Zyklen. Fßr den Aufbau einer leistungsfähigen Microservice-Umgebung geht es im ersten Schritt darum, die Bestandsapplikationen in Docker zu ßberfßhren und sich mit dessen Handhabung vertraut zu machen. Rancher bietet sich als Einstieg an, um die Voraussetzungen fßr Microservices und Container zu schaffen." (Michael Vogeler, Jan Wiescher - iX 2/2017)

Rancher unterstßtzt bis Version 1.3 kein Autoscaling. In Version 1.4 sind rudimentäre Scaling-Feature hinzugekommen (Kubernetes ist aber noch meilenweit entfernt).


Kubernetes

siehe eigener Abschnitt


DC/OS

Hierbei handelt es sich um ein Paket aus verschiedenen Einzeltools

  • Apache Mesos

  • Apache Marathon

  • ...

Ich finde die Idee sehr überzeugend und würde es gerne mal ausprobieren. Bei Cloud-Anbietern we AWS, Azure und Google Cloud Engine scheint das auch ziemlich unproblematisch zu sein, weil hier fertige Templates bereitstehen, so daß die Installation per One-Click erfolgt.

Zur On-Premise-Installation schreibt die iX:

"Die Installation im Cluster läuft weitestgehend automatisch, erfordert aber eine akribische Vorbereitung." (Daniel Bößwetter - iX Ausgabe 2/2017)

PreviousGoogle Cloud PlatformNextCoreOS

Last updated 3 years ago

Was this helpful?