Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introduction of Cloud Native CI/CD on Kubernetes
Search
Kyohei Mizumoto
August 30, 2019
Technology
0
53
Introduction of Cloud Native CI/CD on Kubernetes
Slides for in-house study meeting.
Kyohei Mizumoto
August 30, 2019
Tweet
Share
More Decks by Kyohei Mizumoto
See All by Kyohei Mizumoto
サイバーセキュリティの最新動向:脅威と対策
kyohmizu
1
190
コンテナセキュリティの基本と脅威への対策
kyohmizu
4
1.4k
安全な Kubernetes 環境を目指して
kyohmizu
4
1.1k
Unlocking Cloud Native Security
kyohmizu
5
1.2k
コンテナ × セキュリティ × AWS
kyohmizu
10
3.8k
コンテナセキュリティ
kyohmizu
10
4.1k
コンテナイメージのマルウェア検出とその実用性について
kyohmizu
4
3.2k
Play with 🐐 in Kubernetes
kyohmizu
1
1.3k
Security Command Center × PagerDuty 自動アラート通知の取り組み
kyohmizu
0
610
Other Decks in Technology
See All in Technology
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
330
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
muziyoshiz
3
2.4k
大幅アップデートされたRagas v0.2をキャッチアップ
os1ma
2
540
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.3k
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
280
プロダクト開発を加速させるためのQA文化の築き方 / How to build QA culture to accelerate product development
mii3king
1
270
私なりのAIのご紹介 [2024年版]
qt_luigi
1
120
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
shin1x1
1
560
宇宙ベンチャーにおける最近の情シス取り組みについて
axelmizu
0
110
【re:Invent 2024 アプデ】 Prompt Routing の紹介
champ
0
150
re:Invent 2024 Innovation Talks(NET201)で語られた大切なこと
shotashiratori
0
320
開発生産性向上! 育成を「改善」と捉えるエンジニア育成戦略
shoota
2
400
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
Building Adaptive Systems
keathley
38
2.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
The Language of Interfaces
destraynor
154
24k
GitHub's CSS Performance
jonrohan
1030
460k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Large-scale JavaScript Application Architecture
addyosmani
510
110k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
A better future with KSS
kneath
238
17k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Transcript
Introduction of Cloud Native CI/CD on Kubernetes
Trail Map https://github.com/cncf/trailmap
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
Landscape https://github.com/cncf/landscape
Landscape
CI/CD on Kubernetes
Pipeline-based CI tool Configuration as Code Fancy Visualization Management using
CLI tool Concourse CI https://concourse-ci.org/
Get Started https://github.com/helm/charts/tree/master/stable/concourse TL;DR; $ helm install stable/concourse Need to
set externalUrl to access from outside Install the fly CLI tool for concourse management $ fly -h
Pipeline https://github.com/starkandwayne/concourse-tutorial/blob/master/tutorials/basic/job- inputs/pipeline.yml resources: - name: resource-tutorial type: git source:
uri: https://github.com/starkandwayne/concourse-tutorial.git branch: develop - name: resource-app type: git source: uri: https://github.com/cloudfoundry-community/simple-go-web-app.git 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
Pipeline
Declarative, GitOps CD tool Automated deployment of desired application states
Support for config management tools (Kustomize, Helm etc) Argo CD https://argoproj.github.io/argo-cd/
Get Started Quick start $ kubectl create namespace argocd $
kubectl apply -n argocd -f \ https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml Access the endpoint by browser & Login Get admin password $ kubectl get pods -n argocd -l app.kubernetes.io/name=argocd-server \ -o name | cut -d'/' -f 2
Application
Application Manifest apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: concourse namespace:
argocd spec: project: default source: repoURL: https://github.com/helm/charts.git 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
CI/CD Architecture In my self-study project:
Demo
Thank you!