Skip to content

Latest commit

 

History

History
66 lines (46 loc) · 2.6 KB

README.md

File metadata and controls

66 lines (46 loc) · 2.6 KB

Argo CD workshop

Table of content

  1. Overview
  2. Installation
  3. Basic usage
  4. Organization workflow integration
  5. Application auto syncing

Overview

Argo CD is a new, lighweight Kubernetes-native continuous delivery (CD) system. "Kubernetes-native" means:

  1. Ideology - Argo CD implements GitOps paradigm for CD. The main point - Git is our single source of true. After we push our app's config changes into the app config repo - argocd syncs the app state with the changes. I.e. our changes are declarative.
  2. Implementation - Argo CD is built solely from the Kubernetes entities - custom resource definitions (CRD), a controller to process the CRDs, RBAC policies to organize security etc.

Version

Current Argo CD version is 0.12.3 Version 1.0.0-rc3 is available The Argo CD's roadmanp is here

Argo CD architecture

drawing

Argo CD's Components

  1. API server
  • application management and status reporting
  • invoking of application operations (e.g. sync, rollback, user-defined actions)
  • credential management
  • auth/authz management
  • listener/forwarder for Git webhook events
  1. Application Controller
  • adjusts the application's actual state with the desired target one
  1. Repository Server
  • maintains a local cache of the Git repository
  1. Argo CD Client
  • a CLI application to interact with the argocd server
  1. SSO adapter
  • implements integrations with external SSO providers (Github, Google Cloud, LDAP etc.)
  1. Cache
  • a Redis instance that caches frequently accessed objects

Features

  • Supports both the pull and the push-based GitOps models to sync target environments with desired application state.

  • Multiple manifests template formats: Helm, Kustomize, Ksonnet/Jsonnet or plain YAML manifests.

  • Git branch tracking or tag/commit pinning.

  • App synchronization: manual or automated.

  • Rollback to any application state committed in the git repository.

  • Continuous monitoring of deployed applications.

  • Web console with visualized app's deployment scheme, logs and health statuses.

  • Argo CD is agnostic to your CI system, and provides gRPC/REST/CLI to integrate with your CI of choice.

  • SSO Integration (OIDC, LDAP, GitHub).

  • Webhook integration (GitHub, GitLab, BitBucket).

  • Complex application rollouts (e.g., canary upgrades, blue/green) via PreSync/Sync/PostSync hooks