SlideShare a Scribd company logo
1 of 20
ArgoCDについて
2021/01/19
紀本雅大
masahiro.kimoto@ntt.com
自己紹介
紀本 雅大 / KIMOTO MASAHIRO
masahiro.kimoto@ntt.com
NTTコミュニケーションズ 2020年入社
イノベーションセンター テクノロジー部門
Testbed基盤拡張2 PJ
AI向けコンテナ基盤としてのGPU Kubernetesクラスタの運用と機能検証
(Testbedとは: NTT Comにおける開発・検証用ネットワーク)
Contents
● Argo CD紹介
○ 概要
○ GitOps by Tekton and Argo
○ Architecture
○ Try Argo CD
● Tips
○ Slack通知
○ Status Badge
○ RBAC・ユーザ管理
○ 戦略的デプロイ Argo Rolloutsとの連携
About Argo
https://argoproj.github.io/
ArgoプロジェクトはKubernetesネイティブツールのセット ArgoCDはそのうちのひとつ
Argo Workflows
Kubernetes上で並列ジョブを実行する
ワークフローエンジン。
CI/CDパイプラインを構築。
Argo Rollouts
Blue/Greenやカナリアリリース等の
高度なデプロイ戦略を提供する、
KubernetesコントローラとCRDのセット。
Argo CD
リポジトリの変更を検知し、CD機能を提供。
helm/kustomizeなどにも対応。
Argoの代表的なコンポーネント。
Argo Events
Kubernetes用のイベントマネージャ。
webhookなどのイベントを受け取り、
Kubernetesオブジェクトをトリガー。
GitOps by Tekton and Argo
CD
CI
Build
image
Push
image
Update
K8s config
Detect
Change
Deploy
manifest
Deploy
Blue/green
Analysis
Deploy
Tekton
Tekton
Pipeline
Tekton
Trigger Tekton
Pipeline
None
Argo
Argo
Workflows
Argo
CD
Argo
Rollouts
FIX
App
Argo
Events
Tekton
Trigger
Tekton
Pipeline
None
Argo
Events
Argo
Workflows
Argo CD
Argo CDはKubernetesにおいて宣言的にGitOpsのCD機能を実現するコンポーネント
特徴
● 宣言型のアーキテクチャ ( Kubernetes YAML, ksonnet / jsonnet, Helm, kustomize )
● Gitリポジトリで理想状態を宣言 ( GitOps )
● Kubernetesネイティブ
● CIプロセスとCDプロセスを明確に分離
● WebUIによるデプロイ状態の可視化・操作が可能
● デプロイされたリソースのヘルスチェック・任意のロールバックが可能
https://argoproj.github.io/argo-cd/
Architecture
● API Server
○ WebUI, CLI, およびAPIを公開する
gRPC/RESTサーバ
● Repository Server
○ マニフェストを保持する
Gitリポジトリのキャッシュを
維持する内部サービス
● Application Controller
○ 実行中のアプリケーションを監視、
現在の状態をリポジトリの理想状態と
比較するKubernetesコントローラ
WebUI - Argo CD
App List View
App Details View
Getting Started
Cluster Install
cluster-admin権限を持つ標準的なインストール
$ kubectl apply -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
or Namespaced Install
Namespaceを限定したインストール
外部クラスタにデプロイする場合にも使用
$ kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-
cd/stable/manifests/namespace-install.yaml
CLI Tools
$ brew install argocd
https://argoproj.github.io/argo-cd/getting_started/
Installing Argo CD
Kubernetesクラスタ上にアプリケーションがデプロイされる
Access WebUI
$ kubectl port-forward svc/argocd-server -n argocd 8080:443
Open http://localhost:8080 in browser
user: admin
init pass: argocd-server pod name
( $ kubectl get pods -n argocd -l app.kubernetes.io/name=argocd-server -o name |
cut -d'/' -f 2 )
Deploy App
①NEW APP ②アプリケーションの情報を入
力
③AUTO APPLY
Argo CDが3分おきにリポジトリの更新を確認
即時反映の場合はリポジトリ側からwebhookを飛ばす
Update App
PR MERGE
Argo CD
kube api
変更検知 Deploy
AUTO SYNC
Argo CD紹介 まとめ
● Argo CDはKubernetesにおいて宣言的に
GitOpsのCD機能を実現するコンポーネント
○ Gitリポジトリのマニフェストを理想状態として宣言する
● CD機能にのみ注力しておりCI機能は備えていない
○ Argoのコンポーネントはいずれも独立した機能としてふるまう
● Kubernetesネイティブであり自身もCRDとして実装されている
● WebUI, CLIによる可視化・操作が強力
Contents
● Argo CD紹介
○ 概要
○ GitOps by Tekton and Argo
○ Architecture
○ Argo CD sample
● Tips
○ Slack通知
○ Status Badge
○ RBAC・ユーザ管理
○ 戦略的デプロイ Argo Rolloutsとの連携
Slack通知
デプロイ状況を通知する拡張機能
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj-labs/argocd-
notifications/stable/manifests/install.yaml
https://argocd-notifications.readthedocs.io/en/stable/
Cluster
Argo CD
Argo CD
Notification
Slack
ConfigMap
argocd-notification-cm
Git
Repo
App
②Deploy
Secret
argocd-notification-secret
①Get OAuth
Token
④Notification
・Success
・Failed
etc...
③
Log
Status Badge
● Best Practices:ソースコードとマニフェストのリポジトリを分離する
○ アプリケーションコードとアプリケーション構成を明確に分離可能
○ 例:デプロイメントのレプリカ数を変更したい場合
● マニフェストリポジトリの同期状況の可視化にStatus Badgeを使用
○ 使用例:GitHubのREADME先頭に表示
https://argoproj.github.io/argo-cd/user-guide/best_practices/
https://argoproj.github.io/argo-cd/user-guide/status-badge/
$ kubectl edit configmap argocd-cm
data:
+ statusbadge.enabled: 'true' ${argoCdBaseUrl}/api/badge?name=${appName}
クラスタ内に複数のユーザが存在する場合, project単位で権限を設定する
● Appはいずれかのprojectに割り当てられる
○ 指定しない場合 default
● projectに対して許可するアクションと
実行可能なユーザを設定
○ ConfigMap: argocd-cm
○ Projectの他 cluster, applications,
repositories, certificates単位で設定可能
cluster
project B
project A
RBAC・プロジェクト管理
App A App B
App C App D
https://argoproj.github.io/argo-cd/operator-manual/rbac/
https://argoproj.github.io/argo-cd/user-guide/projects/
user A user B
戦略的デプロイ Argo Rolloutsとの連携
Argo RolloutsはReplicaSetに代わって Blue/Green や カナリアリリース等の
デプロイ戦略を提供するコンポーネント
Argo CDでデプロイするマニフェストにArgo Rolloutsを使用することで
戦略的デプロイを利用可能
https://argoproj.github.io/argo-rollouts/migrating/
マニフェストの変更点( YAMLの場合 )
apiVersion: apps/v1 → argoproj.io/v1alpha1
kind: Deployment → Rollout
strategy: blue-green or canary を追加
Argo CD Tips まとめ
● 拡張機能によってデプロイ状況をSlack通知できる
● Status Badgeの表示でリポジトリの同期状況を表示できる
● 複数のアプリケーションの権限を管理する場合、
Project単位でアクセス権限を設定する
● Argo Rolloutsを利用することで戦略的デプロイが実現できる
● Argo Events と Argo Workflowsを利用したCD機能の拡張については検証中

