O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Achieving CI/CD with Kubernetes
Ramit Surana @ramitsurana /in/ramitsurana
Agenda
• History of Kubernetes
• The evolution
• How google uses it ?
• About Jenkins
• How to configure it ?
• Fabric8
• ...
About Me
• Open Source Guy
• Contributor to Kubernetes
community
• Author of awesome-kubernetes
• ramitsurana@gmail.com
History of kubernetes
• Earlier known as Borg
• Borg -> Omega -> Kubernetes
• Google used MPM (Midas
Package Manager) to b...
How Google does it?
Evolution of Kubernetes
• Benefits of containerization go
beyond merely enabling
higher levels of utilization.
• Need for ...
About Jenkins
• Earlier known as Hudson.
• Primarily a java-based program
• Leading open source CI server
• Used by leadin...
Workflow with Docker
How to configure it ?
• Find the k8s-jenkins plugin at
https://github.com/jenkinsci/k
ubernetes-plugin
• Works using JNLP(...
How to configure it ?
• Running the Jenkins image
docker run –rm –name jenkins – p 8080:8080 – p 50000:50000 –v
/var/jenki...
How to configure it ?
• Problem
• It works only one time
• Because of stateless containers the data gets erased after a re...
How to configure it ?
• Checkout http://localhost:8080 in your browser
Behind the scenes
• Jenkins image is automatically connected to the Jenkins master
• Slaves are launched using JNLP
• Some...
How to configure it?
• Go to Manage Jenkins -> Configure System -> Cloud -> Kubernetes
How to configure it?
• Sample Configuration file
How to configure it?
• Sample Configuration file for slave pod template
How to configure it with adding new jobs ?
• Sample configuration
while adding a new job
Continuous Delivery with Kubernetes
Rkt by CoreOS
• Container project by CoreOS
• Supports ACI and pods by
default
• Main focus is to build containers
keeping...
Workflow with rkt a.k.a. rktnetes
Practical example with Kubernetes
Fabric8
• Microservices platform by
RedHat Guys
• Uses openshift, Jenkins and
kubernetes
• Contains several different apps...
Fabric8 workflow
Features
• CI/CD part of fabric8:
• Jenkins
• Gogs
• Fabric8 registry
• Nexus
• SonarQube
How to do it ?
• Install gofabric8 on your local $PATH
• Ensure that you have a running kubernetes cluster
How to do it ?
• Run $ gofabric8 deploy –y
How to do it ?
• Run $ gofabric8 secrets –y
How to do it ?
• $ Kubectl get pods
This will take a while.So try going out for a Coffee :)
• In case anything fails try u...
How to do it ?
• If everything works out fine, then you should see
• Try using Kubernetes dashboard for the same and fabri...
How to do it ?
• Kubernetes Dashboard • Fabric8 console
Behind deploying Fabric8
The Final Picture
Other Tools
• TeamCity
• Codeship
• Travis CI
• Circle CI
• Drone.io
• Semaphore
and many more
Awesome-Kubernetes
• Official list for the Kubernetes
Community
• Awesome collection of resources
of kubernetes.
• Find ar...
Future of Kubernetes
• Helm
• Kubernetes Chart
• Minikube
• Kops
• Kubedash
• Persistent Storage
• Use of Stateful Contain...
Got any Questions ?
Thank You
Happy Birthday
Kubernetes !
May you live a thousand
years old !
Próximos SlideShares
Carregando em…5
×

Achieving CI/CD with Kubernetes

43.374 visualizações

Publicada em

How to use Jenkins and Fabric8 to achieve CI/CD with Kubernetes

Publicada em: Software
  • Hello! I can recommend a site that has helped me. It's called ⇒ www.HelpWriting.net ⇐ They helped me for writing my quality research paper.
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • This "special ingredient" makes your relationship his favorite hobby =>> https://t.cn/A6yxijqE
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • Now there's no need for painful and expensive surgery, you can just find out the natural enlargement method on the web page here... ☀☀☀ https://dwz1.cc/YYZPZbuh
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • Dating for everyone is here: ♥♥♥ http://bit.ly/2ZDZFYj ♥♥♥
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • Dating direct: ❶❶❶ http://bit.ly/2ZDZFYj ❶❶❶
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui

Achieving CI/CD with Kubernetes

  1. 1. Achieving CI/CD with Kubernetes Ramit Surana @ramitsurana /in/ramitsurana
  2. 2. Agenda • History of Kubernetes • The evolution • How google uses it ? • About Jenkins • How to configure it ? • Fabric8 • How to configure it ? • The Final Picture • Other Tools • Awesome Kubernetes • Future of Kubernetes
  3. 3. About Me • Open Source Guy • Contributor to Kubernetes community • Author of awesome-kubernetes • ramitsurana@gmail.com
  4. 4. History of kubernetes • Earlier known as Borg • Borg -> Omega -> Kubernetes • Google used MPM (Midas Package Manager) to build and deploy container images.
  5. 5. How Google does it?
  6. 6. Evolution of Kubernetes • Benefits of containerization go beyond merely enabling higher levels of utilization. • Need for an orchestration engine with capablities. • Need of a stable model,to use docker at large scale that could run on several cloud platforms.
  7. 7. About Jenkins • Earlier known as Hudson. • Primarily a java-based program • Leading open source CI server • Used by leading companies such as Github,Netflix,Linkedin etc.
  8. 8. Workflow with Docker
  9. 9. How to configure it ? • Find the k8s-jenkins plugin at https://github.com/jenkinsci/k ubernetes-plugin • Works using JNLP(Java Network Launch Protocol)
  10. 10. How to configure it ? • Running the Jenkins image docker run –rm –name jenkins – p 8080:8080 – p 50000:50000 –v /var/jenkins_home csanchez/jenkins-kubernetes
  11. 11. How to configure it ? • Problem • It works only one time • Because of stateless containers the data gets erased after a restart. • A better solution is to use a container to store and use data to run the jenkins container • Better Solution docker create --name jenkins-k8s csanchez/jenkins-kubernetes docker run --volumes-from jenkins-k8s -p 8080:8080 -p 50000:50000 -v /var/jenkins_home csanchez/jenkins-kubernetes
  12. 12. How to configure it ? • Checkout http://localhost:8080 in your browser
  13. 13. Behind the scenes • Jenkins image is automatically connected to the Jenkins master • Slaves are launched using JNLP • Some of the environment variables that are automatically injected: • JENKINS_URL: Jenkins web interface url • JENKINS_JNLP_URL: url for the jnlp definition of the specific slave • JENKINS_SECRET: the secret key for authentication
  14. 14. How to configure it? • Go to Manage Jenkins -> Configure System -> Cloud -> Kubernetes
  15. 15. How to configure it? • Sample Configuration file
  16. 16. How to configure it? • Sample Configuration file for slave pod template
  17. 17. How to configure it with adding new jobs ? • Sample configuration while adding a new job
  18. 18. Continuous Delivery with Kubernetes
  19. 19. Rkt by CoreOS • Container project by CoreOS • Supports ACI and pods by default • Main focus is to build containers keeping in mind the security aspect for containers.
  20. 20. Workflow with rkt a.k.a. rktnetes
  21. 21. Practical example with Kubernetes
  22. 22. Fabric8 • Microservices platform by RedHat Guys • Uses openshift, Jenkins and kubernetes • Contains several different apps for integrations.
  23. 23. Fabric8 workflow
  24. 24. Features • CI/CD part of fabric8: • Jenkins • Gogs • Fabric8 registry • Nexus • SonarQube
  25. 25. How to do it ? • Install gofabric8 on your local $PATH • Ensure that you have a running kubernetes cluster
  26. 26. How to do it ? • Run $ gofabric8 deploy –y
  27. 27. How to do it ? • Run $ gofabric8 secrets –y
  28. 28. How to do it ? • $ Kubectl get pods This will take a while.So try going out for a Coffee :) • In case anything fails try using $ kubectl describe pods.
  29. 29. How to do it ? • If everything works out fine, then you should see • Try using Kubernetes dashboard for the same and fabric8 console to see your results.
  30. 30. How to do it ? • Kubernetes Dashboard • Fabric8 console
  31. 31. Behind deploying Fabric8
  32. 32. The Final Picture
  33. 33. Other Tools • TeamCity • Codeship • Travis CI • Circle CI • Drone.io • Semaphore and many more
  34. 34. Awesome-Kubernetes • Official list for the Kubernetes Community • Awesome collection of resources of kubernetes. • Find articles, blogs, videos, conferences and much more. • Find out more at: http://github.com/ramitsurana/awe some-kubernetes
  35. 35. Future of Kubernetes • Helm • Kubernetes Chart • Minikube • Kops • Kubedash • Persistent Storage • Use of Stateful Containers And many more...
  36. 36. Got any Questions ?
  37. 37. Thank You Happy Birthday Kubernetes ! May you live a thousand years old !

×