Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Effective Spring + Kubernetes - Adib Saikali

750 Aufrufe

Veröffentlicht am

Effective Spring + Kubernetes with Adib Saikali at SpringOne Tour 2019

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Effective Spring + Kubernetes - Adib Saikali

  1. 1. ● ● ● ● ● ● ● ● https://wiki.musl-libc.org/functional-differences-from-glib c.html
  2. 2. https://openjdk.java.net/jeps/8229469
  3. 3. ● glibc ● glibc muslc muslc
  4. 4. https://www.infoq.com/news/2019/06/docker-vulnerable-java/
  5. 5. ● https://hub.docker.com/_/adoptopenjdk ● ● ● ● https://blog.adoptopenjdk.net/category/test
  6. 6. ● ● ● ●
  7. 7. ● ●
  8. 8. ● https://hub.docker.com/_/adoptopenjdk ○ ○ ○ ●
  9. 9. Software & Support for OpenJDK, Spring, and Tomcat
  10. 10. ● The app .jar file is ~76MB which is mostly third party .jar files that don’t change between rebuilds of the application. ● Every time the image is re-built due to an app code change the whole .jar layer needs to be rebuilt
  11. 11. The application 3rd dependency .jar files are in their own layer so on a rebuild only the smaller application layers need to be pushed or pulled
  12. 12. ● ● ●
  13. 13. ● ● ○ ○ ●
  14. 14. ● ● ● apiVersion: v1 kind: Pod metadata: name: myapp spec: containers: - name: myapp image: myapp:128 env: resources: requests: memory: "1024Mi" cpu: "1000m" limits: memory: "2048Mi" cpu: "2000m"
  15. 15. ● ○ ○ ● ● ● ○ ○ ○ apiVersion: v1 kind: Pod metadata: name: myapp spec: containers: - name: myapp image: myapp:128 env: resources: requests: memory: "1024Mi" cpu: "1000m" limits: memory: "2048Mi" cpu: "2000m"
  16. 16. ● ○ ○ ○ ● ● ● apiVersion: v1 kind: Pod metadata: name: myapp spec: containers: - name: myapp image: myapp:128 env: resources: requests: memory: "1024Mi" cpu: "1000m" limits: memory: "2048Mi" cpu: "2000m"
  17. 17. ● Runtime.getRuntime().availableProcessor() ● ● ● ●
  18. 18. ● ● ● ● -XX:ActiveProcessorCount
  19. 19. ● ● ● ● ○ ○ ○ apiVersion: v1 kind: Pod metadata: name: myapp spec: containers: - name: myapp image: myapp:128 env: resources: requests: memory: "1024Mi" cpu: "1000m" limits: memory: "2048Mi" cpu: "2000m"
  20. 20. ● ○ ○ ○ ● ● ● apiVersion: v1 kind: Pod metadata: name: myapp spec: containers: - name: myapp image: myapp:128 env: resources: requests: memory: "1024Mi" cpu: "1000m" limits: memory: "2048Mi" cpu: "2000m"
  21. 21. ● ● ○ ○ ○ ○ ● ○ -XX:MaxRAMPercentage=75.0 ○
  22. 22. ● ● ● ● -XX:ActiveProcessorCount ● ● -XX:MaxRAMPercentage
  23. 23. ● ● ● ● ●
  24. 24. © 2019 PIVOTAL SOFTWARE, INC. All Rights Reserved. Confidential & Provided Under NDA —Do Not Distribute. Forwarding this document outside your organization is prohibited.
  25. 25. ● ● ● ● ● ●
  26. 26. ● ● ● ● ● ● ● ●
  27. 27. cflinuxfs3 releases 0.92.0 released - 22 hours ago 0.91.0 released - 22 hours ago 0.90.0 released - 22 hours ago 0.89.0 released - 6 days ago 0.88.0 released - 9 days ago 0.87.0 released - 9 days ago openjdk CNB releases v1.0.0-M7 released - Apr 10 v1.0.0-M6 released - Apr 1 v1.0.0-M5 released - Jan 31 v1.0.0-M4 released - Jan 16 v1.0.0-M3 released - Dec 10 v1.0.0-M2 released - Nov 29 source: git: https://github.com/myapp revision: dev Build # 1 Build # 2 Build # 3 Latest Build
  28. 28.
  29. 29. https://content.pivotal.io/blog/cloud-native-buildpacks-for-kubernetes-and-beyond
  30. 30. https://www.youtube.com/watch?v=8IC_WSe7YFo https://pivotal.io/pivotal-build-service
  31. 31. https://www.youtube.com/watch?v=J2SXkmOo8iQ
  32. 32. https://spring.io/projects/spring-cloud-kubernetes
  33. 33. ● ● ● ● ●

×