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
54
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
130
サイバーセキュリティの最新動向:脅威と対策
kyohmizu
1
230
コンテナセキュリティの基本と脅威への対策
kyohmizu
4
1.5k
安全な Kubernetes 環境を目指して
kyohmizu
4
1.1k
Unlocking Cloud Native Security
kyohmizu
5
1.3k
コンテナ × セキュリティ × AWS
kyohmizu
11
3.8k
コンテナセキュリティ
kyohmizu
10
4.2k
コンテナイメージのマルウェア検出とその実用性について
kyohmizu
4
3.4k
Play with 🐐 in Kubernetes
kyohmizu
1
1.3k
Other Decks in Technology
See All in Technology
開発組織を進化させる!AWSで実践するチームトポロジー
iwamot
0
110
脳波を用いた嗜好マッチングシステム
hokkey621
0
280
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
150
エンジニアが加速させるプロダクトディスカバリー 〜最速で価値ある機能を見つける方法〜 / product discovery accelerated by engineers
rince
4
550
プロダクトエンジニア構想を立ち上げ、プロダクト志向な組織への成長を続けている話 / grow into a product-oriented organization
hiro_torii
1
340
コンピュータビジョンの社会実装について考えていたらゲームを作っていた話
takmin
1
580
RemoveだらけのPHPUnit 12に備えよう
cocoeyes02
0
180
Active Directory攻防
cryptopeg
PRO
8
5.2k
次世代KYC活動報告 / 20250219-BizDay17-KYC-nextgen
oidfj
0
460
偏光画像処理ライブラリを作った話
elerac
1
160
Pwned Labsのすゝめ
ken5scal
0
290
2025-02-21 ゆるSRE勉強会 Enhancing SRE Using AI
yoshiiryo1
1
470
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
336
57k
BBQ
matthewcrist
87
9.5k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Mobile First: as difficult as doing things right
swwweet
223
9.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Visualization
eitanlees
146
15k
A better future with KSS
kneath
238
17k
Building Your Own Lightsaber
phodgson
104
6.2k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.8k
Writing Fast Ruby
sferik
628
61k
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!