Skip to main content


Now that we've completed both the Initial Setup, and the Configuration, we are finally ready to deploy the cluster and its services.

Triggering the CI pipeline

The CI pipeline is triggered automatically any time you push new commits to the GitLab repository. Since we made some modifications in the previous steps, all we need to do is commit and push the changes.

git add .
git commit -m "Configure cluster for my domain"
git push -u origin main

If you go to your project page in GitLab, then go to Build >> Pipelines, you can monitor the pipeline's progress. The first run will take a significant length of time to provision the cluster resources (around 20-25 minutes).

Once the pipeline is complete, you can click the download icon and select the terraform:apply:archive artifact. This archive will contain your kube_config file, which should be placed at ~/.kube/config on your local system. This will enable you to manually interact with the cluster.

Monitoring the cluster deployments

We don't need to do anything to deploy our applications to the cluster. Flux will handle application deployment automatically for us, as well as reconcile any drift in state, and deploy any future changes that we push to the repo.

To manually monitor the deployment process, you will need the kube config from the previous step. Then run the kubectl command against the cluster.

kubectl get pods -A

You can also use the Flux CLI to check the reconciliation state.

flux get all

Shortly after the cluster applications have finished deploying, you should receive your first watchdog notification from the monitoring system. If you don't receive the notification for some reason, then something is wrong. You can troubleshoot using kubectl and the Flux CLI.