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
46
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
3
770
安全な Kubernetes 環境を目指して
kyohmizu
4
680
Unlocking Cloud Native Security
kyohmizu
5
900
コンテナ × セキュリティ × AWS
kyohmizu
10
3.2k
コンテナセキュリティ
kyohmizu
10
3.8k
コンテナイメージのマルウェア検出とその実用性について
kyohmizu
4
2.2k
Play with 🐐 in Kubernetes
kyohmizu
1
1.1k
Security Command Center × PagerDuty 自動アラート通知の取り組み
kyohmizu
0
460
サイバー攻撃から Kubernetes クラスタを守るための効果的なセキュリティ対策
kyohmizu
13
3.2k
Other Decks in Technology
See All in Technology
私が trocco を推す理由
__allllllllez__
1
240
プラットフォームってつくることより計測することが重要なんじゃないかという話 / Platform Engineering Meetup #8
taishin
1
370
エンジニアのキャリアをちょっと楽しくする3本の軸/Three Pillars to Make an Engineer's Career More Enjoyable
kwappa
0
2.7k
ChatGPT for IT Service Management (IT Pro)
dahatake
7
1.6k
AWSに詳しくない人でも始められるコスト最適化ガイド
yuhta28
1
250
Delivering Millions of Messages within seconds @ Duolingo
pelelgrino
0
350
Terraformあれやこれ/terraform-this-and-that
emiki
8
1.4k
LayerXにおけるLLMプロダクト開発の今までとこれから
layerx
PRO
1
370
Building Dashboards as a Hobby
egmc
0
230
Kernel MemoryでAzure OpenAI Serviceとお手軽データソース連携
mitsuzono
1
260
現代CSSフレームワークの内部実装とその仕組み
poteboy
7
3.6k
ChatworkのSRE部って実は 半分くらいPlatform Engineering部かもしれない
saramune
0
160
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
36
2.1k
Designing for Performance
lara
601
67k
Imperfection Machines: The Place of Print at Facebook
scottboms
260
12k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
6
1.5k
Unsuck your backbone
ammeep
663
57k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
Producing Creativity
orderedlist
PRO
337
39k
A designer walks into a library…
pauljervisheath
200
23k
A Philosophy of Restraint
colly
197
16k
VelocityConf: Rendering Performance Case Studies
addyosmani
320
23k
Creatively Recalculating Your Daily Design Routine
revolveconf
210
11k
The MySQL Ecosystem @ GitHub 2015
samlambert
243
12k
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!