More Related Content

What's hot

ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43Preferred Networks
 
OpenStack Summit Sydney Feedback (VTJ玉置) - OpenStack最新情報セミナー 2017年11月
OpenStack Summit Sydney Feedback (VTJ玉置) - OpenStack最新情報セミナー 2017年11月OpenStack Summit Sydney Feedback (VTJ玉置) - OpenStack最新情報セミナー 2017年11月
OpenStack Summit Sydney Feedback (VTJ玉置) - OpenStack最新情報セミナー 2017年11月VirtualTech Japan Inc.
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)NTT DATA Technology & Innovation
 
Edge Computing と k8s でなんか話すよ
Edge Computing と k8s でなんか話すよEdge Computing と k8s でなんか話すよ
Edge Computing と k8s でなんか話すよVirtualTech Japan Inc.
 
JETSON 最新情報 & 自動外観検査事例紹介
JETSON 最新情報 & 自動外観検査事例紹介JETSON 最新情報 & 自動外観検査事例紹介
JETSON 最新情報 & 自動外観検査事例紹介NVIDIA Japan
 
GPU と PYTHON と、それから最近の NVIDIA
GPU と PYTHON と、それから最近の NVIDIAGPU と PYTHON と、それから最近の NVIDIA
GPU と PYTHON と、それから最近の NVIDIANVIDIA Japan
 
