Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/fharper/workshops

Kubefirst workshops
https://github.com/fharper/workshops

Last synced: 24 days ago
JSON representation

Kubefirst workshops

Awesome Lists containing this project

README

        

# workshops

Kubefirst workshops.

## Argo CD Sync Waves

### Create a k3d cluster

```shell
k3d cluster create kubefirst-demo --agents "1" --agents-memory "4096m"
```

### Install Argo CD

To simply install Argo CD, you can use `kubectl`.

```shell
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
```

We suggest that you use our customization to bring back the app of apps sync wave Argo CD feature that was removed in 1.8. You can do this using that command

```shell
kubectl apply -k https://github.com/fharper/workshops/argocd/manifest
```

More information in [their documentation](https://argo-cd.readthedocs.io/en/stable/operator-manual/health/#argocd-app), and in [this issue](https://github.com/argoproj/argo-cd/issues/4577).

### Access Argo CD

Wait for the pod to run: it should go fast, but give it a couple of seconds or minutes depending on your computer. You can check the status with

```shell
kubectl get pods -n argocd
```

Once everything is running, make Argo CD UI accessible locally.

```shell
kubectl -n argocd port-forward svc/argocd-server 8080:443
```

Get the `admin` password:

```shell
# Using kubectl
kubectl get secret argocd-initial-admin-secret -n argocd -o jsonpath={".data.password"} | base64 -d

# Using argocd (Argo CD CLI)
argocd admin initial-password -n argocd
```

Now you can open Argo CD UI. You browser will complain about HTTPS, proceed anyway.

```shell
open https://localhost:8080
```

You can also log into `argocd` with the CLI

```shell
argocd login localhost:8080 --username admin --insecure
```

### Deploy the App of Apps with Sync Waves

You can either deploy the registry using `kubectl` using

```shell
kubectl apply -f https://raw.githubusercontent.com/fharper/workshops/main/argocd/sync-waves/registry/registry.yaml
```

You can also use `argocd` if you prefer

```shell
argocd app create -f https://raw.githubusercontent.com/fharper/workshops/main/argocd/sync-waves/registry/registry.yaml
```

Watch the glory of sync waves :)