|
5 | 5 | - [ArgoCD 101](#argocd-101)
|
6 | 6 | - [ArgoCD Secrets](#argocd-secrets)
|
7 | 7 | - [ArgoCD Helm](#argocd-helm)
|
8 |
| - - [Argo Questions](#argo-questions) |
| 8 | + - [Argo Rollouts](#argo-rollouts) |
| 9 | + - [ArgoCD Questions](#argocd-questions) |
9 | 10 | - [ArgoCD 101](#argocd-101-1)
|
10 | 11 | - [Practical ArgoCD 101](#practical-argocd-101)
|
11 | 12 | - [CLI](#cli)
|
|
14 | 15 | - [ArgoCD Application Health](#argocd-application-health)
|
15 | 16 | - [ArgoCD Syncs](#argocd-syncs)
|
16 | 17 | - [ArgoCD and Helm](#argocd-and-helm)
|
| 18 | + - [Argo Rollouts Questions](#argo-rollouts-questions) |
| 19 | + - [Argo Rollouts 101](#argo-rollouts-101) |
| 20 | + - [Argo Rollouts Commands](#argo-rollouts-commands) |
17 | 21 |
|
18 | 22 | ## ArgoCD Exercises
|
19 | 23 |
|
|
37 | 41 | |--------|--------|------|----|----|
|
38 | 42 | | Helm ArgoCD App | Secrets | [Exercise](exercises/argocd_helm_app/exercise.md) | [Solution](exercises/argocd_helm_app/solution.md)
|
39 | 43 |
|
40 |
| -## Argo Questions |
| 44 | +### Argo Rollouts |
| 45 | + |
| 46 | +|Name|Topic|Objective & Instructions|Solution|Comments| |
| 47 | +|--------|--------|------|----|----| |
| 48 | +| Blue/Green Rollout | Rollouts | [Exercise](exercises/blue_green_rollout/exercise.md) | [Solution](exercises/blue_green_rollout/solution.md) |
| 49 | +| Canary Rollout | Rollouts | [Exercise](exercises/canary_rollout/exercise.md) | [Solution](exercises/canary_rollout/solution.md) |
| 50 | + |
| 51 | +## ArgoCD Questions |
41 | 52 |
|
42 | 53 | ### ArgoCD 101
|
43 | 54 |
|
@@ -340,4 +351,62 @@ ArgoCD is able to track packaged Helm chart in a sense where it will monitor for
|
340 | 351 | <summary>True or False? When ArgoCD tracks Helm chart the chart is no longer an Helm application and it's a ArgoCD app</summary><br><b>
|
341 | 352 |
|
342 | 353 | True. Trying to execute commands like `helm ls` will fail because helm metadata doesn't exist anymore and the application is tracked as ArgoCD app.
|
| 354 | +</b></details> |
| 355 | + |
| 356 | +## Argo Rollouts Questions |
| 357 | + |
| 358 | +### Argo Rollouts 101 |
| 359 | + |
| 360 | +<details> |
| 361 | +<summary>What is Argo Rollouts?</summary><br><b> |
| 362 | + |
| 363 | +A controller for Kubernetes to perform application deployments using different strategies like Blue/Green deployments, Canary deployments, etc. |
| 364 | + |
| 365 | +In addition, it supports A/B tests, automatic rollbacks and integrated metric analysis. |
| 366 | +</b></details> |
| 367 | + |
| 368 | +<details> |
| 369 | +<summary>What happens when you rollout a new version of your app with argo rollouts?</summary><br><b> |
| 370 | + |
| 371 | +- Argo Rollouts creates a new replicaset (that is the new app version) |
| 372 | + - Old version is still alive |
| 373 | +- ArgoCD marks the app as out-ofsync |
| 374 | +</b></details> |
| 375 | + |
| 376 | +### Argo Rollouts Commands |
| 377 | + |
| 378 | +<details> |
| 379 | +<summary>How to list rollouts?</summary><br><b> |
| 380 | + |
| 381 | +`kubectl argo rollouts list rollouts` |
| 382 | +</b></details> |
| 383 | + |
| 384 | +<details> |
| 385 | +<summary>How to list the rollouts of a given application?</summary><br><b> |
| 386 | + |
| 387 | +`kubectl argo rollouts get rollout SOME-APP` |
| 388 | +</b></details> |
| 389 | + |
| 390 | +<details> |
| 391 | +<summary>How to check the status of a rollout?</summary><br><b> |
| 392 | + |
| 393 | +`kubectl argo rollouts status SOME-APP` |
| 394 | +</b></details> |
| 395 | + |
| 396 | +<details> |
| 397 | +<summary>How to rollout a new version (with new container tag)?</summary><br><b> |
| 398 | + |
| 399 | +`kubectl argo rollouts set image SOME-APP web-app=some/registry/and/image:v2.0` |
| 400 | +</b></details> |
| 401 | + |
| 402 | +<details> |
| 403 | +<summary>How to manually promote to new app version?</summary><br><b> |
| 404 | + |
| 405 | +`kubectl argo rollouts promote SOME-APP` |
| 406 | +</b></details> |
| 407 | + |
| 408 | +<details> |
| 409 | +<summary>How do you monitor a rollout?</summary><br><b> |
| 410 | + |
| 411 | +`kubectl argo rollouts get rollout SOME-APP --watch` |
343 | 412 | </b></details>
|
0 commit comments