TensorRT Inference Serverではじめる、 高性能な推論サーバ構築
TensorRT Inference Serverではじめる、 高性能な推論サーバ構築TensorRT Inference Serverではじめる、 高性能な推論サーバ構築
TensorRT Inference Serverではじめる、 高性能な推論サーバ構築NVIDIA Japan
 
GPU on OpenStack 〜GPUインターナルクラウドのベストプラクティス
GPU on OpenStack 〜GPUインターナルクラウドのベストプラクティスGPU on OpenStack 〜GPUインターナルクラウドのベストプラクティス
GPU on OpenStack 〜GPUインターナルクラウドのベストプラクティスVirtualTech Japan Inc.
 
KubeCon 2021 NA Recap - Scheduler拡張事例最前線 / Kubernetes Meetup Tokyo #47 / #k8sjp
KubeCon 2021 NA Recap - Scheduler拡張事例最前線 / Kubernetes Meetup Tokyo #47 / #k8sjpKubeCon 2021 NA Recap - Scheduler拡張事例最前線 / Kubernetes Meetup Tokyo #47 / #k8sjp
KubeCon 2021 NA Recap - Scheduler拡張事例最前線 / Kubernetes Meetup Tokyo #47 / #k8sjpPreferred Networks
 
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...NTT DATA Technology & Innovation
 
Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会
Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会
Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会tomohiro kato
 
NVIDIA GPU Cloud の紹介
NVIDIA GPU Cloud の紹介NVIDIA GPU Cloud の紹介
NVIDIA GPU Cloud の紹介NVIDIA Japan
 
Rescale で Singularity を使ってみよう!
Rescale で Singularity を使ってみよう!Rescale で Singularity を使ってみよう!
Rescale で Singularity を使ってみよう!Shinnosuke Furuya
 
MEC (Mobile Edge Computing) + GPUコンピューティングについて
MEC (Mobile Edge Computing) + GPUコンピューティングについてMEC (Mobile Edge Computing) + GPUコンピューティングについて
MEC (Mobile Edge Computing) + GPUコンピューティングについてVirtualTech Japan Inc.
 
6万行の TypeScript 移行とその後
6万行の TypeScript 移行とその後6万行の TypeScript 移行とその後
6万行の TypeScript 移行とその後Shingo Sasaki
 
GPU クラウド コンピューティング
GPU クラウド コンピューティングGPU クラウド コンピューティング
GPU クラウド コンピューティングNVIDIA Japan
 

What's hot (20)

ニフクラでも できる!Kubernetes。
ニフクラでも できる!Kubernetes。ニフクラでも できる!Kubernetes。
ニフクラでも できる!Kubernetes。
 
OpenStack Summit Vancouverにおけるコンテナ関連トピック
OpenStack Summit Vancouverにおけるコンテナ関連トピックOpenStack Summit Vancouverにおけるコンテナ関連トピック
OpenStack Summit Vancouverにおけるコンテナ関連トピック
 
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
 
OpenStack Summit Sydney Feedback (VTJ玉置) - OpenStack最新情報セミナー 2017年11月
OpenStack Summit Sydney Feedback (VTJ玉置) - OpenStack最新情報セミナー 2017年11月OpenStack Summit Sydney Feedback (VTJ玉置) - OpenStack最新情報セミナー 2017年11月
OpenStack Summit Sydney Feedback (VTJ玉置) - OpenStack最新情報セミナー 2017年11月
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
 
Edge Computing と k8s でなんか話すよ
Edge Computing と k8s でなんか話すよEdge Computing と k8s でなんか話すよ
Edge Computing と k8s でなんか話すよ
 
JETSON 最新情報 & 自動外観検査事例紹介
JETSON 最新情報 & 自動外観検査事例紹介JETSON 最新情報 & 自動外観検査事例紹介
JETSON 最新情報 & 自動外観検査事例紹介
 
