Upgrade Alauda DevOps Pipelines Operator
This document provides instructions for upgrading the Alauda DevOps Pipelines Operator to a newer version using the Marketplace/OperatorHub interface in your cluster. The upgrade process is designed to be straightforward while ensuring minimal disruption to existing Tekton resources.
TOC
Upgrade Overview
Upgrading the Alauda DevOps Pipelines Operator allows you to access new features, bug fixes, and improvements to the Tekton ecosystem. The Alauda DevOps Pipelines Operator handles the upgrade of all Tekton components (Pipelines, Triggers, Hub, etc.) according to your configuration.
Before You Begin
Before upgrading the Alauda DevOps Pipelines Operator, ensure you:
- Have administrative access to your cluster
- Review the release notes for the new version to understand any breaking changes
- Verify that your existing Tekton component configurations are compatible with the new version
- Confirm that all Tekton components are in a ready state
Upgrade Process
Using Marketplace/OperatorHub
-
Access the Marketplace/OperatorHub
- Log in to your cluster's management console
- Navigate to the
Marketplace or OperatorHub section
-
Locate the Alauda DevOps Pipelines Operator
- Search for
Alauda DevOps Pipelines in the search bar
- Click on the
Alauda DevOps Pipelines card
-
View Available Versions
- On the
Alauda DevOps Pipelines Operator details page, you'll see information about the currently installed version
- The interface will indicate if a newer version is available
- You can click different
Channels to view all available versions
-
Initiate the Upgrade
- If the target version is in a different
Channel, switch to the corresponding Channel in the Subscription first
- If the current
Channel has a newer version available, you will see a prompt:
- New Version Detected
- To upgrade only the current Operator, click
Confirm to upgrade.
-
Configure Upgrade Settings (if applicable)
- Some upgrades may present configuration options
- In most cases, the default settings will preserve your existing configuration
-
Confirm and Start the Upgrade
- Click
Confirm to begin the process
- Review the upgrade details and confirm your selection
- The system will update the
Alauda DevOps Pipelines Operator while maintaining your custom resources
-
Monitor the Upgrade
- The upgrade progress will be displayed in the
OperatorHub interface
- You can also check the status in the
tekton-operator namespace:
$ kubectl get pods -n tekton-operator
When all pods are in Running state, the operator upgrade is complete.
The operator will then automatically upgrade components such as Pipelines, Triggers, Hub, Chains, etc.
- Check the components upgrade status:
$ kubectl get tektoninstallerset -A
$ kubectl get pods -n tekton-pipelines
When all components and pods are in Ready state, the components upgrade is complete.
-
Verify the Upgrade
- Check that the
Alauda DevOps Pipelines Operator version has been updated:
$ kubectl get csv -n tekton-operator
NAME DISPLAY VERSION REPLACES PHASE
tektoncd-operator.v4.x.x Alauda DevOps Pipelines 4.x.x x Succeeded
When the VERSION matches the new version, the upgrade is complete.
- Verify that your Tekton components are functioning correctly
- Test that your pipelines can run successfully
Using kubectl CLI
You can also upgrade the Alauda DevOps Pipelines Operator using the command line interface. This method is useful for automation or when you prefer CLI-based operations.
-
Check Current Subscription
- First, identify the current subscription and its channel:
$ kubectl get subscriptions.operators.coreos.com -A | grep tektoncd-operator
NAMESPACE NAME PACKAGE SOURCE CHANNEL
tekton-operator tektoncd-operator tektoncd-operator platform latest
-
Switch to Target Channel
- If you need to upgrade to a version in a different channel, patch the subscription:
$ kubectl patch subscriptions.operators.coreos.com tektoncd-operator --type merge -p '{"spec":{"channel": "<target-channel>"}}' -n tekton-operator
Replace <target-channel> with the desired channel (e.g., pipelines-4.1, latest).
-
Wait for UpgradePending State
- Monitor the subscription status until it shows
UpgradePending:
$ kubectl get subscriptions.operators.coreos.com tektoncd-operator -n tekton-operator -o yaml
status:
installplan:
apiVersion: operators.coreos.com/v1alpha1
kind: InstallPlan
name: install-abc123
state: UpgradePending
Look for the state: UpgradePending in the output.
-
Approve the InstallPlan
-
When the subscription is in UpgradePending state, find the corresponding InstallPlan:
$ kubectl get installplan -n tekton-operator
NAME CSV APPROVAL APPROVED
install-abc123 tektoncd-operator.v4.x.x Manual false
-
Approve the InstallPlan by setting the approved field to true:
$ kubectl patch installplans.operators.coreos.com <installplan-name> --type merge -p '{"spec":{"approved":true}}' -n tekton-operator
Replace <installplan-name> with the actual InstallPlan name from the previous step.
-
Monitor the Upgrade Progress
-
Watch the subscription status until it becomes ready:
$ kubectl get subscriptions.operators.coreos.com tektoncd-operator -n tekton-operator -o yaml -w
-
Check the operator pods status:
$ kubectl get pods -n tekton-operator
Wait until all pods are in Running state.
-
Verify the Upgrade
- Confirm the operator version has been updated:
$ kubectl get csv -n tekton-operator
NAME DISPLAY VERSION REPLACES PHASE
tektoncd-operator.v4.x.x Alauda DevOps Pipelines 4.x.x x Succeeded
-
Monitor Component Upgrades
- The operator will automatically upgrade Tekton components. Monitor their progress:
$ kubectl get tektoninstallerset -A
$ kubectl get pods -n tekton-pipelines
Ensure all components and pods reach Ready state.
NOTE
The CLI upgrade process follows the same underlying mechanism as the GUI method. The main difference is that you manually control the channel switching and InstallPlan approval steps.
Post-Upgrade Steps
After the upgrade completes successfully:
-
Verify Component Status
- Check that all Tekton components have been updated:
kubectl get tektonconfig,tektonpipeline,tektontrigger -A
kubectl get tektoninstallerset -A
-
Test Functionality
- Run a simple pipeline to verify that the system is working correctly
- Ensure that all existing integrations continue to function
-
Update Custom Resources if Needed
- If the new version introduces changes to CRDs, you may need to update your custom resources
- Refer to the release notes for specific migration steps
Rollback Procedure
If you encounter issues with the new version, you can roll back to the previous version:
- Return to the
Marketplace/OperatorHub interface
- Select the
Alauda DevOps Pipelines Operator
Uninstall the current version
- Choose the previous version from the version list
- Follow the installation process for that version
NOTE
Downgrading may require additional steps to ensure compatibility of your resources with the older version.
This depends on the differences between the version you upgraded from and the version you upgraded to. If the differences are large, you may need to manually migrate resources.
Troubleshooting
If you encounter issues during or after the upgrade:
-
Check the Alauda DevOps Pipelines Operator pod logs:
$ kubectl logs -l name=tekton-operator -n tekton-operator
-
Verify the status of your Tekton resources:
$ kubectl get tektonconfig config -o yaml
-
Ensure that all components have the expected status:
$ kubectl get tektoninstallerset
Next Steps
After successfully upgrading the Alauda DevOps Pipelines Operator:
- Explore new features introduced in the latest version
- Update your CI/CD pipelines to leverage new capabilities
- Consider enabling additional components that may be available in the new version