Pro Yearly is on sale from $80 to $50! »

DevOps-Meetup XXL zur Wuerzburg Web Week

2745c78242fec52bd69ff276ce5ebe17?s=47 Andri Steiner
March 06, 2018
77

DevOps-Meetup XXL zur Wuerzburg Web Week

CI/CD mit Gitlab und Kubernetes: Von der Idee bis zur Produktion

2745c78242fec52bd69ff276ce5ebe17?s=128

Andri Steiner

March 06, 2018
Tweet

Transcript

  1. DEVOPS-MEETUP DEVOPS-MEETUP CI/CD MIT GITLAB UND KUBERNETES: CI/CD MIT GITLAB

    UND KUBERNETES: VON DER IDEE BIS ZUR PRODUKTION VON DER IDEE BIS ZUR PRODUKTION
  2. HALLO HALLO Andri Steiner CEO @ snowflake Ops AG Whitelabel

    Hosting / Opensource SaaS Lösungen Betrieb von ~1500 Applikationen für ~30 Kunden Automatisierungsfanatiker Scripts / Puppet / Netzwerk / Kubernetes TYPO3 CMS Server Team Betrieb Infrastruktur TYPO3.org
  3. AGENDA AGENDA Gitlab? Kubernetes? Gitlab + Kubernetes!

  4. GITLAB GITLAB Open Source Projekt 2011: Von einer Person gestartet,

    Git Server 2018: Firma mit 250 Mitarbeitern "single application for the whole so ware development and operations lifecycle" Remote Only Organisation, sehr hohe Transparenz
  5. GITLAB: FUNKTIONEN GITLAB: FUNKTIONEN Planung Versionierung Test Paketierung Release Überwachung

  6. GITLAB: PLANUNG GITLAB: PLANUNG Aufgaben, Boards, Meilensteine Chat (Mattermost, Slack)

    integration
  7. GITLAB: VERSIONIERUNG GITLAB: VERSIONIERUNG Git Server, Merge Requests, usw.

  8. GITLAB: TEST GITLAB: TEST CI Integration SAST, DAST

  9. GITLAB: PAKETIERUNG GITLAB: PAKETIERUNG Docker Container Registry

  10. GITLAB: RELEASE GITLAB: RELEASE Kubernets Anbindung herkömmliche Ziele, z.B. Webserver

    per SSH/FTP
  11. GITLAB: ÜBERWACHUNG GITLAB: ÜBERWACHUNG Prometheus für Gitlab und ausgerollte Container,

    Browser Performance
  12. GITLAB: ALTERNATIVEN GITLAB: ALTERNATIVEN GitHub / GitHub Enterprise Atlassian Stack

    JIRA, Bitbucket, Bamboo, usw.
  13. KUBERNETES KUBERNETES Container Orchestrierung von Google Deployment / Skalierung /

    Netzwerk / Storage
  14. KUBERNETES: BETRIEB KUBERNETES: BETRIEB Hosted: GKE, Amazon EKS, Azure, usw.

    On Premise: Puppet / Nutanix Calm Lokal: Minikube / Minishi
  15. KUBERNETES: DESIGN KUBERNETES: DESIGN Plattform um Plattformen zu betreiben Verwaltung

    für den Betrieb von Docker Containern nicht als direkte Schnittstelle zum Benutzer konzipiert Aufsätze: OpenShi , Rancher, Gitlab, usw.
  16. GITLAB + KUBERNETES GITLAB + KUBERNETES simple aber effektive Anbindung

    CI Jobs erstellen/löschen Kubernetes Container visuelle Integration (Environment Links, Monitoring)
  17. GITLAB + KUBERNETES: GITLAB + KUBERNETES: FUNKTIONEN FUNKTIONEN eigene Umgebung

    pro Feature Branch Canary Deployments Ablauf Applikationsimage(s) erstellen, Tests gegen generierte Container, Publikation, im Cluster ausrollen
  18. DEMOPROJEKT DEMOPROJEKT simple Webseite, keine Tests $ ls Dockerfile .gitlab-ci.yml

    index.html $ cat Dockerfile FROM nginx:alpine COPY index.html /usr/share/nginx/html reales Beispiel Node Frontend, TYPO3 (PHP) Backend, Node Backend, Elasticsearch, MariaDB beliebige Komplexität mit beliebigen Technologien
  19. DEMOAUFBAU DEMOAUFBAU Docker Kubernetes (Minikube) Gitlab

  20. DEMO DEMO (naja, Screenshots...)

  21. IDEE (CHAT) IDEE (CHAT) Chat Benachrichtigungen / Kommandos

  22. PLANUNG: ISSUES PLANUNG: ISSUES

  23. PLANUNG: BOARD PLANUNG: BOARD Milestones, Labels EE: Story Points, Burndown

    Charts
  24. CREATE: COMMIT & MERGE REQUEST CREATE: COMMIT & MERGE REQUEST

    neuer Feature Branch neues Environment für diesen Branch erstellt
  25. FEATURE BRANCH ENVIRONMENT FEATURE BRANCH ENVIRONMENT http://neos-website-review-1-replacei-tu433m.neosmeetup01.opsserver.ch/

  26. ENTWICKLUNG ENTWICKLUNG konventional lokal lokal mit Containern aus Gitlab Registry

    Feature Branch Environment Kubernetes
  27. SHELL SHELL Zugang in beliebige Umgebungen direkt aus Gitlab Entwicklung

    (?) Debugging (✓)
  28. REVIEW REVIEW Änderungen überprüfen Git diff, Code Review, Diskussionen automatische

    Tests manuelle Tests auf Feature Branch Umgebung
  29. MERGE REQUEST MERGE REQUEST

  30. DEPLOYMENT PRODUKTION DEPLOYMENT PRODUKTION der einfachheit halber direkt auf Produktion

    normalerweise Staging Umgebung dazwischen oder manuelles Deployment oder Deployment über / Kommandos aus Chat
  31. PRODUKTION PRODUKTION http://neos-website.neosmeetup01.opsserver.ch/

  32. AKTUELLER STAND AKTUELLER STAND produktive Container seit Januar 2016 Webprojekte:

    Container Pipeline bis und mit review, produktion (noch) herkömmlich Externe Webprojekte: Container Pipeline bei uns, Rollout fertiger Container zum Kunden
  33. ERFAHRUNGEN SAMMELN ERFAHRUNGEN SAMMELN sinnvolle Projektgrössen laufende Updates Sicherheit

  34. VORSCHAU VORSCHAU Ops Server v6 als Container laufende Umstellung bei

    grossen Projekten Migration der kompletten TYPO3 Server Infrastruktur geplant Sinn bei 0815 Webprojekten?
  35. FAZIT FAZIT super flexibel Gitlab bietet die perfekte Kubernetes Integration

    für etwicklungslastige Projekte Vorteile/Coolness vs. Komplexität/Kosten im Auge behalten
  36. VIELEN DANK VIELEN DANK https://twitter.com/andristeiner https://speakerdeck.com/andristeiner