Issue title: Initial integration testing for Topology Controller behaviour
 Issue body: **Detailed Description**
With recent code merges the full reconciliation loop for ClusterClass Topologies is now integrated. In order to show the code is in working order, identify issues and catch regressions integration tests that follow the full flow of the code are now needed. These integrations tests should use a full testenv with webhooks etc.

These initial test cases are designed to show the happy path in the ClusterClass Topology reconciliation. Additional test cases will be added as weaknesses and areas of interest are identified.

Test cases:
1) Create a cluster given a ClusterClass and a Topology
2) Reconcile existing Cluster to an updated state with changes in Cluster.Spec.Topology e.g. change replicas field
3) Reconcile existing Cluster to an updated state with changes in the underlying clusterClass e.g. change infrastructureCluster template contents
4) Create multiple Clusters using the same ClusterClass


/kind feature

 Comments: 
 Comment 0: /assign
 Comment 1: /area topology
 Comment 2: /area testing
 Comment 3: /milestone v1.0
 Comment 4: >@killianmuldoon The first integration test is merged.
Should we break down the remaining work in separated issues, so there is a chance someone in the community would help now that there is a prior art?

I'm actually working on the remaining test cases and should have them up soon - I'll add this issue as fixed on the next PR.
{'source': 'GithubIssues', 'repo_name_with_owner': 'kubernetes-sigs/cluster-api', 'issue_id': 973934302, 'repo_stars': 2420.0}