GPU と PYTHON と、それから最近の NVIDIA
GPU と PYTHON と、それから最近の NVIDIAGPU と PYTHON と、それから最近の NVIDIA
GPU と PYTHON と、それから最近の NVIDIA
 
GitLabのAutoDevOpsを試してみた
GitLabのAutoDevOpsを試してみたGitLabのAutoDevOpsを試してみた
GitLabのAutoDevOpsを試してみた
 
TensorRT Inference Serverではじめる、 高性能な推論サーバ構築
TensorRT Inference Serverではじめる、 高性能な推論サーバ構築TensorRT Inference Serverではじめる、 高性能な推論サーバ構築
TensorRT Inference Serverではじめる、 高性能な推論サーバ構築
 
GPU on OpenStack 〜GPUインターナルクラウドのベストプラクティス
GPU on OpenStack 〜GPUインターナルクラウドのベストプラクティスGPU on OpenStack 〜GPUインターナルクラウドのベストプラクティス
GPU on OpenStack 〜GPUインターナルクラウドのベストプラクティス
 
KubeCon 2021 NA Recap - Scheduler拡張事例最前線 / Kubernetes Meetup Tokyo #47 / #k8sjp
KubeCon 2021 NA Recap - Scheduler拡張事例最前線 / Kubernetes Meetup Tokyo #47 / #k8sjpKubeCon 2021 NA Recap - Scheduler拡張事例最前線 / Kubernetes Meetup Tokyo #47 / #k8sjp
KubeCon 2021 NA Recap - Scheduler拡張事例最前線 / Kubernetes Meetup Tokyo #47 / #k8sjp
 
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
 
Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会
Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会
Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会
 
NVIDIA GPU Cloud の紹介
NVIDIA GPU Cloud の紹介NVIDIA GPU Cloud の紹介
NVIDIA GPU Cloud の紹介
 
Rescale で Singularity を使ってみよう!
Rescale で Singularity を使ってみよう!Rescale で Singularity を使ってみよう!
Rescale で Singularity を使ってみよう!
 
GitLab から GitLab に移行したときの思い出
GitLab から GitLab に移行したときの思い出GitLab から GitLab に移行したときの思い出
GitLab から GitLab に移行したときの思い出
 
MEC (Mobile Edge Computing) + GPUコンピューティングについて
MEC (Mobile Edge Computing) + GPUコンピューティングについてMEC (Mobile Edge Computing) + GPUコンピューティングについて
MEC (Mobile Edge Computing) + GPUコンピューティングについて
 
6万行の TypeScript 移行とその後
6万行の TypeScript 移行とその後6万行の TypeScript 移行とその後
6万行の TypeScript 移行とその後
 
GPU クラウド コンピューティング
GPU クラウド コンピューティングGPU クラウド コンピューティング
GPU クラウド コンピューティング
 

Similar to Argo CDについて

Reactive Workflow Argo Eventsの紹介
Reactive Workflow Argo Eventsの紹介Reactive Workflow Argo Eventsの紹介
Reactive Workflow Argo Eventsの紹介Daisuke Taniwaki
 
openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713Takehiro Kudou
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)NTT DATA Technology & Innovation
 
20190725 Argo Project Latest News
20190725 Argo Project Latest News20190725 Argo Project Latest News
20190725 Argo Project Latest NewsDaisuke Taniwaki
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会Hitoshi Sato
 
実践! Argo cd & rollouts による canary release(cndt2021)
実践! Argo cd & rollouts による canary release(cndt2021) 実践! Argo cd & rollouts による canary release(cndt2021)
実践! Argo cd & rollouts による canary release(cndt2021) HayatoOkuma1
 
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜Masaya Aoyama
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーToru Makabe
 
Intel OpenVINO、 NVIDIA Deepstream対応開発キットから、 エッジサーバー、Azure Data Box Edgeまで、 Az...
Intel OpenVINO、 NVIDIA Deepstream対応開発キットから、 エッジサーバー、Azure Data Box Edgeまで、 Az...Intel OpenVINO、 NVIDIA Deepstream対応開発キットから、 エッジサーバー、Azure Data Box Edgeまで、 Az...
Intel OpenVINO、 NVIDIA Deepstream対応開発キットから、 エッジサーバー、Azure Data Box Edgeまで、 Az...IoTビジネス共創ラボ
 
