https://github.com/kostis-codefresh/summer-of-k8s-app-manifests
Summer of Kubernetes application manifests
https://github.com/kostis-codefresh/summer-of-k8s-app-manifests
Last synced: about 1 month ago
JSON representation
Summer of Kubernetes application manifests
- Host: GitHub
- URL: https://github.com/kostis-codefresh/summer-of-k8s-app-manifests
- Owner: kostis-codefresh
- Created: 2021-07-08T09:09:05.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2021-08-03T11:47:02.000Z (almost 4 years ago)
- Last Synced: 2025-02-09T00:25:55.272Z (3 months ago)
- Size: 9.77 KB
- Stars: 2
- Watchers: 3
- Forks: 30
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Summer of K8s Example application for Argo Rollouts
This repository contains the Kubernetes manifest
for the [summer of K8s](https://www.getambassador.io/summer-of-k8s) Argo rollouts example.The actual source code is at [https://github.com/kostis-codefresh/summer-of-k8s-app](https://github.com/kostis-codefresh/summer-of-k8s-app)
## Prerequisites
1. Get access to a Kubernetes cluster
2. Install Argo Rollouts following the [instructions](https://argoproj.github.io/argo-rollouts/installation/). Be sure to install the CLI as well
3. Install Ambassador Edge stack following the [instructions](https://www.getambassador.io/docs/edge-stack/latest/tutorials/getting-started/)## Making the first deployment
```
git clone https://github.com/kostis-codefresh/summer-of-k8s-app-manifests
cd summer-of-k8s-app-manifests
kubectl create namespace demo
kubectl apply -f . -n demo
```Wait for some time for the application to come up
```
kubectl get pods -n demo
```Get the ambassdor URL
```
kubectl get svc ambassador -n ambassador
```Note down the "External IP" URL (for example 32.98.176.18)
Visit the application at https://32.98.176.18/demo/
## Make a rollout canary release
Open a second terminal and watch the canary
```
kubectl argo rollouts get rollout summer-k8s-rollout -n demo -w
```Edit file rollout.yaml
and change line `kostiscodefresh/summer-of-k8s-app:v1` to `kostiscodefresh/summer-of-k8s-app:v2`Deploy the second version
```
kubectl apply -f rollout.yaml -n demo
```See the canary status at the second terminal. It should be at 30%.
Take a screenshot to submit later in the evaluation phase.If you also visit the application again you should see some boxes
with the new version
Take a screenshot to submit later in the evaluation phase.
Promote the canary to 60% with
```
kubectl argo rollouts promote summer-k8s-rollout -n demo
```Check the dashboard and terminal again
Promote the canary two more times to reach 100%
```
kubectl argo rollouts promote summer-k8s-rollout -n demo
```Now the old version is no longer present
Submit your solution at [https://www.getambassador.io/summer-of-k8s/ship/week3/](https://www.getambassador.io/summer-of-k8s/ship/week3/)
## Cleanup
```
kubectl delete -f . -n demo
kubectl delete namespace demo
```