Introduction of Cloud Native CI/CD on Kubernetes

0f5f81b602e9ad7f24e7ebe9b994d04c?s=47 kyo
August 30, 2019

Introduction of Cloud Native CI/CD on Kubernetes

Slides for in-house study meeting.



August 30, 2019


  1. Introduction of Cloud Native CI/CD on Kubernetes

  2. Trail Map

  3. CI/CD From the trail map: Setup Continuous Integration/Continuous Delivery (CI/CD)

    so that changes to your source code automatically result in a new container being built, tested, and deployed to staging and eventually, perhaps, to production
  4. Landscape

  5. Landscape

  6. CI/CD on Kubernetes

  7. Pipeline-based CI tool Configuration as Code Fancy Visualization Management using

    CLI tool Concourse CI
  8. Get Started TL;DR; $ helm install stable/concourse Need to

    set externalUrl to access from outside Install the fly CLI tool for concourse management $ fly -h
  9. Pipeline inputs/pipeline.yml resources: - name: resource-tutorial type: git source:

    uri: branch: develop - name: resource-app type: git source: uri: jobs: - name: job-test-app public: true plan: - get: resource-tutorial - get: resource-app trigger: true - task: web-app-tests file: resource-tutorial/tutorials/basic/job-inputs/task_run_tests.yml
  10. Pipeline

  11. Declarative, GitOps CD tool Automated deployment of desired application states

    Support for config management tools (Kustomize, Helm etc) Argo CD
  12. Get Started Quick start $ kubectl create namespace argocd $

    kubectl apply -n argocd -f \ Access the endpoint by browser & Login Get admin password $ kubectl get pods -n argocd -l \ -o name | cut -d'/' -f 2
  13. Application

  14. Application Manifest apiVersion: kind: Application metadata: name: concourse namespace:

    argocd spec: project: default source: repoURL: targetRevision: a7816917c50bc31471793f54036a7eaf0eeeb701 path: stable/concourse helm: parameters: - name: "web.service.type" value: "LoadBalancer" - name: "concourse.web.bindPort" value: "80" - name: "concourse.web.externalUrl" value: ${URL} releaseName: concourse destination: server: https://kubernetes.default.svc namespace: default
  15. CI/CD Architecture In my self-study project:

  16. Demo

  17. Thank you!