- Install TCE Management Cluster - not documented as nothing is different then usual
- Install Metal3 IPAM Provider
- Install CAPV IPAM Controller from spectrocloud
- Add YTT Overlays
- Create cluster config file
- Deploy clusters
| --- | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| kind: Role | |
| metadata: | |
| name: capv-static-ip-leader-election-role | |
| namespace: capv-system | |
| rules: | |
| - apiGroups: | |
| - "" | |
| resources: |
| #@data/values | |
| --- | |
| workload: | |
| metadata: | |
| name: test-workload | |
| namespace: default | |
| params: | |
| chart_name: tanzu-java-web-app | |
| chart_repo: | |
| name: demo-repo |
This procedure is a POC of how one could have cartographer stamp out ECR Repo resources for our workloads as needed.
ECR does not allow auto creation of repositories on push and every repo must be created in advance. This gives a very bad UX when using TAP where every workload typically needs 1 or 2 repos depending on the configuration.
The initial idea was to simply create a crossplane composition and stamp that out via a cartographer cluster template, however this is not possible as crossplane makes changes to the spec of the resources it manages, which makes cartographer try and restamp as it believes its desired state is the correct state, and we end up in an endless loop of the controllers fighting for control.
| #@data/values | |
| --- | |
| build: | |
| stages: ["dev", "stage", "prod"] | |
| repo: ["repo-dev", "repo-stage", "repo-prod"] | |
| params: ["dev", "stage", "prod"] |
- Create ns
kubectl create ns tap-install- Add Package repository
tanzu package repository add tanzu-tap-repository \
--url ${INSTALL_REGISTRY_HOSTNAME}/tap/tap-packages:1.4.0 \
--namespace tap-installYou need to update values for http_proxy, https_proxy and no_proxy at the top of the overlay file to fix the environment specific values.
kctrl package installed update -n tap-install -i prisma -p scanning.apps.tanzu.vmware.com --version 0.1.4-alpha.12 --ytt-overlay-file prisma-overlay.yaml