Merge pull request #438 from weaveworks/e2e-updates

Update e2e tests and docs
This commit is contained in:
Stefan Prodan
2020-02-13 18:14:36 +02:00
committed by GitHub
11 changed files with 36 additions and 47 deletions
@@ -1,13 +1,10 @@
# Flagger install on Kubernetes
This guide walks you through setting up Flagger on a Kubernetes cluster with Helm or Kustomize.
This guide walks you through setting up Flagger on a Kubernetes cluster with Helm v3 or Kustomize.
### Prerequisites
Flagger requires a Kubernetes cluster **v1.11** or newer with the following admission controllers enabled:
* MutatingAdmissionWebhook
* ValidatingAdmissionWebhook
Flagger requires a Kubernetes cluster **v1.11** or newer.
### Install Flagger with Helm
@@ -75,25 +72,24 @@ helm upgrade -i flagger flagger/flagger \
--set msteams.url=https://outlook.office.com/webhook/YOUR/TEAMS/WEBHOOK
```
If you don't have Tiller you can use the helm template command and apply the generated yaml with kubectl:
You can use the helm template command and apply the generated yaml with kubectl:
```bash
# generate
helm fetch --untar --untardir . flagger/flagger &&
helm template flagger \
--name flagger \
helm template flagger ./flagger \
--namespace=istio-system \
--set metricsServer=http://prometheus.istio-system:9090 \
> $HOME/flagger.yaml
> flagger.yaml
# apply
kubectl apply -f $HOME/flagger.yaml
kubectl apply -f flagger.yaml
```
To uninstall the Flagger release with Helm run:
```text
helm delete --purge flagger
helm delete flagger
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
@@ -127,13 +123,12 @@ Or use helm template command and apply the generated yaml with kubectl:
```bash
# generate
helm fetch --untar --untardir . flagger/grafana &&
helm template grafana \
--name flagger-grafana \
helm template flagger-grafana ./grafana \
--namespace=istio-system \
> $HOME/flagger-grafana.yaml
> flagger-grafana.yaml
# apply
kubectl apply -f $HOME/flagger-grafana.yaml
kubectl apply -f flagger-grafana.yaml
```
You can access Grafana using port forwarding:
@@ -6,13 +6,13 @@ This guide shows you how to use the [Gloo](https://gloo.solo.io/) ingress contro
### Prerequisites
Flagger requires a Kubernetes cluster **v1.11** or newer and Gloo ingress **0.13.29** or newer.
Flagger requires a Kubernetes cluster **v1.11** or newer and Gloo ingress **1.3.5** or newer.
Install Gloo with Helm:
Install Gloo with Helm v3:
```bash
helm repo add gloo https://storage.googleapis.com/solo-public-helm
kubectl create ns gloo-system
helm upgrade -i gloo gloo/gloo \
--namespace gloo-system
```
@@ -76,10 +76,9 @@ spec:
virtualHost:
domains:
- 'app.example.com'
name: podinfo.test
routes:
- matcher:
prefix: /
- matchers:
- prefix: /
routeAction:
upstreamGroup:
name: podinfo
@@ -112,9 +111,6 @@ spec:
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
name: podinfo
# the maximum time in seconds for the canary deployment
# to make progress before it is rollback (default 600s)
progressDeadlineSeconds: 60
service:
# ClusterIP port number
port: 9898
@@ -143,7 +139,7 @@ spec:
# milliseconds
threshold: 500
interval: 30s
# testing (optinal)
# testing (optional)
webhooks:
- name: acceptance-test
type: pre-rollout
@@ -157,7 +153,7 @@ spec:
timeout: 5s
metadata:
type: cmd
cmd: "hey -z 2m -q 5 -c 2 -host app.example.com http://gateway-proxy-v2.gloo-system"
cmd: "hey -z 2m -q 5 -c 2 -host app.example.com http://gateway-proxy.gloo-system"
```
Save the above resource as podinfo-canary.yaml and then apply it:
@@ -348,7 +344,7 @@ podinfod=stefanprodan/podinfo:3.1.3
Generate 404s:
```bash
watch curl -H 'Host: app.example.com' http://gateway-proxy-v2.gloo-system/status/400
watch curl -H 'Host: app.example.com' http://gateway-proxy.gloo-system/status/400
```
Watch Flagger logs:
@@ -8,9 +8,10 @@ This guide shows you how to use the NGINX ingress controller and Flagger to auto
Flagger requires a Kubernetes cluster **v1.11** or newer and NGINX ingress **0.24** or newer.
Install NGINX with Helm:
Install NGINX with Helm v3:
```bash
kubectl create ns ingress-nginx
helm upgrade -i nginx-ingress stable/nginx-ingress \
--namespace ingress-nginx \
--set controller.stats.enabled=true \