diff --git a/docs/gitbook/install/flagger-install-on-kubernetes.md b/docs/gitbook/install/flagger-install-on-kubernetes.md index 92b601fd..129d76b6 100644 --- a/docs/gitbook/install/flagger-install-on-kubernetes.md +++ b/docs/gitbook/install/flagger-install-on-kubernetes.md @@ -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: diff --git a/docs/gitbook/usage/gloo-progressive-delivery.md b/docs/gitbook/usage/gloo-progressive-delivery.md index bb68506b..2529d126 100644 --- a/docs/gitbook/usage/gloo-progressive-delivery.md +++ b/docs/gitbook/usage/gloo-progressive-delivery.md @@ -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: diff --git a/docs/gitbook/usage/nginx-progressive-delivery.md b/docs/gitbook/usage/nginx-progressive-delivery.md index ea686b96..b5fedb4b 100644 --- a/docs/gitbook/usage/nginx-progressive-delivery.md +++ b/docs/gitbook/usage/nginx-progressive-delivery.md @@ -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 \ diff --git a/test/e2e-gloo-tests.sh b/test/e2e-gloo-tests.sh index eea2b99b..f686a0b1 100755 --- a/test/e2e-gloo-tests.sh +++ b/test/e2e-gloo-tests.sh @@ -27,10 +27,9 @@ spec: virtualHost: domains: - app.example.com - name: podinfo routes: - - matcher: - prefix: / + - matchers: + - prefix: / routeAction: upstreamGroup: name: podinfo @@ -79,13 +78,13 @@ spec: timeout: 10s metadata: type: bash - cmd: "curl -sd 'test' -H 'Host: app.example.com' http://gateway-proxy-v2.gloo-system/token | grep token" + cmd: "curl -sd 'test' -H 'Host: app.example.com' http://gateway-proxy.gloo-system/token | grep token" - name: load-test url: http://flagger-loadtester.test/ 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" logCmdOutput: "true" EOF diff --git a/test/e2e-gloo.sh b/test/e2e-gloo.sh index 83c1edf5..6d5036b3 100755 --- a/test/e2e-gloo.sh +++ b/test/e2e-gloo.sh @@ -2,17 +2,18 @@ set -o errexit -GLOO_VER="0.20.2" +GLOO_VER="1.3.5" REPO_ROOT=$(git rev-parse --show-toplevel) echo '>>> Installing Gloo' helm repo add gloo https://storage.googleapis.com/solo-public-helm +kubectl create ns gloo-system helm upgrade -i gloo gloo/gloo --version ${GLOO_VER} \ --namespace gloo-system \ --set discovery.enabled=true kubectl -n gloo-system rollout status deployment/gloo -kubectl -n gloo-system rollout status deployment/gateway-proxy-v2 +kubectl -n gloo-system rollout status deployment/gateway kubectl -n gloo-system get all echo '>>> Installing Flagger' diff --git a/test/e2e-istio.sh b/test/e2e-istio.sh index 7d43a676..b655af2b 100755 --- a/test/e2e-istio.sh +++ b/test/e2e-istio.sh @@ -2,10 +2,11 @@ set -o errexit -ISTIO_VER="1.4.3" +ISTIO_VER="1.4.4" REPO_ROOT=$(git rev-parse --show-toplevel) echo ">>> Installing Istio ${ISTIO_VER}" +kubectl create ns istio-system helm repo add istio.io https://storage.googleapis.com/istio-release/releases/${ISTIO_VER}/charts echo '>>> Installing Istio CRDs' diff --git a/test/e2e-kind.sh b/test/e2e-kind.sh index 4298cf96..762da168 100755 --- a/test/e2e-kind.sh +++ b/test/e2e-kind.sh @@ -3,7 +3,7 @@ set -o errexit REPO_ROOT=$(git rev-parse --show-toplevel) -HELM_VERSION=v2.16.1 +HELM_VERSION=v3.0.3 KIND_VERSION=v0.7.0 KUBE_VERSION=v1.14.10 @@ -28,8 +28,4 @@ kubectl get pods --all-namespaces echo ">>> Installing Helm" curl -sSL https://get.helm.sh/helm-${HELM_VERSION}-linux-amd64.tar.gz | tar xz && sudo mv linux-amd64/helm /usr/local/bin/ && rm -rf linux-amd64 - -echo '>>> Installing Tiller' -kubectl --namespace kube-system create sa tiller -kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller -helm init --service-account tiller --upgrade --wait +helm repo add stable https://kubernetes-charts.storage.googleapis.com/ diff --git a/test/e2e-linkerd.sh b/test/e2e-linkerd.sh index db6e8791..1657d68d 100755 --- a/test/e2e-linkerd.sh +++ b/test/e2e-linkerd.sh @@ -2,7 +2,7 @@ set -o errexit -LINKERD_VER="stable-2.6.1" +LINKERD_VER="stable-2.7.0" REPO_ROOT=$(git rev-parse --show-toplevel) curl -SsL https://github.com/linkerd/linkerd2/releases/download/${LINKERD_VER}/linkerd2-cli-${LINKERD_VER}-linux > ${REPO_ROOT}/bin/linkerd diff --git a/test/e2e-nginx-cleanup.sh b/test/e2e-nginx-cleanup.sh index c7f43af9..c27e482a 100755 --- a/test/e2e-nginx-cleanup.sh +++ b/test/e2e-nginx-cleanup.sh @@ -3,10 +3,10 @@ set -o errexit echo '>>> Deleting NGINX Ingress' -helm delete --purge nginx-ingress +helm delete nginx-ingress -n ingress-nginx echo '>>> Deleting Flagger' -helm delete --purge flagger +helm delete flagger -n ingress-nginx echo '>>> Cleanup test namespace' kubectl delete namespace test --ignore-not-found=true \ No newline at end of file diff --git a/test/e2e-nginx-custom-annotations.sh b/test/e2e-nginx-custom-annotations.sh index c2eb9bf6..3ae36f6c 100755 --- a/test/e2e-nginx-custom-annotations.sh +++ b/test/e2e-nginx-custom-annotations.sh @@ -25,8 +25,7 @@ echo '>>> Loading Flagger image' kind load docker-image test/flagger:latest echo '>>> Installing Flagger' -helm install ${REPO_ROOT}/charts/flagger \ ---name flagger \ +helm upgrade -i flagger ${REPO_ROOT}/charts/flagger \ --namespace ingress-nginx \ --set prometheus.install=true \ --set ingressAnnotationsPrefix="custom.ingress.kubernetes.io" \ diff --git a/test/e2e-nginx.sh b/test/e2e-nginx.sh index a4b0221b..cb506e64 100755 --- a/test/e2e-nginx.sh +++ b/test/e2e-nginx.sh @@ -6,6 +6,7 @@ REPO_ROOT=$(git rev-parse --show-toplevel) NGINX_VERSION=1.26.0 echo '>>> Installing NGINX Ingress' +kubectl create ns ingress-nginx helm upgrade -i nginx-ingress stable/nginx-ingress --version=${NGINX_VERSION} \ --wait \ --namespace ingress-nginx \