Understand Progressive Delivery
Get hands-on! Deploy with GitOps & ArgoCD
Understand progressive delivery and deploying apps with ArgoCD
Understand progressive delivery
With a GitOps deployment approach, Argo continuously monitors a Git repository with Kubernetes manifests for commits and actively pulls changes from the repo, syncing them with cluster resources. This pull-and-sync reconciliation process continuously harmonizes the state of the cluster configuration with the state described in Git.
Continuous monitoring and syncing helps to eliminate the common problem of configuration drift, which often occurs when clusters are configured differently. Unexpected configuration differences are one of the most common reasons why deployments fail, but Argo can prevent this “drift”, or at the very least provide a traceable path to understand the cluster deployment history and detect out-of-sync deployments.
Progressive delivery relies on automated rollouts to incrementally and iteratively release features and easily roll back if needed. This is designed to make the process safe and reduce the blast radius of any problems. Making the progressive delivery process easier, or more developer friendly, is where GitOps shines. Using GitOps means that everything is defined as code, which lives in Git.
Hands-on! K8s Continuous delivery with GitOps and Argo CD
- You'll need access to a Kubernetes cluster, either running remotely (e.g. GKE) or locally (e.g. kind).
- We recommend a remote cluster for this lesson, as there may be some limitations with using a local cluster. Remote demo clusters are available via Telepresence
Install and explore ArgoCD
- Follow the ArgoCD getting started.
- For step 3, use the "Port forwarding" mechanism
- For step 6, before creating the guestbook application, fork the guestbook repo into your own GitHub account and use your new repo URL
Be sure to view the sample guestbook application using "kubectl port-forward" e.g. "kubectl port-forward svc/guestbook-ui 8090:80" and open "localhost:8090" in your browser
Install Edge Stack and deploy a Mapping via ArgoCD
Install the Edge Stack into your cluster.
- If you want to get hold of an edgestack/me domain name and configure TLS, the easier installation mechanism to use is "edgectl install" which is located under the "Quick CLI Install" instructions in Step 1
Commit an Edge Stack Mapping for the guestbook-ui service into the guestbook directory of your forked ArgoCD getting started repo.
- Refresh and Sync via ArgoCD
- View the guestbook via this Mapping
Find out what you can learn next.