Files
flagger/kustomize
stefanprodan dfdcfed26e Add Waiting canary status phase
means the canary rollout is paused (waiting for confirmation to proceed)
2019-07-24 12:00:04 +03:00
..
2019-07-24 12:00:04 +03:00

Flagger Kustomize installer

As an alternative to Helm, Flagger can be installed with Kustomize.

Service mesh specific installers

Install Flagger for Istio:

kubectl apply -k github.com/weaveworks/flagger/kustomize/istio

This deploys Flagger in the istio-system namespace and sets the metrics server URL to http://prometheus.istio-system:9090.

Install Flagger for Linkerd:

kubectl apply -k github.com/weaveworks/flagger/kustomize/linkerd

This deploys Flagger in the linkerd namespace and sets the metrics server URL to http://linkerd-prometheus.linkerd:9090.

Generic installer

Install Flagger and Prometheus:

kubectl apply -k github.com/weaveworks/flagger/kustomize/kubernetes

This deploys Flagger and Prometheus in the flagger-system namespace, sets the metrics server URL to http://flagger-prometheus.flagger-system:9090 and the mesh provider to kubernetes.

To target a specific provider you need to specify it in the canary custom resource:

apiVersion: flagger.app/v1alpha3
kind: Canary
metadata:
  name: app
  namespace: test
spec:
  # can be: kubernetes, istio, appmesh, linkerd, smi, nginx, gloo, supergloo
  # use the kubernetes provider for Blue/Green style deployments
  provider: nginx

Customized installer

Create a kustomization file using flagger as base:

cat > kustomization.yaml <<EOF
namespace: istio-system
bases:
  - github.com/weaveworks/flagger/kustomize/base/flagger
patchesStrategicMerge:
  - patch.yaml
EOF

Create a patch and enable Slack notifications by setting the slack channel and hook URL:

cat > patch.yaml <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:
  name: flagger
spec:
  template:
    spec:
      containers:
        - name: flagger
          args:
            - -mesh-provider=istio
            - -metrics-server=http://prometheus.istio-system:9090
            - -slack-user=flagger
            - -slack-channel=alerts
            - -slack-url=https://hooks.slack.com/services/YOUR/SLACK/WEBHOOK
EOF

Install Flagger with Slack:

kubectl apply -k .