ci: fix flaky e2e tests by colocating registry & hccm #687
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In our dev/test environment we deploy a container registry to the cluster and push our image there to avoid a dependency on external registries.
To pull from the registry, containerd is instructed to use the service IP. This IP is resolved to the Pod IP in kube-proxy. The CNI is then responsible for making a connection to the Pod IP.
In our case we have the CNI configured to use the Cloud Routes for accessing the Pod IPs from other nodes. This is only being setup by HCCM, which is a problem if we need the routes for pulling the HCCM container image.
This fixes the circular dependency by running HCCM on the same node as the registry. That way no external routes are required and the traffic stays on the same node.
This is not a problem on clusters where HCCM is pulled from an external registry or where the routes controller is not used.