Airflowを広告データのワークフローエンジンとして運用してみた話
Airflowを広告データのワークフローエンジンとして運用してみた話Airflowを広告データのワークフローエンジンとして運用してみた話
Airflowを広告データのワークフローエンジンとして運用してみた話Katsunori Kanda
 
PTLのお仕事とリリースパイプラインの裏側
PTLのお仕事とリリースパイプラインの裏側PTLのお仕事とリリースパイプラインの裏側
PTLのお仕事とリリースパイプラインの裏側masahito12
 
CEDEC 2015: Google スケールで実現する!ゲーム&分析基盤
CEDEC 2015: Google スケールで実現する!ゲーム&分析基盤CEDEC 2015: Google スケールで実現する!ゲーム&分析基盤
CEDEC 2015: Google スケールで実現する!ゲーム&分析基盤Google Cloud Platform - Japan
 
[Cloud on air] #02 GCP のアプリランタイムについて学ぼう
[Cloud on air] #02  GCP のアプリランタイムについて学ぼう[Cloud on air] #02  GCP のアプリランタイムについて学ぼう
[Cloud on air] #02 GCP のアプリランタイムについて学ぼうGoogle Cloud Platform - Japan
 
AKS+KEDAで実現!Container Functions Pipeline
AKS+KEDAで実現!Container Functions PipelineAKS+KEDAで実現!Container Functions Pipeline
AKS+KEDAで実現!Container Functions PipelineTsukasa Kato
 
【de:code 2020】 AI on IA 最新情報 ~ CPU で AI を上手に動かすための 5 つのヒント ~
【de:code 2020】 AI on IA 最新情報 ~ CPU で AI を上手に動かすための 5 つのヒント ~【de:code 2020】 AI on IA 最新情報 ~ CPU で AI を上手に動かすための 5 つのヒント ~
【de:code 2020】 AI on IA 最新情報 ~ CPU で AI を上手に動かすための 5 つのヒント ~日本マイクロソフト株式会社
 
45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄Yukio Saito
 
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善Ito Takayuki
 
de:code 2019 Cloud トラック 総まとめ!
de:code 2019 Cloud トラック 総まとめ!de:code 2019 Cloud トラック 総まとめ!
de:code 2019 Cloud トラック 総まとめ!Minoru Naito
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021Preferred Networks
 

Similar to Argo CDについて (20)

Reactive Workflow Argo Eventsの紹介
Reactive Workflow Argo Eventsの紹介Reactive Workflow Argo Eventsの紹介
Reactive Workflow Argo Eventsの紹介
 
openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
20190725 Argo Project Latest News
20190725 Argo Project Latest News20190725 Argo Project Latest News
20190725 Argo Project Latest News
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
 
実践! Argo cd & rollouts による canary release(cndt2021)
実践! Argo cd & rollouts による canary release(cndt2021) 実践! Argo cd & rollouts による canary release(cndt2021)
実践! Argo cd & rollouts による canary release(cndt2021)
 
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
 
Intel OpenVINO、 NVIDIA Deepstream対応開発キットから、 エッジサーバー、Azure Data Box Edgeまで、 Az...
Intel OpenVINO、 NVIDIA Deepstream対応開発キットから、 エッジサーバー、Azure Data Box Edgeまで、 Az...Intel OpenVINO、 NVIDIA Deepstream対応開発キットから、 エッジサーバー、Azure Data Box Edgeまで、 Az...
Intel OpenVINO、 NVIDIA Deepstream対応開発キットから、 エッジサーバー、Azure Data Box Edgeまで、 Az...
 
Airflowを広告データのワークフローエンジンとして運用してみた話
Airflowを広告データのワークフローエンジンとして運用してみた話Airflowを広告データのワークフローエンジンとして運用してみた話
Airflowを広告データのワークフローエンジンとして運用してみた話
 
GTC Japan 2017
GTC Japan 2017GTC Japan 2017
GTC Japan 2017
 
