Install Podinfo demo app

In the /base/demo folder, you will find several components that will help us deploy our sample podinfo application.

Install the demo app by setting fluxcd.io/ignore to false in base/demo/namespace.yaml:

cat << EOF | tee base/demo/namespace.yaml
apiVersion: v1
kind: Namespace
metadata:
  name: demo
  annotations:
    fluxcd.io/ignore: "false"
  labels:
    appmesh.k8s.aws/sidecarInjectorWebhook: enabled
EOF

Push the changes to your git repository and apply using fluxctl:

git add -A && \
git commit -m "init demo" && \
git push origin master && \
fluxctl sync --k8s-fwd-ns flux

Wait for Flagger to initialize the canary:

kubectl get canary -n demo

Find the ingress public address with:

export URL="http://$(kubectl -n demo get svc/appmesh-gateway -ojson | jq -r ".status.loadBalancer.ingress[].hostname")"
echo $URL

In a few minutes or so, podinfo will be accessible via the public URL.

While we wait for podinfo to be accessible, let’s review some of the components that Flagger creates / uses in order to canary your deployments on the next page.