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
850
安全な Kubernetes 環境を目指して
kyohmizu
4
710
Unlocking Cloud Native Security
kyohmizu
5
920
コンテナ × セキュリティ × AWS
kyohmizu
10
3.3k
コンテナセキュリティ
kyohmizu
10
3.9k
コンテナイメージのマルウェア検出とその実用性について
kyohmizu
4
2.3k
Play with 🐐 in Kubernetes
kyohmizu
1
1.1k
Security Command Center × PagerDuty 自動アラート通知の取り組み
kyohmizu
0
480
サイバー攻撃から Kubernetes クラスタを守るための効果的なセキュリティ対策
kyohmizu
13
3.2k
Other Decks in Technology
See All in Technology
Observabilityジャーニーを実現するためのAWSサービス:CloudWatch編
o11yfes2023
0
140
5分で分かる(かもしれない) Vector engine for OpenSearch Serverless
tsukuboshi
1
380
Domain-driven Design: A Complete Example
ewolff
2
240
AWS アーキテクチャ作図入門/aws-architecture-diagram-101
ma2shita
16
6.7k
「知的単純作業」を自動化する、地に足の着いた大規模言語モデル (LLM) の活用
nrryuya
8
8.1k
日本が誇るイタリアのダンスミュージック!? ユーロビートって何??
minorun365
PRO
1
130
多言語化対応における TypeScript の型定義を通して開発のしやすさについて考えた / TSKaigi TypeScript Multilingualization
nabeliwo
2
380
使われないものを作るな!出口から作るデータ分析基盤 / Data Platform Development Starting from the User Needs
amaotone
16
4k
Taking Flight with Tailwind CSS
opdavies
0
4.3k
個人的、Kubernetes の最新注目機能! (2024年5月版) / TechFeed Experts Night#28 〜 コンテナ技術最前線
pfn
PRO
3
210
Observabilityジャーニーを実現するためのAWSサービス:OSS編
o11yfes2023
0
110
社内での継続的な機械学習勉強会の開催のコツ
yudai00
2
380
Featured
See All Featured
The Invisible Side of Design
smashingmag
294
49k
The MySQL Ecosystem @ GitHub 2015
samlambert
244
12k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
14
8.4k
Designing Experiences People Love
moore
136
23k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
0
110
Building a Modern Day E-commerce SEO Strategy
aleyda
22
6.5k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
Fireside Chat
paigeccino
22
2.7k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
41
4.5k
Embracing the Ebb and Flow
colly
80
4.2k
Code Review Best Practice
trishagee
56
15k
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!