PTLのお仕事とリリースパイプラインの裏側
PTLのお仕事とリリースパイプラインの裏側PTLのお仕事とリリースパイプラインの裏側
PTLのお仕事とリリースパイプラインの裏側
 
CEDEC 2015: Google スケールで実現する!ゲーム&分析基盤
CEDEC 2015: Google スケールで実現する!ゲーム&分析基盤CEDEC 2015: Google スケールで実現する!ゲーム&分析基盤
CEDEC 2015: Google スケールで実現する!ゲーム&分析基盤
 
[Cloud on air] #02 GCP のアプリランタイムについて学ぼう
[Cloud on air] #02  GCP のアプリランタイムについて学ぼう[Cloud on air] #02  GCP のアプリランタイムについて学ぼう
[Cloud on air] #02 GCP のアプリランタイムについて学ぼう
 
AKS+KEDAで実現!Container Functions Pipeline
AKS+KEDAで実現!Container Functions PipelineAKS+KEDAで実現!Container Functions Pipeline
AKS+KEDAで実現!Container Functions Pipeline
 
【de:code 2020】 AI on IA 最新情報 ~ CPU で AI を上手に動かすための 5 つのヒント ~
【de:code 2020】 AI on IA 最新情報 ~ CPU で AI を上手に動かすための 5 つのヒント ~【de:code 2020】 AI on IA 最新情報 ~ CPU で AI を上手に動かすための 5 つのヒント ~
【de:code 2020】 AI on IA 最新情報 ~ CPU で AI を上手に動かすための 5 つのヒント ~
 
45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄
 
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
 
de:code 2019 Cloud トラック 総まとめ!
de:code 2019 Cloud トラック 総まとめ!de:code 2019 Cloud トラック 総まとめ!
de:code 2019 Cloud トラック 総まとめ!
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
 

More from NTT Communications Technology Development

macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~NTT Communications Technology Development
 
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて マルチクラウドでContinuous Deliveryを実現するSpinnakerについて
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて NTT Communications Technology Development
 
Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...
Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...
Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...NTT Communications Technology Development
 
イケてない開発チームがイケてる開発を始めようとする軌跡
イケてない開発チームがイケてる開発を始めようとする軌跡イケてない開発チームがイケてる開発を始めようとする軌跡
イケてない開発チームがイケてる開発を始めようとする軌跡NTT Communications Technology Development
 

More from NTT Communications Technology Development (20)

macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
 
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて マルチクラウドでContinuous Deliveryを実現するSpinnakerについて
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて
 
100Gbps OpenStack For Providing High-Performance NFV
100Gbps OpenStack For Providing High-Performance NFV100Gbps OpenStack For Providing High-Performance NFV
100Gbps OpenStack For Providing High-Performance NFV
 
Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...
Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...
Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...
 
AWS re:Invent2017で見た AWSの強さとは
AWS re:Invent2017で見た AWSの強さとは AWS re:Invent2017で見た AWSの強さとは
AWS re:Invent2017で見た AWSの強さとは
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
Mexico ops meetup発表資料 20170905
Mexico ops meetup発表資料 20170905Mexico ops meetup発表資料 20170905
Mexico ops meetup発表資料 20170905
 
イケてない開発チームがイケてる開発を始めようとする軌跡
イケてない開発チームがイケてる開発を始めようとする軌跡イケてない開発チームがイケてる開発を始めようとする軌跡
イケてない開発チームがイケてる開発を始めようとする軌跡
 
SpinnakerとOpenStackの構築
SpinnakerとOpenStackの構築SpinnakerとOpenStackの構築
SpinnakerとOpenStackの構築
 
Troveコミュニティ動向
Troveコミュニティ動向Troveコミュニティ動向
Troveコミュニティ動向
 
Web rtc for iot, edge computing use cases
Web rtc for iot, edge computing use casesWeb rtc for iot, edge computing use cases
Web rtc for iot, edge computing use cases
 
OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告
OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告
OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告
 
NTT Tech Conference #1 Opening Keynote
NTT Tech Conference #1 Opening KeynoteNTT Tech Conference #1 Opening Keynote
NTT Tech Conference #1 Opening Keynote
 
NTT Tech Conference #1 Closing Keynote
NTT Tech Conference #1 Closing KeynoteNTT Tech Conference #1 Closing Keynote
NTT Tech Conference #1 Closing Keynote
 
