-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
46 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
# Disaster Recovery | ||
|
||
You can use `argocd-util` can be used to import and export all Argo CD data. | ||
|
||
Make sure you have `~/.kube/config` pointing to your Argo CD cluster. | ||
|
||
Figure out what version of Argo CD you're running: | ||
|
||
```bash | ||
argocd version | grep server | ||
# ... | ||
export VERSION=v1.0.1 | ||
``` | ||
|
||
Export to a backup: | ||
|
||
```bash | ||
docker run -v ~/.kube:/home/argocd/.kube --rm argoproj/argocd:$VERSION argocd-util export > backup.yaml | ||
``` | ||
|
||
Import from a backup: | ||
|
||
```bash | ||
docker run -v ~/.kube:/home/argocd/.kube --rm argoproj/argocd:$VERSION argocd-util import - < backup.yaml | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# High Availability | ||
|
||
Argo CD is largely stateless, all data is persisted as Kubernetes objects, which in turn is stored in Kubernetes' etcd. Redis is only used as a throw-away cache and can be lost. When lost, it will be rebuilt without loss of service. | ||
|
||
A set HA of manifests are provided for users who wish to run Argo CD in a highly available manner. This runs more containers, and run Redis in HA mode. | ||
|
||
[Manifests ⧉](https://github.com/argoproj/argo-cd/tree/master/manifests) | ||
|
||
!!! note | ||
The HA installation will require at least three different nodes due to pod anti-affinity roles in the specs. | ||
|
||
## Scaling Up | ||
|
||
You might scale up some Argo CD services in the following circumstances: | ||
|
||
* The `argocd-repo-server` can scale up when there is too much contention on a single git repo (e.g. many apps defined in a single git repo). | ||
* The `argocd-server` can scale up to support more front-end load. | ||
|
||
All other services should run with their pre-determined number of replicas. The `argocd-application-controller` must not be increased because multiple controllers will fight. The `argocd-dex-server` uses an in-memory database, and two or more instances would have inconsistent data. `argocd-redis` is pre-configured with the understanding of only three total redis servers/sentinels. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters