To upgrade Tanzu Mission Control (TMC) Self-Managed, download the installer and follow the steps provided in Upgrade Tanzu Mission Control Self-Managed.
Do the following to upgrade Tanzu Mission Control Self-Managed.
Download the installer to the bootstrap computer.
You can download the installer from the Customer Connect download site.
Extract the contents of the tarball to a new directory.
mkdir tmc-sm-1.0.1
tar -xf tmc-self-managed-1.0.1.tar -C ./tmc-sm-1.0.1
Push the images to the project in the container registry that was set up for the initial installation.
tmc-sm-1.0.1/tmc-sm push-images harbor --project {{harbor-instance}}/{{harbor-project}} --username {{username}} --password {{password}}
After the command runs successfully, you will see the file pushed-package-repository.json
in the tmc-sm-1.0.1
directory. The file includes the following contents:
{"repositoryImage":"{{harbor-instance}}/{{harbor-project}}/package-repository","version":"1.0.1"}
Make a note of the repositoryImage
and version
from the pushed-package-repository.json
file.
Update the package repository version for tanzu-mission-control-packages
in the tmc-local
namespace.
tanzu package repository update tanzu-mission-control-packages --url "{{repositoryImage}}:{{version}}" --namespace tmc-local
After kapp-controller
reconciles the Tanzu packages in the repository, verify the package version.
tanzu package repository list --namespace tmc-local
Update the installed package with the new version.
tanzu package installed update tanzu-mission-control -p tmc.tanzu.vmware.com --version "{{version}}" --values-file /home/kubo/values.yaml --namespace tmc-local
NoteUse the same values.yaml created during the initial installation.
Use the version from the JSON file created in step 3.
After kapp-controller
reconciles the Tanzu packages in the repository, verify the package version.
tanzu package repository list --namespace tmc-local
The following describes how to troubleshoot if you encounter failures during the upgrade.
If the package upgrade fails indicating Reconcile failed
, use the following command to get more details.
kubectl -n tmc-local describe packageinstall \<packageinstall-name\>
Occasionally, some services take a little longer to come up. This causes the failure during the upgrade for packageinstall/tanzu-mission-control
when the package is in Reconciling state for more than 15 minutes.
Verify the failure by checking the status.usefulErrorMessage
field in the output of the following command for the package that encountered failure
kubectl -n tmc-local describe packageinstall \<packageinstall-name\>
From the error message, note the service name and verify the status of the pod with the following command:
kubectl -n tmc-local get pods | grep service-name
kubectl -n tmc-local describe pod \<pod-name\>
kubectl -n tmc-local logs \<pod-name\>
Upgrade can fail when the Prometheus service fails to start. You will see the following error:
Error: packageinstall/tanzu-mission-control (packaging.carvel.dev/v1alpha1) namespace: tmc-local: Reconciling: kapp: Error: waiting on reconcile packageinstall/tmc-local-monitoring (packaging.carvel.dev/v1alpha1) namespace: tmc-local:
Finished unsuccessfully (Reconcile failed: (message: Error (see .status.usefulErrorMessage for details))). Reconcile failed: Error (see .status.usefulErrorMessage for details)
If you see the error,
Verify the status of the Prometheus pod.
kubectl -n tmc-local get pod prometheus-server-tmc-local-monitoring-tmc-local-0
If the pod is in CrashLoopBackOff
state, retrieve the pod logs with the following command:
kubectl -n tmc-local logs prometheus-server-tmc-local-monitoring-tmc-local-0
If the logs show failure with the error panic: preallocate: no space left on device
, then the PVC associated with the prometheus requires resizing.
Update the size of the PVC. data-prometheus-server-tmc-local-monitoring-tmc-local-0
to 10 Gi and restart the pod.
kubectl -n tmc-local edit pvc data-prometheus-server-tmc-local-monitoring-tmc-local-0
kubectl -n tmc-local delete pod prometheus-server-tmc-local-monitoring-tmc-local-0