OpsからみたOpenStack Summit
OpsからみたOpenStack SummitOpsからみたOpenStack Summit
OpsからみたOpenStack Summit
 
RabbitMQ can scale out!!(jp ops-workshop-3)
RabbitMQ can scale out!!(jp ops-workshop-3)RabbitMQ can scale out!!(jp ops-workshop-3)
RabbitMQ can scale out!!(jp ops-workshop-3)
 
WebRTCで動かす“テレイグジスタンス”ロボット
WebRTCで動かす“テレイグジスタンス”ロボットWebRTCで動かす“テレイグジスタンス”ロボット
WebRTCで動かす“テレイグジスタンス”ロボット
 
TPAC 2015 WebRTC WG 最新レポート
TPAC 2015 WebRTC WG 最新レポートTPAC 2015 WebRTC WG 最新レポート
TPAC 2015 WebRTC WG 最新レポート
 
Collect, summarize and notify of OpenStack's log
Collect, summarize and notify of OpenStack's logCollect, summarize and notify of OpenStack's log
Collect, summarize and notify of OpenStack's log
 
Ruby meets Go
Ruby meets GoRuby meets Go
Ruby meets Go
 

Recently uploaded

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 

Recently uploaded (9)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 

Argo CDについて

  • 2. 自己紹介 紀本 雅大 / KIMOTO MASAHIRO masahiro.kimoto@ntt.com NTTコミュニケーションズ 2020年入社 イノベーションセンター テクノロジー部門 Testbed基盤拡張2 PJ AI向けコンテナ基盤としてのGPU Kubernetesクラスタの運用と機能検証 (Testbedとは: NTT Comにおける開発・検証用ネットワーク)
  • 3. Contents ● Argo CD紹介 ○ 概要 ○ GitOps by Tekton and Argo ○ Architecture ○ Try Argo CD ● Tips ○ Slack通知 ○ Status Badge ○ RBAC・ユーザ管理 ○ 戦略的デプロイ Argo Rolloutsとの連携
  • 4. About Argo https://argoproj.github.io/ ArgoプロジェクトはKubernetesネイティブツールのセット ArgoCDはそのうちのひとつ Argo Workflows Kubernetes上で並列ジョブを実行する ワークフローエンジン。 CI/CDパイプラインを構築。 Argo Rollouts Blue/Greenやカナリアリリース等の 高度なデプロイ戦略を提供する、 KubernetesコントローラとCRDのセット。 Argo CD リポジトリの変更を検知し、CD機能を提供。 helm/kustomizeなどにも対応。 Argoの代表的なコンポーネント。 Argo Events Kubernetes用のイベントマネージャ。 webhookなどのイベントを受け取り、 Kubernetesオブジェクトをトリガー。
  • 5. GitOps by Tekton and Argo CD CI Build image Push image Update K8s config Detect Change Deploy manifest Deploy Blue/green Analysis Deploy Tekton Tekton Pipeline Tekton Trigger Tekton Pipeline None Argo Argo Workflows Argo CD Argo Rollouts FIX App Argo Events Tekton Trigger Tekton Pipeline None Argo Events Argo Workflows
  • 6. Argo CD Argo CDはKubernetesにおいて宣言的にGitOpsのCD機能を実現するコンポーネント 特徴 ● 宣言型のアーキテクチャ ( Kubernetes YAML, ksonnet / jsonnet, Helm, kustomize ) ● Gitリポジトリで理想状態を宣言 ( GitOps ) ● Kubernetesネイティブ ● CIプロセスとCDプロセスを明確に分離 ● WebUIによるデプロイ状態の可視化・操作が可能 ● デプロイされたリソースのヘルスチェック・任意のロールバックが可能 https://argoproj.github.io/argo-cd/
  • 7. Architecture ● API Server ○ WebUI, CLI, およびAPIを公開する gRPC/RESTサーバ ● Repository Server ○ マニフェストを保持する Gitリポジトリのキャッシュを 維持する内部サービス ● Application Controller ○ 実行中のアプリケーションを監視、 現在の状態をリポジトリの理想状態と 比較するKubernetesコントローラ
  • 8. WebUI - Argo CD App List View App Details View
  • 9. Getting Started Cluster Install cluster-admin権限を持つ標準的なインストール $ kubectl apply -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml or Namespaced Install Namespaceを限定したインストール 外部クラスタにデプロイする場合にも使用 $ kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo- cd/stable/manifests/namespace-install.yaml CLI Tools $ brew install argocd https://argoproj.github.io/argo-cd/getting_started/
  • 11. Access WebUI $ kubectl port-forward svc/argocd-server -n argocd 8080:443 Open http://localhost:8080 in browser user: admin init pass: argocd-server pod name ( $ kubectl get pods -n argocd -l app.kubernetes.io/name=argocd-server -o name | cut -d'/' -f 2 )
  • 12. Deploy App ①NEW APP ②アプリケーションの情報を入 力 ③AUTO APPLY
  • 14. Argo CD紹介 まとめ ● Argo CDはKubernetesにおいて宣言的に GitOpsのCD機能を実現するコンポーネント ○ Gitリポジトリのマニフェストを理想状態として宣言する ● CD機能にのみ注力しておりCI機能は備えていない ○ Argoのコンポーネントはいずれも独立した機能としてふるまう ● Kubernetesネイティブであり自身もCRDとして実装されている ● WebUI, CLIによる可視化・操作が強力
  • 15. Contents ● Argo CD紹介 ○ 概要 ○ GitOps by Tekton and Argo ○ Architecture ○ Argo CD sample ● Tips ○ Slack通知 ○ Status Badge ○ RBAC・ユーザ管理 ○ 戦略的デプロイ Argo Rolloutsとの連携
  • 16. Slack通知 デプロイ状況を通知する拡張機能 kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj-labs/argocd- notifications/stable/manifests/install.yaml https://argocd-notifications.readthedocs.io/en/stable/ Cluster Argo CD Argo CD Notification Slack ConfigMap argocd-notification-cm Git Repo App ②Deploy Secret argocd-notification-secret ①Get OAuth Token ④Notification ・Success ・Failed etc... ③ Log
  • 17. Status Badge ● Best Practices:ソースコードとマニフェストのリポジトリを分離する ○ アプリケーションコードとアプリケーション構成を明確に分離可能 ○ 例:デプロイメントのレプリカ数を変更したい場合 ● マニフェストリポジトリの同期状況の可視化にStatus Badgeを使用 ○ 使用例:GitHubのREADME先頭に表示 https://argoproj.github.io/argo-cd/user-guide/best_practices/ https://argoproj.github.io/argo-cd/user-guide/status-badge/ $ kubectl edit configmap argocd-cm data: + statusbadge.enabled: 'true' ${argoCdBaseUrl}/api/badge?name=${appName}
  • 18. クラスタ内に複数のユーザが存在する場合, project単位で権限を設定する ● Appはいずれかのprojectに割り当てられる ○ 指定しない場合 default ● projectに対して許可するアクションと 実行可能なユーザを設定 ○ ConfigMap: argocd-cm ○ Projectの他 cluster, applications, repositories, certificates単位で設定可能 cluster project B project A RBAC・プロジェクト管理 App A App B App C App D https://argoproj.github.io/argo-cd/operator-manual/rbac/ https://argoproj.github.io/argo-cd/user-guide/projects/ user A user B
  • 19. 戦略的デプロイ Argo Rolloutsとの連携 Argo RolloutsはReplicaSetに代わって Blue/Green や カナリアリリース等の デプロイ戦略を提供するコンポーネント Argo CDでデプロイするマニフェストにArgo Rolloutsを使用することで 戦略的デプロイを利用可能 https://argoproj.github.io/argo-rollouts/migrating/ マニフェストの変更点( YAMLの場合 ) apiVersion: apps/v1 → argoproj.io/v1alpha1 kind: Deployment → Rollout strategy: blue-green or canary を追加
  • 20. Argo CD Tips まとめ ● 拡張機能によってデプロイ状況をSlack通知できる ● Status Badgeの表示でリポジトリの同期状況を表示できる ● 複数のアプリケーションの権限を管理する場合、 Project単位でアクセス権限を設定する ● Argo Rolloutsを利用することで戦略的デプロイが実現できる ● Argo Events と Argo Workflowsを利用したCD機能の拡張については検証中