O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

20190725 Argo Project Latest News

7.315 visualizações

Publicada em

Argo Project最新動向

Publicada em: Software
  • Entre para ver os comentários

20190725 Argo Project Latest News

  1. 1. Argoプロジェクト最新動向 2019/7/25 Kubernetes Meetup Tokyo #21 Daisuke Taniwaki, Engineer Preferred Networks, Inc.
  2. 2. 自己紹介 谷脇 大輔 (Daisuke Taniwaki) 職歴 2008~2012 Trend Micro - 未知の脅威を発見する Webクローラ 2012~2014 Kakaku.com - Tabelog USの立ち上げ 2014~2017 Kaizen Platform - Kaizen Optimization Platform 2017~現在 Preferred Networks - ジョブスケジューラやクラスター向けツール 技術領域 dtaniwaki dtaniwaki 2
  3. 3. Agenda - Argoプロジェクトとは - Argoのツール紹介 - Argo Workflows - Argo Events - Argo CD - Live Demo - Argo Rollouts - Live Demo
  4. 4. Argoプロジェクト紹介 Argo Events 2018 2019 Argo Rollouts Argo CD Argo Workflows Axis
  5. 5. Argoとは - ギリシア神話に登場する英雄たちが乗り込んだ巨大な船 Ref wikipedia: Argo https://en.wikipedia.org/wiki/Argo
  6. 6. プロジェクトメンバーになった経緯 - PFNのクラスターの要件ではWorkflowが使えなかった - PSPが厳しく、Docker executorが使えない - スケジューリングのためにPod Priorityが重要 - データセットのロードにInit Containerが必要 - SupplementalGroupsのためにPodSecurityContextが必要 - など - コントリビュートしていくうちに、Reviewerを依頼され、しばらく してApproverへ昇格
  7. 7. Argoのツール紹介
  8. 8. Argo Workflows - Kubernetesネイティブのワークフローエンジン - DAGや並列・直列実行など複雑なステップのサポート - 条件分岐によるステップ実行 - 様々なArtifactのサポート - テンプレートのパラメータ化
  9. 9. Argo Workflows今後の予定 - v2.3 (current) - K8s API based and PNS Executor - 巨大なWorkflowのためのステップ実行履歴圧縮 - Init Containerサポート - など - v2.4 - 実行されたステップ実行履歴を外部DBに保存 - v2.5 - Argo APIサーバ
  10. 10. Argo Events - Kubernetesのためのイベントベースの依存管理ツール - 様々なタイプのソースから様々なイベントを発行できる - CloudEvents準拠
  11. 11. Argo CD - GitOpsのためのKubernetesネイティブCDツール - Git管理のマニフェストをKubernetesにデプロイすることに特化 - CDの設定なども全てKubernetes CRDとして管理 - PFNでも導入計画中
  12. 12. Argo CD特長① - GitOps - コミットに合わせてデプロイやロールバックができる - リソースの一部だけデプロイやロールバックできる - レプリカ数の一時的な変更などのパッチも当てられる - UI - Init containerやSide carなどの状態まで確認できる - DeploymentやPodだけでなく、IngressやServiceの接続状態も確認 できる - UIからリソースの管理や操作ができる
  13. 13. Argo CD特長② - 管理機能 - OIDCによる認証 (LDAP, GitHub etc.) - RBAC - Auditing - 利便性 - Helm, jsonnet, ksonnet, kustomizeなどのツールサポート - 拡張性 - Kubernetes manifestsによるフック (PreSync, Sync, Skip, PostSync, SyncFail) - CLIで既存CIツールと連携
  14. 14. Argo CDの使いどころ Ref inovex blog: Spinnaker vs. Argo CD vs. Tekton vs. Jenkins X: Cloud-Native CI/CD https://www.inovex.de/blog/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x/
  15. 15. Argo CD Live Demo!! https://github.com/dtaniwaki/argocd-example-apps
  16. 16. Argo Rollouts - Podのデプロイを様々なストラテジーで行う - ストラテジー以外はほぼKubernetes Deploymentと同じ
  17. 17. Deploymentのストラテジー - RollingUpdate - 新しいバージョンが立ち上がる度に古いバージョンを落として全体の 数を維持する - Recreate - 古いバージョンを全て削除してから新しいバージョンを作成する
  18. 18. Rolloutのストラテジー - BlueGreen - 新しいバージョンと古いバージョンを同居させ、新しいバージョンのテス トが終わったら、トラフィックの向き先を新しいバージョンに変更する。 - Canary - 一定割合のトラフィックを新しいバージョンに分配し、徐々に新しい バージョンへのトラフィックを増やしていく。
  19. 19. Argo Rollouts今後の予定 - Experiments CRD - A/Bテストができる機能 - Rolloutsのストラテジーにも使える
  20. 20. Argo Rollouts Live Demo!! https://github.com/dtaniwaki/argocd-example-apps
  21. 21. 機能リクエストやプルリクエスト お待ちしています!
  22. 22. Thank you!
  23. 23. CI/CDとは - CI (Continuous Integration) - 共有のリポジトリのコード変更に対して自動的にビルドや テストをすること - CD (Continuous Delivery) - 自動的に新しいリリースをステージング環境または本番環 境にデプロイすること
  24. 24. なぜCI/CDは必要か - CI - エラーをできるだけ早く発見し修正する。 - インテグレーションの問題を減らす - 改修をすることに対する安心感 - CD - 毎回同じ手順でデプロイを安定にする。 - デプロイの頻度を増やすことができる。
  25. 25. Spinnakerとの比較 - UIやモニタリングがEC2へデプロイする前提となっており、 Kubernetes特有のリソースを管理することが難しい - プロジェクトのメタデータなどがDBに保存されてしまう - Spinnakerほど構成が複雑でない

×