From 578ebcf6ed89b409459b73c4658840489d059414 Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Sat, 23 Mar 2019 11:20:51 +0200 Subject: [PATCH 01/15] Use pod name filter in Envoy metrics query Add support for Weave Cloud Prometheus agent --- Makefile | 2 +- pkg/controller/observer.go | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 6ccac1be..109302aa 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ run: run-appmesh: go run cmd/flagger/* -kubeconfig=$$HOME/.kube/config -log-level=info -mesh-provider=appmesh \ - -metrics-server=http://ab3325177465c11e9a94c02c4171f346-2027522465.us-west-2.elb.amazonaws.com:9090 \ + -metrics-server=http://acfc235624ca911e9a94c02c4171f346-1585187926.us-west-2.elb.amazonaws.com:9090 \ -slack-url=https://hooks.slack.com/services/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 \ -slack-channel="devops-alerts" diff --git a/pkg/controller/observer.go b/pkg/controller/observer.go index 1e846c6f..19eabff0 100644 --- a/pkg/controller/observer.go +++ b/pkg/controller/observer.go @@ -114,11 +114,12 @@ func (c *CanaryObserver) GetEnvoySuccessRate(name string, namespace string, metr var rate *float64 querySt := url.QueryEscape(`sum(rate(` + metric + `{kubernetes_namespace="` + - namespace + `",app="` + - name + `",envoy_response_code!~"5.*"}[1m])) / sum(rate(` + + namespace + `",kubernetes_pod_name=~"` + + name + `-[0-9a-zA-Z]+(-[0-9a-zA-Z]+)",envoy_response_code!~"5.*"}[` + + interval + `])) / sum(rate(` + metric + `{kubernetes_namespace="` + - namespace + `",app="` + - name + `"}[` + + namespace + `",kubernetes_pod_name=~"` + + name + `-[0-9a-zA-Z]+(-[0-9a-zA-Z]+)"}[` + interval + `])) * 100 `) result, err := c.queryMetric(querySt) if err != nil { @@ -152,7 +153,8 @@ func (c *CanaryObserver) GetDeploymentCounter(name string, namespace string, met querySt := url.QueryEscape(`sum(rate(` + metric + `{reporter="destination",destination_workload_namespace=~"` + namespace + `",destination_workload=~"` + - name + `",response_code!~"5.*"}[1m])) / sum(rate(` + + name + `",response_code!~"5.*"}[` + + interval + `])) / sum(rate(` + metric + `{reporter="destination",destination_workload_namespace=~"` + namespace + `",destination_workload=~"` + name + `"}[` + From 941be1576221b71980fcdf4181fc52893c3b964b Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Sat, 23 Mar 2019 11:25:31 +0200 Subject: [PATCH 02/15] Fix typo in comments --- pkg/controller/scheduler.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/controller/scheduler.go b/pkg/controller/scheduler.go index ad8c014c..0a8e92b1 100644 --- a/pkg/controller/scheduler.go +++ b/pkg/controller/scheduler.go @@ -25,7 +25,7 @@ func (c *Controller) scheduleCanaries() { current[name] = fmt.Sprintf("%s.%s", canary.Spec.TargetRef.Name, canary.Namespace) job, exists := c.jobs[name] - // schedule new job for exsiting job with different analysisInterval or non-existing job + // schedule new job for existing job with different analysis interval or non-existing job if (exists && job.GetCanaryAnalysisInterval() != canary.GetAnalysisInterval()) || !exists { if exists { job.Stop() From ae0351ddad1b4fa80a0ce916d7162cde461c8e1b Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Sat, 23 Mar 2019 11:25:39 +0200 Subject: [PATCH 03/15] Exclude the namespace from AppMesh object names ref: https://github.com/aws/aws-app-mesh-controller-for-k8s/issues/14 --- pkg/router/appmesh.go | 22 +++++++++++----------- pkg/router/appmesh_test.go | 4 ++-- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/pkg/router/appmesh.go b/pkg/router/appmesh.go index 69e40bcd..92610674 100644 --- a/pkg/router/appmesh.go +++ b/pkg/router/appmesh.go @@ -37,21 +37,21 @@ func (ar *AppMeshRouter) Sync(canary *flaggerv1.Canary) error { // sync virtual node e.g. app-namespace // DNS app.namespace - err := ar.syncVirtualNode(canary, fmt.Sprintf("%s-%s", targetName, canary.Namespace), primaryHost) + err := ar.syncVirtualNode(canary, targetName, primaryHost) if err != nil { return err } // sync virtual node e.g. app-primary-namespace // DNS app-primary.namespace - err = ar.syncVirtualNode(canary, fmt.Sprintf("%s-%s", primaryName, canary.Namespace), primaryHost) + err = ar.syncVirtualNode(canary, primaryName, primaryHost) if err != nil { return err } // sync virtual node e.g. app-canary-namespace // DNS app-canary.namespace - err = ar.syncVirtualNode(canary, fmt.Sprintf("%s-%s", canaryName, canary.Namespace), canaryHost) + err = ar.syncVirtualNode(canary, canaryName, canaryHost) if err != nil { return err } @@ -150,8 +150,8 @@ func (ar *AppMeshRouter) syncVirtualNode(canary *flaggerv1.Canary, name string, // syncVirtualService creates or updates a virtual service func (ar *AppMeshRouter) syncVirtualService(canary *flaggerv1.Canary, name string) error { targetName := canary.Spec.TargetRef.Name - canaryVirtualNode := fmt.Sprintf("%s-canary-%s", targetName, canary.Namespace) - primaryVirtualNode := fmt.Sprintf("%s-primary-%s", targetName, canary.Namespace) + canaryVirtualNode := fmt.Sprintf("%s-canary", targetName) + primaryVirtualNode := fmt.Sprintf("%s-primary", targetName) // App Mesh supports only URI prefix routePrefix := "/" @@ -164,11 +164,11 @@ func (ar *AppMeshRouter) syncVirtualService(canary *flaggerv1.Canary, name strin vsSpec := &appmeshv1alpha1.VirtualServiceSpec{ MeshName: canary.Spec.Service.MeshName, VirtualRouter: &appmeshv1alpha1.VirtualRouter{ - Name: fmt.Sprintf("%s-%s-router", targetName, canary.Namespace), + Name: fmt.Sprintf("%s-router", targetName), }, Routes: []appmeshv1alpha1.Route{ { - Name: fmt.Sprintf("%s-%s-route", targetName, canary.Namespace), + Name: fmt.Sprintf("%s-route", targetName), Http: appmeshv1alpha1.HttpRoute{ Match: appmeshv1alpha1.HttpRouteMatch{ Prefix: routePrefix, @@ -265,10 +265,10 @@ func (ar *AppMeshRouter) GetRoutes(canary *flaggerv1.Canary) ( targets := vs.Spec.Routes[0].Http.Action.WeightedTargets for _, t := range targets { - if t.VirtualNodeName == fmt.Sprintf("%s-canary-%s", targetName, canary.Namespace) { + if t.VirtualNodeName == fmt.Sprintf("%s-canary", targetName) { canaryWeight = int(t.Weight) } - if t.VirtualNodeName == fmt.Sprintf("%s-primary-%s", targetName, canary.Namespace) { + if t.VirtualNodeName == fmt.Sprintf("%s-primary", targetName) { primaryWeight = int(t.Weight) } } @@ -301,11 +301,11 @@ func (ar *AppMeshRouter) SetRoutes( vsClone.Spec.Routes[0].Http.Action = appmeshv1alpha1.HttpRouteAction{ WeightedTargets: []appmeshv1alpha1.WeightedTarget{ { - VirtualNodeName: fmt.Sprintf("%s-canary-%s", targetName, canary.Namespace), + VirtualNodeName: fmt.Sprintf("%s-canary", targetName), Weight: int64(canaryWeight), }, { - VirtualNodeName: fmt.Sprintf("%s-primary-%s", targetName, canary.Namespace), + VirtualNodeName: fmt.Sprintf("%s-primary", targetName), Weight: int64(primaryWeight), }, }, diff --git a/pkg/router/appmesh_test.go b/pkg/router/appmesh_test.go index 13fd88b8..8f7a20d1 100644 --- a/pkg/router/appmesh_test.go +++ b/pkg/router/appmesh_test.go @@ -38,7 +38,7 @@ func TestAppmeshRouter_Sync(t *testing.T) { } // check virtual node - vnName := fmt.Sprintf("%s-%s", mocks.appmeshCanary.Spec.TargetRef.Name, mocks.appmeshCanary.Namespace) + vnName := mocks.appmeshCanary.Spec.TargetRef.Name vn, err := router.appmeshClient.AppmeshV1alpha1().VirtualNodes("default").Get(vnName, metav1.GetOptions{}) if err != nil { t.Fatal(err.Error()) @@ -72,7 +72,7 @@ func TestAppmeshRouter_Sync(t *testing.T) { } // verify - vnCanaryName := fmt.Sprintf("%s-canary-%s", mocks.appmeshCanary.Spec.TargetRef.Name, mocks.appmeshCanary.Namespace) + vnCanaryName := fmt.Sprintf("%s-canary", mocks.appmeshCanary.Spec.TargetRef.Name) vnCanary, err := router.appmeshClient.AppmeshV1alpha1().VirtualNodes("default").Get(vnCanaryName, metav1.GetOptions{}) if err != nil { t.Fatal(err.Error()) From 419c1804b6b1c86740fdeb89c10d14346c1c9eaf Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Sat, 23 Mar 2019 13:21:52 +0200 Subject: [PATCH 04/15] Add App Mesh telemetry deployment --- artifacts/eks/appmesh-prometheus.yaml | 264 ++++++++++++++++++++++++++ 1 file changed, 264 insertions(+) create mode 100644 artifacts/eks/appmesh-prometheus.yaml diff --git a/artifacts/eks/appmesh-prometheus.yaml b/artifacts/eks/appmesh-prometheus.yaml new file mode 100644 index 00000000..c9386d6f --- /dev/null +++ b/artifacts/eks/appmesh-prometheus.yaml @@ -0,0 +1,264 @@ +--- +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRole +metadata: + name: prometheus + labels: + app: prometheus +rules: + - apiGroups: [""] + resources: + - nodes + - services + - endpoints + - pods + - nodes/proxy + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: + - configmaps + verbs: ["get"] + - nonResourceURLs: ["/metrics"] + verbs: ["get"] +--- +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRoleBinding +metadata: + name: prometheus + labels: + app: prometheus +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: prometheus +subjects: + - kind: ServiceAccount + name: prometheus + namespace: appmesh-system +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: prometheus + namespace: appmesh-system + labels: + app: prometheus +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: prometheus + namespace: appmesh-system + labels: + app: prometheus +data: + prometheus.yml: |- + global: + scrape_interval: 5s + scrape_configs: + + # Scrape config for AppMesh Envoy sidecar + - job_name: 'appmesh-envoy' + metrics_path: /stats/prometheus + kubernetes_sd_configs: + - role: pod + + relabel_configs: + - source_labels: [__meta_kubernetes_pod_container_name] + action: keep + regex: '^envoy$' + - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port] + action: replace + regex: ([^:]+)(?::\d+)?;(\d+) + replacement: ${1}:9901 + target_label: __address__ + - action: labelmap + regex: __meta_kubernetes_pod_label_(.+) + - source_labels: [__meta_kubernetes_namespace] + action: replace + target_label: kubernetes_namespace + - source_labels: [__meta_kubernetes_pod_name] + action: replace + target_label: kubernetes_pod_name + + # Exclude high cardinality metrics + metric_relabel_configs: + - source_labels: [ cluster_name ] + regex: '(outbound|inbound|prometheus_stats).*' + action: drop + - source_labels: [ tcp_prefix ] + regex: '(outbound|inbound|prometheus_stats).*' + action: drop + - source_labels: [ listener_address ] + regex: '(.+)' + action: drop + - source_labels: [ http_conn_manager_listener_prefix ] + regex: '(.+)' + action: drop + - source_labels: [ http_conn_manager_prefix ] + regex: '(.+)' + action: drop + - source_labels: [ __name__ ] + regex: 'envoy_tls.*' + action: drop + - source_labels: [ __name__ ] + regex: 'envoy_tcp_downstream.*' + action: drop + - source_labels: [ __name__ ] + regex: 'envoy_http_(stats|admin).*' + action: drop + - source_labels: [ __name__ ] + regex: 'envoy_cluster_(lb|retry|bind|internal|max|original).*' + action: drop + + # Scrape config for API servers + - job_name: 'kubernetes-apiservers' + kubernetes_sd_configs: + - role: endpoints + namespaces: + names: + - default + scheme: https + tls_config: + ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token + relabel_configs: + - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] + action: keep + regex: kubernetes;https + + # Scrape config for nodes + - job_name: 'kubernetes-nodes' + scheme: https + tls_config: + ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token + kubernetes_sd_configs: + - role: node + relabel_configs: + - action: labelmap + regex: __meta_kubernetes_node_label_(.+) + - target_label: __address__ + replacement: kubernetes.default.svc:443 + - source_labels: [__meta_kubernetes_node_name] + regex: (.+) + target_label: __metrics_path__ + replacement: /api/v1/nodes/${1}/proxy/metrics + + # scrape config for cAdvisor + - job_name: 'kubernetes-cadvisor' + scheme: https + tls_config: + ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token + kubernetes_sd_configs: + - role: node + relabel_configs: + - action: labelmap + regex: __meta_kubernetes_node_label_(.+) + - target_label: __address__ + replacement: kubernetes.default.svc:443 + - source_labels: [__meta_kubernetes_node_name] + regex: (.+) + target_label: __metrics_path__ + replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor + + # scrape config for pods + - job_name: kubernetes-pods + kubernetes_sd_configs: + - role: pod + relabel_configs: + - action: keep + regex: true + source_labels: + - __meta_kubernetes_pod_annotation_prometheus_io_scrape + - source_labels: [ __address__ ] + regex: '.*9901.*' + action: drop + - action: replace + regex: (.+) + source_labels: + - __meta_kubernetes_pod_annotation_prometheus_io_path + target_label: __metrics_path__ + - action: replace + regex: ([^:]+)(?::\d+)?;(\d+) + replacement: $1:$2 + source_labels: + - __address__ + - __meta_kubernetes_pod_annotation_prometheus_io_port + target_label: __address__ + - action: labelmap + regex: __meta_kubernetes_pod_label_(.+) + - action: replace + source_labels: + - __meta_kubernetes_namespace + target_label: kubernetes_namespace + - action: replace + source_labels: + - __meta_kubernetes_pod_name + target_label: kubernetes_pod_name +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: prometheus + namespace: appmesh-system + labels: + app: prometheus +spec: + replicas: 1 + selector: + matchLabels: + app: prometheus + template: + metadata: + labels: + app: prometheus + annotations: + version: "appmesh-v1alpha1" + spec: + serviceAccountName: prometheus + containers: + - name: prometheus + image: "docker.io/prom/prometheus:v2.7.1" + imagePullPolicy: IfNotPresent + args: + - '--storage.tsdb.retention=6h' + - '--config.file=/etc/prometheus/prometheus.yml' + ports: + - containerPort: 9090 + name: http + livenessProbe: + httpGet: + path: /-/healthy + port: 9090 + readinessProbe: + httpGet: + path: /-/ready + port: 9090 + resources: + requests: + cpu: 10m + memory: 128Mi + volumeMounts: + - name: config-volume + mountPath: /etc/prometheus + volumes: + - name: config-volume + configMap: + name: prometheus +--- +apiVersion: v1 +kind: Service +metadata: + name: prometheus + namespace: appmesh-system + labels: + name: prometheus +spec: + selector: + app: prometheus + ports: + - name: http + protocol: TCP + port: 9090 From 39fd3d46ba59f0a7e82e637a82ef4a5f64a17e84 Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Sat, 23 Mar 2019 13:22:33 +0200 Subject: [PATCH 05/15] Add App Mesh ingress gateway deployment --- artifacts/eks/appmesh-gateway.yaml | 159 +++++++++++++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 artifacts/eks/appmesh-gateway.yaml diff --git a/artifacts/eks/appmesh-gateway.yaml b/artifacts/eks/appmesh-gateway.yaml new file mode 100644 index 00000000..aa3ba348 --- /dev/null +++ b/artifacts/eks/appmesh-gateway.yaml @@ -0,0 +1,159 @@ +--- +kind: ConfigMap +apiVersion: v1 +metadata: + name: ingress-config + namespace: test + labels: + app: ingress +data: + envoy.yaml: | + static_resources: + listeners: + - address: + socket_address: + address: 0.0.0.0 + port_value: 80 + filter_chains: + - filters: + - name: envoy.http_connection_manager + config: + access_log: + - name: envoy.file_access_log + config: + path: /dev/stdout + codec_type: auto + stat_prefix: ingress_http + http_filters: + - name: envoy.router + config: {} + route_config: + name: local_route + virtual_hosts: + - name: local_service + domains: ["*"] + routes: + - match: + prefix: "/" + route: + cluster: frontend + host_rewrite: frontend.test + timeout: 15s + retry_policy: + retry_on: "gateway-error,connect-failure,refused-stream" + num_retries: 10 + per_try_timeout: 5s + clusters: + - name: frontend + connect_timeout: 0.30s + type: strict_dns + lb_policy: round_robin + http2_protocol_options: {} + hosts: + - socket_address: + address: frontend.test + port_value: 9898 + admin: + access_log_path: /dev/null + address: + socket_address: + address: 0.0.0.0 + port_value: 9999 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ingress + namespace: test + labels: + app: ingress +spec: + replicas: 1 + selector: + matchLabels: + app: ingress + strategy: + type: RollingUpdate + rollingUpdate: + maxUnavailable: 0 + template: + metadata: + labels: + app: ingress + annotations: + prometheus.io/path: "/stats/prometheus" + prometheus.io/port: "9999" + prometheus.io/scrape: "true" + # dummy port to exclude ingress from mesh traffic + # only egress should go over the mesh + appmesh.k8s.aws/ports: "444" + spec: + terminationGracePeriodSeconds: 30 + containers: + - name: ingress + image: "envoyproxy/envoy-alpine:d920944aed67425f91fc203774aebce9609e5d9a" + securityContext: + capabilities: + drop: + - ALL + add: + - NET_BIND_SERVICE + command: + - /usr/bin/dumb-init + - -- + args: + - /usr/local/bin/envoy + - --base-id 30 + - --v2-config-only + - -l + - $loglevel + - -c + - /config/envoy.yaml + ports: + - name: admin + containerPort: 9999 + protocol: TCP + - name: http + containerPort: 80 + protocol: TCP + - name: https + containerPort: 443 + protocol: TCP + livenessProbe: + initialDelaySeconds: 5 + tcpSocket: + port: admin + readinessProbe: + initialDelaySeconds: 5 + tcpSocket: + port: admin + resources: + requests: + cpu: 100m + memory: 64Mi + volumeMounts: + - name: config + mountPath: /config + volumes: + - name: config + configMap: + name: ingress-config +--- +kind: Service +apiVersion: v1 +metadata: + name: ingress + namespace: test +spec: + selector: + app: ingress + ports: + - protocol: TCP + name: http + port: 80 + targetPort: 80 + - protocol: TCP + name: https + port: 443 + targetPort: 443 + type: LoadBalancer From d222dd1069359405c5ffc9ed50b733a5f5e1593b Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Sat, 23 Mar 2019 13:38:57 +0200 Subject: [PATCH 06/15] Change GitHub raw URLs to Weaveworks org --- charts/flagger/Chart.yaml | 2 +- charts/grafana/Chart.yaml | 2 +- charts/grafana/README.md | 2 +- charts/loadtester/Chart.yaml | 2 +- docs/gitbook/README.md | 2 +- docs/gitbook/how-it-works.md | 8 +++---- .../install/flagger-install-on-eks-appmesh.md | 23 ++++++++++++------- .../flagger-install-on-google-cloud.md | 8 +++---- .../install/flagger-install-on-kubernetes.md | 2 +- docs/gitbook/tutorials/canary-helm-gitops.md | 12 +++++----- docs/gitbook/usage/ab-testing.md | 4 ++-- docs/gitbook/usage/alerting.md | 4 ++-- docs/gitbook/usage/monitoring.md | 2 +- docs/gitbook/usage/progressive-delivery.md | 2 +- 14 files changed, 41 insertions(+), 34 deletions(-) diff --git a/charts/flagger/Chart.yaml b/charts/flagger/Chart.yaml index 2a2c3f8d..5491e73c 100644 --- a/charts/flagger/Chart.yaml +++ b/charts/flagger/Chart.yaml @@ -6,7 +6,7 @@ kubeVersion: ">=1.11.0-0" engine: gotpl description: Flagger is a Kubernetes operator that automates the promotion of canary deployments using Istio routing for traffic shifting and Prometheus metrics for canary analysis. home: https://docs.flagger.app -icon: https://raw.githubusercontent.com/stefanprodan/flagger/master/docs/logo/flagger-icon.png +icon: https://raw.githubusercontent.com/weaveworks/flagger/master/docs/logo/flagger-icon.png sources: - https://github.com/weaveworks/flagger maintainers: diff --git a/charts/grafana/Chart.yaml b/charts/grafana/Chart.yaml index b515e7a0..9c985be8 100644 --- a/charts/grafana/Chart.yaml +++ b/charts/grafana/Chart.yaml @@ -3,7 +3,7 @@ name: grafana version: 1.0.0 appVersion: 5.4.3 description: Grafana dashboards for monitoring Flagger canary deployments -icon: https://raw.githubusercontent.com/stefanprodan/flagger/master/docs/logo/flagger-icon.png +icon: https://raw.githubusercontent.com/weaveworks/flagger/master/docs/logo/flagger-icon.png home: https://flagger.app sources: - https://github.com/weaveworks/flagger diff --git a/charts/grafana/README.md b/charts/grafana/README.md index 913436c2..15c54f98 100644 --- a/charts/grafana/README.md +++ b/charts/grafana/README.md @@ -2,7 +2,7 @@ Grafana dashboards for monitoring progressive deployments powered by Istio, Prometheus and Flagger. -![flagger-grafana](https://raw.githubusercontent.com/stefanprodan/flagger/master/docs/screens/grafana-canary-analysis.png) +![flagger-grafana](https://raw.githubusercontent.com/weaveworks/flagger/master/docs/screens/grafana-canary-analysis.png) ## Prerequisites diff --git a/charts/loadtester/Chart.yaml b/charts/loadtester/Chart.yaml index 01a00e86..9743f58b 100644 --- a/charts/loadtester/Chart.yaml +++ b/charts/loadtester/Chart.yaml @@ -6,7 +6,7 @@ kubeVersion: ">=1.11.0-0" engine: gotpl description: Flagger's load testing services based on rakyll/hey that generates traffic during canary analysis when configured as a webhook. home: https://docs.flagger.app -icon: https://raw.githubusercontent.com/stefanprodan/flagger/master/docs/logo/flagger-icon.png +icon: https://raw.githubusercontent.com/weaveworks/flagger/master/docs/logo/flagger-icon.png sources: - https://github.com/weaveworks/flagger maintainers: diff --git a/docs/gitbook/README.md b/docs/gitbook/README.md index 670620e6..a5e983ee 100644 --- a/docs/gitbook/README.md +++ b/docs/gitbook/README.md @@ -13,7 +13,7 @@ Flagger implements a control loop that gradually shifts traffic to the canary wh indicators like HTTP requests success rate, requests average duration and pods health. Based on analysis of the **KPIs** a canary is promoted or aborted, and the analysis result is published to **Slack**. -![Flagger overview diagram](https://raw.githubusercontent.com/stefanprodan/flagger/master/docs/diagrams/flagger-canary-overview.png) +![Flagger overview diagram](https://raw.githubusercontent.com/weaveworks/flagger/master/docs/diagrams/flagger-canary-overview.png) Flagger can be configured with Kubernetes custom resources and is compatible with any CI/CD solutions made for Kubernetes. Since Flagger is declarative and reacts to Kubernetes events, diff --git a/docs/gitbook/how-it-works.md b/docs/gitbook/how-it-works.md index 03378a7a..bd4ba089 100644 --- a/docs/gitbook/how-it-works.md +++ b/docs/gitbook/how-it-works.md @@ -4,7 +4,7 @@ a horizontal pod autoscaler \(HPA\) and creates a series of objects \(Kubernetes deployments, ClusterIP services and Istio virtual services\) to drive the canary analysis and promotion. -![Flagger Canary Process](https://raw.githubusercontent.com/stefanprodan/flagger/master/docs/diagrams/flagger-canary-hpa.png) +![Flagger Canary Process](https://raw.githubusercontent.com/weaveworks/flagger/master/docs/diagrams/flagger-canary-hpa.png) ### Canary Custom Resource @@ -251,7 +251,7 @@ and for backend HTTP APIs that are accessible only from inside the mesh. ### Canary Stages -![Flagger Canary Stages](https://raw.githubusercontent.com/stefanprodan/flagger/master/docs/diagrams/flagger-canary-steps.png) +![Flagger Canary Stages](https://raw.githubusercontent.com/weaveworks/flagger/master/docs/diagrams/flagger-canary-steps.png) A canary deployment is triggered by changes in any of the following objects: @@ -579,12 +579,12 @@ Flagger metric checks will fail with "no values found for metric istio_requests_ Flagger comes with a load testing service based on [rakyll/hey](https://github.com/rakyll/hey) that generates traffic during analysis when configured as a webhook. -![Flagger Load Testing Webhook](https://raw.githubusercontent.com/stefanprodan/flagger/master/docs/diagrams/flagger-load-testing.png) +![Flagger Load Testing Webhook](https://raw.githubusercontent.com/weaveworks/flagger/master/docs/diagrams/flagger-load-testing.png) First you need to deploy the load test runner in a namespace with Istio sidecar injection enabled: ```bash -export REPO=https://raw.githubusercontent.com/stefanprodan/flagger/master +export REPO=https://raw.githubusercontent.com/weaveworks/flagger/master kubectl -n test apply -f ${REPO}/artifacts/loadtester/deployment.yaml kubectl -n test apply -f ${REPO}/artifacts/loadtester/service.yaml diff --git a/docs/gitbook/install/flagger-install-on-eks-appmesh.md b/docs/gitbook/install/flagger-install-on-eks-appmesh.md index 4fed0684..19552fa8 100644 --- a/docs/gitbook/install/flagger-install-on-eks-appmesh.md +++ b/docs/gitbook/install/flagger-install-on-eks-appmesh.md @@ -125,12 +125,6 @@ Install the App Mesh sidecar injector in the `appmesh-system` namespace: The above script generates a certificate signed by Kubernetes CA, registers the App Mesh mutating webhook and deploys the injector. -Deploy Prometheus in the `appmesh-system` namespace: - -```bash -kubectl apply -f ./prometheus -``` - Create a mesh called global in the `appmesh-system` namespace: ```bash @@ -145,7 +139,20 @@ kubectl -n appmesh-system describe mesh Status: Mesh Condition: Status: True - Type: Active + Type: MeshActive +``` + +### Install Prometheus + +In order to expose the App Mesh metrics to Flagger, +you'll need to use Prometheus to scrapes the Envoy sidecars. + +Deploy Prometheus in the `appmesh-system` namespace: + +```bash +REPO=https://raw.githubusercontent.com/weaveworks/flagger/master + +kubectl apply -f ${REPO}/artifacts/eks/appmesh-prometheus.yaml ``` ### Install Flagger and Grafana @@ -162,7 +169,7 @@ Deploy Flagger in the _**appmesh-system**_ namespace: helm upgrade -i flagger flagger/flagger \ --namespace=appmesh-system \ --set meshProvider=appmesh \ ---set metricsServer=http://prometheus.appmesh:9090 +--set metricsServer=http://prometheus.appmesh-system:9090 ``` You can install Flagger in any namespace as long as it can talk to the Istio Prometheus service on port 9090. diff --git a/docs/gitbook/install/flagger-install-on-google-cloud.md b/docs/gitbook/install/flagger-install-on-google-cloud.md index bdb0da57..94a2f7b7 100644 --- a/docs/gitbook/install/flagger-install-on-google-cloud.md +++ b/docs/gitbook/install/flagger-install-on-google-cloud.md @@ -2,7 +2,7 @@ This guide walks you through setting up Flagger and Istio on Google Kubernetes Engine. -![GKE Cluster Overview](https://raw.githubusercontent.com/stefanprodan/flagger/master/docs/diagrams/flagger-gke-istio.png) +![GKE Cluster Overview](https://raw.githubusercontent.com/weaveworks/flagger/master/docs/diagrams/flagger-gke-istio.png) ### Prerequisites @@ -208,12 +208,12 @@ stable/cert-manager ### Istio Gateway TLS setup -![Istio Let's Encrypt](https://raw.githubusercontent.com/stefanprodan/flagger/master/docs/diagrams/istio-cert-manager-gke.png) +![Istio Let's Encrypt](https://raw.githubusercontent.com/weaveworks/flagger/master/docs/diagrams/istio-cert-manager-gke.png) Create a generic Istio Gateway to expose services outside the mesh on HTTPS: ```bash -REPO=https://raw.githubusercontent.com/stefanprodan/flagger/master +REPO=https://raw.githubusercontent.com/weaveworks/flagger/master kubectl apply -f ${REPO}/artifacts/gke/istio-gateway.yaml ``` @@ -332,7 +332,7 @@ Because Flagger uses the Istio HTTP metrics to run the canary analysis you have Prometheus configuration that's similar to the one that comes with the official Istio Helm chart. ```bash -REPO=https://raw.githubusercontent.com/stefanprodan/flagger/master +REPO=https://raw.githubusercontent.com/weaveworks/flagger/master kubectl apply -f ${REPO}/artifacts/gke/istio-prometheus.yaml ``` diff --git a/docs/gitbook/install/flagger-install-on-kubernetes.md b/docs/gitbook/install/flagger-install-on-kubernetes.md index 2a07ff62..73120559 100644 --- a/docs/gitbook/install/flagger-install-on-kubernetes.md +++ b/docs/gitbook/install/flagger-install-on-kubernetes.md @@ -132,7 +132,7 @@ helm upgrade -i flagger-loadtester flagger/loadtester \ Deploy with kubectl: ```bash -export REPO=https://raw.githubusercontent.com/stefanprodan/flagger/master +export REPO=https://raw.githubusercontent.com/weaveworks/flagger/master kubectl -n test apply -f ${REPO}/artifacts/loadtester/deployment.yaml kubectl -n test apply -f ${REPO}/artifacts/loadtester/service.yaml diff --git a/docs/gitbook/tutorials/canary-helm-gitops.md b/docs/gitbook/tutorials/canary-helm-gitops.md index a8a73b49..9117f1ff 100644 --- a/docs/gitbook/tutorials/canary-helm-gitops.md +++ b/docs/gitbook/tutorials/canary-helm-gitops.md @@ -29,7 +29,7 @@ You can find the chart source [here](https://github.com/stefanprodan/flagger/tre Create a test namespace with Istio sidecar injection enabled: ```bash -export REPO=https://raw.githubusercontent.com/stefanprodan/flagger/master +export REPO=https://raw.githubusercontent.com/weaveworks/flagger/master kubectl apply -f ${REPO}/artifacts/namespaces/test.yaml ``` @@ -79,7 +79,7 @@ Flagger will route all traffic to the primary pods and scale to zero the `fronte Open your browser and navigate to the frontend URL: -![Podinfo Frontend](https://raw.githubusercontent.com/stefanprodan/flagger/master/docs/screens/demo-frontend.png) +![Podinfo Frontend](https://raw.githubusercontent.com/weaveworks/flagger/master/docs/screens/demo-frontend.png) Now let's install the `backend` release without exposing it outside the mesh: @@ -104,7 +104,7 @@ frontend Initialized 0 2019-02-12T17:50:50Z Click on the ping button in the `frontend` UI to trigger a HTTP POST request that will reach the `backend` app: -![Jaeger Tracing](https://raw.githubusercontent.com/stefanprodan/flagger/master/docs/screens/demo-frontend-jaeger.png) +![Jaeger Tracing](https://raw.githubusercontent.com/weaveworks/flagger/master/docs/screens/demo-frontend-jaeger.png) We'll use the `/echo` endpoint (same as the one the ping button calls) to generate load on both apps during a canary deployment. @@ -155,7 +155,7 @@ You can monitor the canary deployment with Grafana. Open the Flagger dashboard, select `test` from the namespace dropdown, `frontend-primary` from the primary dropdown and `frontend` from the canary dropdown. -![Flagger Grafana Dashboard](https://raw.githubusercontent.com/stefanprodan/flagger/master/docs/screens/demo-frontend-dashboard.png) +![Flagger Grafana Dashboard](https://raw.githubusercontent.com/weaveworks/flagger/master/docs/screens/demo-frontend-dashboard.png) Now trigger a canary deployment for the `backend` app, but this time you'll change a value in the configmap: @@ -213,7 +213,7 @@ Copying backend.test template spec to backend-primary.test Promotion completed! Scaling down backend.test ``` -![Flagger Grafana Dashboard](https://raw.githubusercontent.com/stefanprodan/flagger/master/docs/screens/demo-backend-dashboard.png) +![Flagger Grafana Dashboard](https://raw.githubusercontent.com/weaveworks/flagger/master/docs/screens/demo-backend-dashboard.png) If the number of failed checks reaches the canary analysis threshold, the traffic is routed back to the primary, the canary is scaled to zero and the rollout is marked as failed. @@ -237,7 +237,7 @@ In the [GitOps model](https://www.weave.works/technologies/gitops/), any change to production must be committed in source control prior to being applied on the cluster. This way rollback and audit logs are provided by Git. -![Helm GitOps Canary Deployment](https://raw.githubusercontent.com/stefanprodan/flagger/master/docs/diagrams/flagger-flux-gitops.png) +![Helm GitOps Canary Deployment](https://raw.githubusercontent.com/weaveworks/flagger/master/docs/diagrams/flagger-flux-gitops.png) In order to apply the GitOps pipeline model to Flagger canary deployments you'll need a Git repository with your workloads definitions in YAML format, diff --git a/docs/gitbook/usage/ab-testing.md b/docs/gitbook/usage/ab-testing.md index 1a67ecc5..01142969 100644 --- a/docs/gitbook/usage/ab-testing.md +++ b/docs/gitbook/usage/ab-testing.md @@ -6,12 +6,12 @@ Besides weighted routing, Flagger can be configured to route traffic to the cana In an A/B testing scenario, you'll be using HTTP headers or cookies to target a certain segment of your users. This is particularly useful for frontend applications that require session affinity. -![Flagger A/B Testing Stages](https://raw.githubusercontent.com/stefanprodan/flagger/master/docs/diagrams/flagger-abtest-steps.png) +![Flagger A/B Testing Stages](https://raw.githubusercontent.com/weaveworks/flagger/master/docs/diagrams/flagger-abtest-steps.png) Create a test namespace with Istio sidecar injection enabled: ```bash -export REPO=https://raw.githubusercontent.com/stefanprodan/flagger/master +export REPO=https://raw.githubusercontent.com/weaveworks/flagger/master kubectl apply -f ${REPO}/artifacts/namespaces/test.yaml ``` diff --git a/docs/gitbook/usage/alerting.md b/docs/gitbook/usage/alerting.md index 27a475d3..4c13e68e 100644 --- a/docs/gitbook/usage/alerting.md +++ b/docs/gitbook/usage/alerting.md @@ -15,12 +15,12 @@ helm upgrade -i flagger flagger/flagger \ Once configured with a Slack incoming **webhook**, Flagger will post messages when a canary deployment has been initialised, when a new revision has been detected and if the canary analysis failed or succeeded. -![flagger-slack](https://raw.githubusercontent.com/stefanprodan/flagger/master/docs/screens/slack-canary-notifications.png) +![flagger-slack](https://raw.githubusercontent.com/weaveworks/flagger/master/docs/screens/slack-canary-notifications.png) A canary deployment will be rolled back if the progress deadline exceeded or if the analysis reached the maximum number of failed checks: -![flagger-slack-errors](https://raw.githubusercontent.com/stefanprodan/flagger/master/docs/screens/slack-canary-failed.png) +![flagger-slack-errors](https://raw.githubusercontent.com/weaveworks/flagger/master/docs/screens/slack-canary-failed.png) ### Prometheus Alert Manager diff --git a/docs/gitbook/usage/monitoring.md b/docs/gitbook/usage/monitoring.md index 03aa1663..103239dd 100644 --- a/docs/gitbook/usage/monitoring.md +++ b/docs/gitbook/usage/monitoring.md @@ -14,7 +14,7 @@ helm upgrade -i flagger-grafana flagger/grafana \ The dashboard shows the RED and USE metrics for the primary and canary workloads: -![canary dashboard](https://raw.githubusercontent.com/stefanprodan/flagger/master/docs/screens/grafana-canary-analysis.png) +![canary dashboard](https://raw.githubusercontent.com/weaveworks/flagger/master/docs/screens/grafana-canary-analysis.png) ### Logging diff --git a/docs/gitbook/usage/progressive-delivery.md b/docs/gitbook/usage/progressive-delivery.md index e1ebf033..9ac4e309 100644 --- a/docs/gitbook/usage/progressive-delivery.md +++ b/docs/gitbook/usage/progressive-delivery.md @@ -5,7 +5,7 @@ This guide shows you how to use Istio and Flagger to automate canary deployments Create a test namespace with Istio sidecar injection enabled: ```bash -export REPO=https://raw.githubusercontent.com/stefanprodan/flagger/master +export REPO=https://raw.githubusercontent.com/weaveworks/flagger/master kubectl apply -f ${REPO}/artifacts/namespaces/test.yaml ``` From 33ba3b8d4adbbf391bcf63e7eb3b691884eca22a Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Sat, 23 Mar 2019 15:40:27 +0200 Subject: [PATCH 07/15] Add App Mesh canary demo definitions --- artifacts/appmesh/canary.yaml | 50 +++++++++++++++++++++++ artifacts/appmesh/deployment.yaml | 65 ++++++++++++++++++++++++++++++ artifacts/appmesh/global-mesh.yaml | 7 ++++ artifacts/appmesh/hpa.yaml | 19 +++++++++ artifacts/namespaces/test.yaml | 1 + 5 files changed, 142 insertions(+) create mode 100644 artifacts/appmesh/canary.yaml create mode 100644 artifacts/appmesh/deployment.yaml create mode 100644 artifacts/appmesh/global-mesh.yaml create mode 100644 artifacts/appmesh/hpa.yaml diff --git a/artifacts/appmesh/canary.yaml b/artifacts/appmesh/canary.yaml new file mode 100644 index 00000000..d2b00e03 --- /dev/null +++ b/artifacts/appmesh/canary.yaml @@ -0,0 +1,50 @@ +apiVersion: flagger.app/v1alpha3 +kind: Canary +metadata: + name: podinfo + namespace: test +spec: + # deployment reference + targetRef: + apiVersion: apps/v1 + kind: Deployment + name: podinfo + # the maximum time in seconds for the canary deployment + # to make progress before it is rollback (default 600s) + progressDeadlineSeconds: 60 + # HPA reference (optional) + autoscalerRef: + apiVersion: autoscaling/v2beta1 + kind: HorizontalPodAutoscaler + name: podinfo + service: + # container port + port: 9898 + # App Mesh reference + meshName: global.appmesh-system + # define the canary analysis timing and KPIs + canaryAnalysis: + # schedule interval (default 60s) + interval: 10s + # max number of failed metric checks before rollback + threshold: 10 + # max traffic percentage routed to canary + # percentage (0-100) + maxWeight: 50 + # canary increment step + # percentage (0-100) + stepWeight: 5 + # App Mesh Prometheus checks + metrics: + - name: envoy_cluster_upstream_rq + # minimum req success rate (non 5xx responses) + # percentage (0-100) + threshold: 99 + interval: 1m + # external checks (optional) + webhooks: + - name: load-test + url: http://flagger-loadtester.test/ + timeout: 5s + metadata: + cmd: "hey -z 1m -q 10 -c 2 http://podinfo.test:9898/" diff --git a/artifacts/appmesh/deployment.yaml b/artifacts/appmesh/deployment.yaml new file mode 100644 index 00000000..beeae326 --- /dev/null +++ b/artifacts/appmesh/deployment.yaml @@ -0,0 +1,65 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: podinfo + namespace: test + labels: + app: podinfo +spec: + minReadySeconds: 5 + revisionHistoryLimit: 5 + progressDeadlineSeconds: 60 + strategy: + rollingUpdate: + maxUnavailable: 0 + type: RollingUpdate + selector: + matchLabels: + app: podinfo + template: + metadata: + annotations: + prometheus.io/scrape: "true" + labels: + app: podinfo + spec: + containers: + - name: podinfod + image: quay.io/stefanprodan/podinfo:1.4.0 + imagePullPolicy: IfNotPresent + ports: + - containerPort: 9898 + name: http + protocol: TCP + command: + - ./podinfo + - --port=9898 + - --level=info + env: + - name: PODINFO_UI_COLOR + value: blue + livenessProbe: + exec: + command: + - podcli + - check + - http + - localhost:9898/healthz + initialDelaySeconds: 5 + timeoutSeconds: 5 + readinessProbe: + exec: + command: + - podcli + - check + - http + - localhost:9898/readyz + initialDelaySeconds: 5 + timeoutSeconds: 5 + resources: + limits: + cpu: 2000m + memory: 512Mi + requests: + cpu: 100m + memory: 64Mi diff --git a/artifacts/appmesh/global-mesh.yaml b/artifacts/appmesh/global-mesh.yaml new file mode 100644 index 00000000..d03c06db --- /dev/null +++ b/artifacts/appmesh/global-mesh.yaml @@ -0,0 +1,7 @@ +apiVersion: appmesh.k8s.aws/v1alpha1 +kind: Mesh +metadata: + name: global + namespace: appmesh-system +spec: + serviceDiscoveryType: dns diff --git a/artifacts/appmesh/hpa.yaml b/artifacts/appmesh/hpa.yaml new file mode 100644 index 00000000..fa2b5a6f --- /dev/null +++ b/artifacts/appmesh/hpa.yaml @@ -0,0 +1,19 @@ +apiVersion: autoscaling/v2beta1 +kind: HorizontalPodAutoscaler +metadata: + name: podinfo + namespace: test +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: podinfo + minReplicas: 2 + maxReplicas: 4 + metrics: + - type: Resource + resource: + name: cpu + # scale up if usage is above + # 99% of the requested CPU (100m) + targetAverageUtilization: 99 diff --git a/artifacts/namespaces/test.yaml b/artifacts/namespaces/test.yaml index 6126d753..cff2ab62 100644 --- a/artifacts/namespaces/test.yaml +++ b/artifacts/namespaces/test.yaml @@ -4,3 +4,4 @@ metadata: name: test labels: istio-injection: enabled + appmesh.k8s.aws/sidecarInjectorWebhook: enabled From cd99225f9b6f606f1dc3ce7fe142a0bb69ffb5d9 Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Sat, 23 Mar 2019 15:41:04 +0200 Subject: [PATCH 08/15] Add App Mesh canary deployments tutorial --- docs/gitbook/README.md | 2 +- docs/gitbook/SUMMARY.md | 5 +- docs/gitbook/usage/ab-testing.md | 4 +- .../usage/appmesh-progressive-delivery.md | 206 ++++++++++++++++++ docs/gitbook/usage/progressive-delivery.md | 2 +- 5 files changed, 213 insertions(+), 6 deletions(-) create mode 100644 docs/gitbook/usage/appmesh-progressive-delivery.md diff --git a/docs/gitbook/README.md b/docs/gitbook/README.md index a5e983ee..4f6c4ed7 100644 --- a/docs/gitbook/README.md +++ b/docs/gitbook/README.md @@ -1,5 +1,5 @@ --- -description: Flagger is an Istio progressive delivery Kubernetes operator +description: Flagger is a progressive delivery Kubernetes operator --- # Introduction diff --git a/docs/gitbook/SUMMARY.md b/docs/gitbook/SUMMARY.md index 771a49be..4ce8974e 100644 --- a/docs/gitbook/SUMMARY.md +++ b/docs/gitbook/SUMMARY.md @@ -11,8 +11,9 @@ ## Usage -* [Canary Deployments](usage/progressive-delivery.md) -* [A/B Testing](usage/ab-testing.md) +* [Istio Canary Deployments](usage/progressive-delivery.md) +* [Istio A/B Testing](usage/ab-testing.md) +* [App Mesh Canary Deployments](usage/appmesh-progressive-delivery.md) * [Monitoring](usage/monitoring.md) * [Alerting](usage/alerting.md) diff --git a/docs/gitbook/usage/ab-testing.md b/docs/gitbook/usage/ab-testing.md index 01142969..fdb08c5d 100644 --- a/docs/gitbook/usage/ab-testing.md +++ b/docs/gitbook/usage/ab-testing.md @@ -1,6 +1,6 @@ -# A/B Testing +# Istio A/B Testing -This guide shows you how to automate A/B testing with Flagger. +This guide shows you how to automate A/B testing with Istio and Flagger. Besides weighted routing, Flagger can be configured to route traffic to the canary based on HTTP match conditions. In an A/B testing scenario, you'll be using HTTP headers or cookies to target a certain segment of your users. diff --git a/docs/gitbook/usage/appmesh-progressive-delivery.md b/docs/gitbook/usage/appmesh-progressive-delivery.md new file mode 100644 index 00000000..e83e1a26 --- /dev/null +++ b/docs/gitbook/usage/appmesh-progressive-delivery.md @@ -0,0 +1,206 @@ +# App Mesh Canary Deployments + +This guide shows you how to use App Mesh and Flagger to automate canary deployments. + +Create a mesh called `global` in the `appmesh-system` namespace: + +```bash +export REPO=https://raw.githubusercontent.com/weaveworks/flagger/master + +kubectl apply -f ${REPO}/artifacts/appmesh/global-mesh.yaml +``` + +Create a test namespace with App Mesh sidecar injection enabled: + +```bash +kubectl apply -f ${REPO}/artifacts/namespaces/test.yaml +``` + +Create a deployment and a horizontal pod autoscaler: + +```bash +kubectl apply -f ${REPO}/artifacts/appmesh/deployment.yaml +kubectl apply -f ${REPO}/artifacts/appmesh/hpa.yaml +``` + +Deploy the load testing service to generate traffic during the canary analysis: + +```bash +helm upgrade -i flagger-loadtester flagger/loadtester \ +--namespace=test \ +--set meshName=global.appmesh-system \ +--set backends[0]=frontend.test +``` + +Create a canary custom resource: + +```yaml +apiVersion: flagger.app/v1alpha3 +kind: Canary +metadata: + name: podinfo + namespace: test +spec: + # deployment reference + targetRef: + apiVersion: apps/v1 + kind: Deployment + name: podinfo + # the maximum time in seconds for the canary deployment + # to make progress before it is rollback (default 600s) + progressDeadlineSeconds: 60 + # HPA reference (optional) + autoscalerRef: + apiVersion: autoscaling/v2beta1 + kind: HorizontalPodAutoscaler + name: podinfo + service: + # container port + port: 9898 + # App Mesh reference + meshName: global.appmesh-system + # define the canary analysis timing and KPIs + canaryAnalysis: + # schedule interval (default 60s) + interval: 10s + # max number of failed metric checks before rollback + threshold: 10 + # max traffic percentage routed to canary + # percentage (0-100) + maxWeight: 50 + # canary increment step + # percentage (0-100) + stepWeight: 5 + # App Mesh Prometheus checks + metrics: + - name: envoy_cluster_upstream_rq + # minimum req success rate (non 5xx responses) + # percentage (0-100) + threshold: 99 + interval: 1m + # external checks (optional) + webhooks: + - name: load-test + url: http://flagger-loadtester.test/ + timeout: 5s + metadata: + cmd: "hey -z 1m -q 10 -c 2 http://podinfo.test:9898/" +``` + +Save the above resource as podinfo-canary.yaml and then apply it: + +```bash +kubectl apply -f ./podinfo-canary.yaml +``` + +After a couple of seconds Flagger will create the canary objects: + +```bash +# applied +deployment.apps/podinfo +horizontalpodautoscaler.autoscaling/podinfo +canary.flagger.app/podinfo + +# generated Kubernetes objects +deployment.apps/podinfo-primary +horizontalpodautoscaler.autoscaling/podinfo-primary +service/podinfo +service/podinfo-canary +service/podinfo-primary + +# generated App Mesh objects +virtualnode.appmesh.k8s.aws/podinfo +virtualnode.appmesh.k8s.aws/podinfo-canary +virtualnode.appmesh.k8s.aws/podinfo-primary +virtualservice.appmesh.k8s.aws/podinfo.test +``` + +Trigger a canary deployment by updating the container image: + +```bash +kubectl -n test set image deployment/podinfo \ +podinfod=quay.io/stefanprodan/podinfo:1.4.1 +``` + +Flagger detects that the deployment revision changed and starts a new rollout: + +```text +kubectl -n test describe canary/podinfo + +Status: + Canary Weight: 0 + Failed Checks: 0 + Phase: Succeeded +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal Synced 3m flagger New revision detected podinfo.test + Normal Synced 3m flagger Scaling up podinfo.test + Warning Synced 3m flagger Waiting for podinfo.test rollout to finish: 0 of 1 updated replicas are available + Normal Synced 3m flagger Advance podinfo.test canary weight 5 + Normal Synced 3m flagger Advance podinfo.test canary weight 10 + Normal Synced 3m flagger Advance podinfo.test canary weight 15 + Normal Synced 2m flagger Advance podinfo.test canary weight 20 + Normal Synced 2m flagger Advance podinfo.test canary weight 25 + Normal Synced 1m flagger Advance podinfo.test canary weight 30 + Normal Synced 1m flagger Advance podinfo.test canary weight 35 + Normal Synced 55s flagger Advance podinfo.test canary weight 40 + Normal Synced 45s flagger Advance podinfo.test canary weight 45 + Normal Synced 35s flagger Advance podinfo.test canary weight 50 + Normal Synced 25s flagger Copying podinfo.test template spec to podinfo-primary.test + Warning Synced 15s flagger Waiting for podinfo-primary.test rollout to finish: 1 of 2 updated replicas are available + Normal Synced 5s flagger Promotion completed! Scaling down podinfo.test +``` + +**Note** that if you apply new changes to the deployment during the canary analysis, Flagger will restart the analysis. + +You can monitor all canaries with: + +```bash +watch kubectl get canaries --all-namespaces + +NAMESPACE NAME STATUS WEIGHT LASTTRANSITIONTIME +test podinfo Progressing 15 2019-03-16T14:05:07Z +prod frontend Succeeded 0 2019-03-15T16:15:07Z +prod backend Failed 0 2019-03-14T17:05:07Z +``` + +During the canary analysis you can generate HTTP 500 errors to test if Flagger pauses the rollout. + +Exec into the load tester pod with: + +```bash +kubectl -n test exec -it flagger-loadtester-xx-xx sh +``` + +Generate HTTP 500 errors: + +```bash +hey -z 1m -c 5 -q 5 http://podinfo.test:9898/status/500 +``` + +When the number of failed checks reaches the canary analysis threshold, the traffic is routed back to the primary, +the canary is scaled to zero and the rollout is marked as failed. + +```text +kubectl -n test describe canary/podinfo + +Status: + Canary Weight: 0 + Failed Checks: 10 + Phase: Failed +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal Synced 3m flagger Starting canary deployment for podinfo.test + Normal Synced 3m flagger Advance podinfo.test canary weight 5 + Normal Synced 3m flagger Advance podinfo.test canary weight 10 + Normal Synced 3m flagger Advance podinfo.test canary weight 15 + Normal Synced 3m flagger Halt podinfo.test advancement success rate 69.17% < 99% + Normal Synced 2m flagger Halt podinfo.test advancement success rate 61.39% < 99% + Normal Synced 2m flagger Halt podinfo.test advancement success rate 55.06% < 99% + Normal Synced 2m flagger Halt podinfo.test advancement success rate 47.00% < 99% + Normal Synced 2m flagger (combined from similar events): Halt podinfo.test advancement success rate 38.08% < 99% + Warning Synced 1m flagger Rolling back podinfo.test failed checks threshold reached 10 + Warning Synced 1m flagger Canary failed! Scaling down podinfo.test +``` diff --git a/docs/gitbook/usage/progressive-delivery.md b/docs/gitbook/usage/progressive-delivery.md index 9ac4e309..f0660e63 100644 --- a/docs/gitbook/usage/progressive-delivery.md +++ b/docs/gitbook/usage/progressive-delivery.md @@ -1,4 +1,4 @@ -# Canary Deployments +# Istio Canary Deployments This guide shows you how to use Istio and Flagger to automate canary deployments. From 7788f3a1ba0f499f1b11efc2644157afce23dbc8 Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Sat, 23 Mar 2019 15:56:52 +0200 Subject: [PATCH 09/15] Add virtual node for App Mesh ingress --- artifacts/eks/appmesh-gateway.yaml | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/artifacts/eks/appmesh-gateway.yaml b/artifacts/eks/appmesh-gateway.yaml index aa3ba348..0e73152d 100644 --- a/artifacts/eks/appmesh-gateway.yaml +++ b/artifacts/eks/appmesh-gateway.yaml @@ -36,8 +36,8 @@ data: - match: prefix: "/" route: - cluster: frontend - host_rewrite: frontend.test + cluster: podinfo + host_rewrite: podinfo.test timeout: 15s retry_policy: retry_on: "gateway-error,connect-failure,refused-stream" @@ -51,7 +51,7 @@ data: http2_protocol_options: {} hosts: - socket_address: - address: frontend.test + address: podinfo.test port_value: 9898 admin: access_log_path: /dev/null @@ -157,3 +157,21 @@ spec: port: 443 targetPort: 443 type: LoadBalancer +--- +apiVersion: appmesh.k8s.aws/v1alpha1 +kind: VirtualNode +metadata: + name: ingress + namespace: test +spec: + meshName: global.appmesh-system + listeners: + - portMapping: + port: 80 + protocol: http + serviceDiscovery: + dns: + hostName: ingress.test + backends: + - virtualService: + virtualServiceName: podinfo.test \ No newline at end of file From 153ed1b044744f564a100873c29a42eb38d51bcf Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Sat, 23 Mar 2019 16:09:30 +0200 Subject: [PATCH 10/15] Add the App Mesh ingress to docs --- .../ingress.yaml} | 2 +- .../usage/appmesh-progressive-delivery.md | 36 +++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) rename artifacts/{eks/appmesh-gateway.yaml => appmesh/ingress.yaml} (99%) diff --git a/artifacts/eks/appmesh-gateway.yaml b/artifacts/appmesh/ingress.yaml similarity index 99% rename from artifacts/eks/appmesh-gateway.yaml rename to artifacts/appmesh/ingress.yaml index 0e73152d..cf5bc694 100644 --- a/artifacts/eks/appmesh-gateway.yaml +++ b/artifacts/appmesh/ingress.yaml @@ -44,7 +44,7 @@ data: num_retries: 10 per_try_timeout: 5s clusters: - - name: frontend + - name: podinfo connect_timeout: 0.30s type: strict_dns lb_policy: round_robin diff --git a/docs/gitbook/usage/appmesh-progressive-delivery.md b/docs/gitbook/usage/appmesh-progressive-delivery.md index e83e1a26..1a2ed95b 100644 --- a/docs/gitbook/usage/appmesh-progressive-delivery.md +++ b/docs/gitbook/usage/appmesh-progressive-delivery.md @@ -2,6 +2,8 @@ This guide shows you how to use App Mesh and Flagger to automate canary deployments. +### Deploy web applications with Flagger + Create a mesh called `global` in the `appmesh-system` namespace: ```bash @@ -115,6 +117,8 @@ virtualnode.appmesh.k8s.aws/podinfo-primary virtualservice.appmesh.k8s.aws/podinfo.test ``` +### Automated canary analysis and promotion + Trigger a canary deployment by updating the container image: ```bash @@ -165,8 +169,17 @@ prod frontend Succeeded 0 2019-03-15T16:15:07Z prod backend Failed 0 2019-03-14T17:05:07Z ``` +### Automated rollback + During the canary analysis you can generate HTTP 500 errors to test if Flagger pauses the rollout. +Trigger a canary deployment: + +```bash +kubectl -n test set image deployment/podinfo \ +podinfod=quay.io/stefanprodan/podinfo:1.4.2 +``` + Exec into the load tester pod with: ```bash @@ -204,3 +217,26 @@ Events: Warning Synced 1m flagger Rolling back podinfo.test failed checks threshold reached 10 Warning Synced 1m flagger Canary failed! Scaling down podinfo.test ``` + +### Setup App Mesh ingress + +In order to expose the podinfo app outside the mesh you'll be using an Envoy ingress and an AWS classic load balancer. +The ingress binds to an internet domain and forwards the calls into the mesh through the App Mesh sidecar. +If podinfo becomes unavailable due to a HPA downscaling or a node restart, +the ingress will retry the calls for a short period of time. + +Deploy the ingress and the AWS ELB service: + +```bash +kubectl apply -f ${REPO}/artifacts/appmesh/ingress.yaml +``` + +Find the ingress public address: + +```bash +kubectl -n test describe svc/ingress | grep Ingress + +LoadBalancer Ingress: yyy-xx.us-west-2.elb.amazonaws.com +``` + +Open your browser and navigate to the ingress address to access podinfo UI. From 685d94c44b84441950b069e5fdbeaf24aaa69138 Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Sat, 23 Mar 2019 16:26:24 +0200 Subject: [PATCH 11/15] Add Grafana screen to App Mesh docs --- .../usage/appmesh-progressive-delivery.md | 53 ++++++++++--------- 1 file changed, 29 insertions(+), 24 deletions(-) diff --git a/docs/gitbook/usage/appmesh-progressive-delivery.md b/docs/gitbook/usage/appmesh-progressive-delivery.md index 1a2ed95b..ad7d4d51 100644 --- a/docs/gitbook/usage/appmesh-progressive-delivery.md +++ b/docs/gitbook/usage/appmesh-progressive-delivery.md @@ -2,7 +2,7 @@ This guide shows you how to use App Mesh and Flagger to automate canary deployments. -### Deploy web applications with Flagger +### Bootstrap Create a mesh called `global` in the `appmesh-system` namespace: @@ -117,7 +117,30 @@ virtualnode.appmesh.k8s.aws/podinfo-primary virtualservice.appmesh.k8s.aws/podinfo.test ``` -### Automated canary analysis and promotion +### Setup App Mesh ingress + +In order to expose the podinfo app outside the mesh you'll be using an Envoy ingress and an AWS classic load balancer. +The ingress binds to an internet domain and forwards the calls into the mesh through the App Mesh sidecar. +If podinfo becomes unavailable due to a HPA downscaling or a node restart, +the ingress will retry the calls for a short period of time. + +Deploy the ingress and the AWS ELB service: + +```bash +kubectl apply -f ${REPO}/artifacts/appmesh/ingress.yaml +``` + +Find the ingress public address: + +```bash +kubectl -n test describe svc/ingress | grep Ingress + +LoadBalancer Ingress: yyy-xx.us-west-2.elb.amazonaws.com +``` + +Open your browser and navigate to the ingress address to access podinfo UI. + +### Automated canary promotion Trigger a canary deployment by updating the container image: @@ -158,6 +181,10 @@ Events: **Note** that if you apply new changes to the deployment during the canary analysis, Flagger will restart the analysis. +During the analysis the canary’s progress can be monitored with Grafana: + +![App Mesh Canary Dashboard](https://raw.githubusercontent.com/weaveworks/flagger/master/docs/screens/flagger-grafana-appmesh.png) + You can monitor all canaries with: ```bash @@ -218,25 +245,3 @@ Events: Warning Synced 1m flagger Canary failed! Scaling down podinfo.test ``` -### Setup App Mesh ingress - -In order to expose the podinfo app outside the mesh you'll be using an Envoy ingress and an AWS classic load balancer. -The ingress binds to an internet domain and forwards the calls into the mesh through the App Mesh sidecar. -If podinfo becomes unavailable due to a HPA downscaling or a node restart, -the ingress will retry the calls for a short period of time. - -Deploy the ingress and the AWS ELB service: - -```bash -kubectl apply -f ${REPO}/artifacts/appmesh/ingress.yaml -``` - -Find the ingress public address: - -```bash -kubectl -n test describe svc/ingress | grep Ingress - -LoadBalancer Ingress: yyy-xx.us-west-2.elb.amazonaws.com -``` - -Open your browser and navigate to the ingress address to access podinfo UI. From a8ea9adbcc658ae183924e8cfb99d3850578f3ac Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Sat, 23 Mar 2019 17:27:53 +0200 Subject: [PATCH 12/15] Add the Slack notifications to App Mesh tutorial --- .../gitbook/usage/appmesh-progressive-delivery.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/docs/gitbook/usage/appmesh-progressive-delivery.md b/docs/gitbook/usage/appmesh-progressive-delivery.md index ad7d4d51..f3116427 100644 --- a/docs/gitbook/usage/appmesh-progressive-delivery.md +++ b/docs/gitbook/usage/appmesh-progressive-delivery.md @@ -1,6 +1,8 @@ # App Mesh Canary Deployments -This guide shows you how to use App Mesh and Flagger to automate canary deployments. +This guide shows you how to use App Mesh and Flagger to automate canary deployments. +You'll need an EKS cluster configured with App Mesh, you can find the install guide +[here](https://docs.flagger.app/install/flagger-install-on-eks-appmesh). ### Bootstrap @@ -31,7 +33,7 @@ Deploy the load testing service to generate traffic during the canary analysis: helm upgrade -i flagger-loadtester flagger/loadtester \ --namespace=test \ --set meshName=global.appmesh-system \ ---set backends[0]=frontend.test +--set backends[0]=podinfo.test ``` Create a canary custom resource: @@ -196,6 +198,10 @@ prod frontend Succeeded 0 2019-03-15T16:15:07Z prod backend Failed 0 2019-03-14T17:05:07Z ``` +If you’ve enabled the Slack notifications, you should receive the following messages: + +![flagger-slack](https://raw.githubusercontent.com/weaveworks/flagger/master/docs/screens/slack-canary-notifications.png) + ### Automated rollback During the canary analysis you can generate HTTP 500 errors to test if Flagger pauses the rollout. @@ -245,3 +251,8 @@ Events: Warning Synced 1m flagger Canary failed! Scaling down podinfo.test ``` +If you’ve enabled the Slack notifications, you’ll receive a message if the progress deadline is exceeded, +or if the analysis reached the maximum number of failed checks: + +![flagger-slack-errors](https://raw.githubusercontent.com/weaveworks/flagger/master/docs/screens/slack-canary-failed.png) + From 8a981f935aae827de62693bdf7a5a5a70c200871 Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Sun, 24 Mar 2019 12:26:35 +0200 Subject: [PATCH 13/15] Add App Mesh GitOps diagram --- docs/diagrams/flagger-canary-overview.png | Bin 211934 -> 45312 bytes docs/diagrams/flagger-gitops-aws.png | Bin 0 -> 32942 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/diagrams/flagger-gitops-aws.png diff --git a/docs/diagrams/flagger-canary-overview.png b/docs/diagrams/flagger-canary-overview.png index 53bed9e078c2f72210b920e5808e01a2b4474c2d..a0e6ff89d8f2b6d9b6e41f34333d96c2c2c51e37 100644 GIT binary patch literal 45312 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 literal 211934 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 z%0D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

{>9_BA60i9{z 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 q$^W7IpO61 Date: Sun, 24 Mar 2019 13:11:03 +0200 Subject: [PATCH 14/15] Add App Mesh backend example --- .../usage/appmesh-progressive-delivery.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/gitbook/usage/appmesh-progressive-delivery.md b/docs/gitbook/usage/appmesh-progressive-delivery.md index f3116427..bdc392b0 100644 --- a/docs/gitbook/usage/appmesh-progressive-delivery.md +++ b/docs/gitbook/usage/appmesh-progressive-delivery.md @@ -63,6 +63,9 @@ spec: port: 9898 # App Mesh reference meshName: global.appmesh-system + # App Mesh egress (optional) + backends: + - backend.test # define the canary analysis timing and KPIs canaryAnalysis: # schedule interval (default 60s) @@ -119,6 +122,20 @@ virtualnode.appmesh.k8s.aws/podinfo-primary virtualservice.appmesh.k8s.aws/podinfo.test ``` +The App Mesh specific settings are: + +```yaml + service: + port: 9898 + meshName: global.appmesh-system + backends: + - backend1.test + - backend2.test +``` + +App Mesh blocks all egress traffic by default. If your application needs to call another service, you have to create an +App Mesh virtual service for it and add the virtual service name to the backend list. + ### Setup App Mesh ingress In order to expose the podinfo app outside the mesh you'll be using an Envoy ingress and an AWS classic load balancer. From 8fa558f12436851618bf6845a076e69025f90e84 Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Sun, 24 Mar 2019 13:38:00 +0200 Subject: [PATCH 15/15] Add intro do App Mesh tutorial --- docs/gitbook/usage/appmesh-progressive-delivery.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/gitbook/usage/appmesh-progressive-delivery.md b/docs/gitbook/usage/appmesh-progressive-delivery.md index bdc392b0..4690a72f 100644 --- a/docs/gitbook/usage/appmesh-progressive-delivery.md +++ b/docs/gitbook/usage/appmesh-progressive-delivery.md @@ -6,6 +6,11 @@ You'll need an EKS cluster configured with App Mesh, you can find the install gu ### Bootstrap +Flagger takes a Kubernetes deployment and optionally a horizontal pod autoscaler (HPA), +then creates a series of objects (Kubernetes deployments, ClusterIP services, App Mesh virtual nodes and services). +These objects expose the application on the mesh and drive the canary analysis and promotion. +The only App Mesh object you need to creat by yourself is the mesh resource. + Create a mesh called `global` in the `appmesh-system` namespace: ```bash @@ -136,7 +141,7 @@ The App Mesh specific settings are: App Mesh blocks all egress traffic by default. If your application needs to call another service, you have to create an App Mesh virtual service for it and add the virtual service name to the backend list. -### Setup App Mesh ingress +### Setup App Mesh ingress (optional) In order to expose the podinfo app outside the mesh you'll be using an Envoy ingress and an AWS classic load balancer. The ingress binds to an internet domain and forwards the calls into the mesh through the App Mesh sidecar. @@ -272,4 +277,3 @@ If you’ve enabled the Slack notifications, you’ll receive a message if the p or if the analysis reached the maximum number of failed checks: ![flagger-slack-errors](https://raw.githubusercontent.com/weaveworks/flagger/master/docs/screens/slack-canary-failed.png) -