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

From Docker Swarm on a Raspi to Oracle OCCS and...

Frank Munz
October 02, 2017

From Docker Swarm on a Raspi to Oracle OCCS and Wercker: Oracle CODE 2017 Presentation in San Francisco and Mexico City

Docker on Raspberry Pi with Swarm or Kubernetes? Oracle Container Cloud Service and Wercker.

Frank Munz

October 02, 2017
Tweet

More Decks by Frank Munz

Other Decks in Technology

Transcript

  1. munz & more Docker Live Hacking From Raspi to OCCS

    & Wercker Java One 2017 Dr. Frank Munz
  2. 2 Dr. Frank Munz • Founded munz & more in

    2007 • 17 years Oracle Middleware, Cloud, and Distributed Computing • Consulting and High-End Training • Wrote two Oracle WLS and one Cloud book
  3. Solves the “Worked For Me!” issue munz & more #4

    OS tools, JDK, patches, database driver, libs, appserver, domain, deployment, tools, scripts Docker OS utils, JDK, patches, database driver, libs, appserver, domain, deployment, tools, scripts Integration, Performance, Acceptance Testing Production dockerize it! You can pass environment variables for specific settings e.g. in prod Docker Registry
  4. Docker in the Cloud? Supported by every major cloud provider:

    munz & more #5 On premise -> all clouds Docker Registry Docker Container Service EC2 Container Service Google Container Engine Azure Container Service Bluemix Containers
  5. vs.

  6. A stranger gives you a box at night and asks

    you to connect it to your company network: Would you do it? what should be your biggest nightmare: unknown and unofficial images 10s of thousands
  7. Official Support #14^ Oracle support does not require you to

    use the provided Docker files Oracle Product Official Support GlassFish MySQL yes NoSQL OpenJDK Oracle Linux yes OracleCoherence yes OracleDatabase yes OracleHTTPServer yes OracleJDK yes OracleTuxedo yes OracleWebLogic yes
  8. Oracle and Docker Get Oracle images: • Docker registry •

    DIY: Dockerfile from Oracle github To run Oracle Docker containers • Build and deploy with Wercker • Oracle Container Cloud Service munz & more #15 https://github.com/oracle/docker-images
  9. Just Drop Server JRE and WLS Installer munz & more

    #16 $ cd java-8 $ docker build -t oracle/jdk:8 . Sending build context to Docker daemon 4.096 kB Step 1 : FROM oraclelinux:latest latest: Pulling from library/oraclelinux 10ec637c060c: Downloading 4.865 MB/97.84 MB ... $ sh buildDockerImage.sh -g -v 12.2.1.1 ... https://github.com/oracle/docker-images
  10. Cluster Manager Options On Premise Cloud Docker Swarm Docker 1.12

    Docker DC (EE) Kubernetes DIY Google / MS Oracle Oracle Registry Oracle Git Oracle CCS munz & more #19
  11. DIY Raspi Docker Cluster munz & more #22 Component Price

    Raspi 4x 38€ Micro SD 4x 11€ Power 28€ Wifi 22€ Case 30€ Wires 10€
  12. Kubernetes (K8s) • Kicked off by Google’s Borg • Most

    active github project • Orchestration for containers, e.g. Docker • Declarative configuration • Service discovery • Rolling upgrades munz & more #23
  13. K8s • YAML configuration • Pod: Container(s) sharing IP, network,

    filesystem – IP is ephemeral – Uses Labels • Replication Controller -> Replica Set – Manages PODs (restarts replicas based on labels) • Services – Proxy for pod – Permanent IP munz & more #24
  14. Docker Swarm • Native Docker cluster with same API as

    a single engine -> part of Docker • Fast provisioning, about 500 msec • Scheduling: spread, binpack, rand • No insecure mode J munz & more #25
  15. Design Goals for Mini • Hands-on Raspi experience • Distributed

    Kubernetes setup & Docker Swarm setup • HA / failover / rolling updates • Have a fun project munz & more #26 Others have build Raspi clusters as well and a lot of credit goes to them, e.g. to Roland Huss, Alex Ellis etc
  16. Design Decisions for Mini • Hypriot Linux • 4 node

    cluster • ARM based -> runs ARM Docker images • Better I/O throughput due to separate WIFI chip • Wifi router in hotspot mode – Mac OS issue with NAT • DIY: github https://github.com/fmunz/raspicluster munz & more #27
  17. Paper bag Computer Raspberry Pi • 1.2 GHz Quad Core

    ARM cortex-a53 • RAM: 1 GB LPDDR2 Speicher • Dual Core VideoCore, 1920x1080 • Bluetooth • 802.11 B/G WIFI • Boots from micro SD card • 38 € munz & more #28
  18. Kubernetes or Swarm? • Swarm wasn’t impressive when released, but

    this has changed • Swarm is much easier to understand and to operate • Swarm covers a lot of what K8s does • Swarm is tightly linked to Docker API -> harder to replace Docker with e.g. Rocket munz & more #29
  19. OCCS • Easy way to run Docker container in Oracle

    cloud • No need to install Docker, Kubernetes, buy machines etc. • Integrates with Docker hub and Oracle Container registry • Does not use Kubernetes or Docker Swarm
  20. Grafana Example • Grafana Docker image • Runs on OCCS

    • Measures Oracle Cloud DNS/ping from worldwide locations • Run it on OCCS without knowing much about Docker or Grafana! munz & more #43
  21. Wercker • Recently acquired by Oracle • Pipelines execute steps

    on code – Pipelines == series of steps – Execute inside Docker container • Workflows == chained and branched pipelines • Quickly provision ready to run infrastructure – Push images to any registry – Restart OCCS via webhooks munz & more #47
  22. Predictions • Swarm will take its share from Kubernetes. •

    OCCS is an easy solution in OPC • You will not dockerize 90% of your enterprise IT in the next 24 months. • Docker is like the new Linux. Be ready to experience that feeling we had with Linux 13 years ago J • Docker is (sometimes) the new PaaS. munz & more #50
  23. TL;DR @docker #cloud Docker is used in production / cross

    cloud / just Docker is not enough / #swarm is the easier #k8s / not a security risk / many products offered as images / OCCS & Wercker saves you from heavy lifting / Oracle caught the trend! / consider cloud services. @frankmunz
  24. 3 Membership Tiers • Oracle ACE Director • Oracle ACE

    • Oracle ACE Associate bit.ly/OracleACEProgram 500+ Technical Experts Helping Peers Globally Connect: Nominate yourself or someone you know: acenomination.oracle.com @oracleace Facebook.com/oracleaces [email protected]