NetBackup™ Deployment Guide for Kubernetes Clusters
- Introduction
- Section I. Configurations
- Prerequisites
- Recommendations and Limitations
- Configurations
- Configuration of key parameters in Cloud Scale deployments
- Section II. Deployment
- Section III. Monitoring and Management
- Monitoring NetBackup
- Monitoring Snapshot Manager
- Monitoring MSDP Scaleout
- Managing NetBackup
- Managing the Load Balancer service
- Managing PostrgreSQL DBaaS
- Performing catalog backup and recovery
- Managing MSDP Scaleout
- Section IV. Maintenance
- MSDP Scaleout Maintenance
- PostgreSQL DBaaS Maintenance
- Patching mechanism for Primary and Media servers
- Upgrading
- Cloud Scale Disaster Recovery
- Uninstalling
- Troubleshooting
- Troubleshooting AKS and EKS issues
- Troubleshooting AKS-specific issues
- Troubleshooting EKS-specific issues
- Troubleshooting AKS and EKS issues
- Appendix A. CR template
Patching of containers
This section describes the procedure for patching of the following containers (listed with examples):
Primary (main) containers
For example,
netbackup/main:10.4-patch
Media containers
For example,
netbackup/media:10.4-patch
Poddependency-init containers
For example,
netbackup/operator:10.4-patch
To patch the main, media and poddependency-init container
- Use the following command to obtain the environment name:
$ kubectl get environments -n <namespace>
- Depending on the container, use the following respective command to verify if serviceImageTag is present:
For primary container:
$ kubectl get environment -n <namespace> -o=jsonpath='{$.items[0].spec.primary.serviceImageTag}'
For media container:
$ kubectl get environment -n <namespace> -o=jsonpath='{$.items[0].spec.mediaServers[0].serviceImageTag}'
For poddependency-init container:
$ kubectl get environment -n <namespace> -o=jsonpath='{$.items[0].spec.mediaServers[0].serviceImageTag}'
Depending on the output perform one of the following:
If serviceImageTag is present, then run the following command by changing the value field. For example, change
10.4-patch
to the required image tag:For primary container:
$ kubectl patch environment <env-name> -n <namespace> --type=json --patch '[{"op": "replace", "path": "/spec/primary/serviceImageTag/primary.main", "value": "10.4-patch"}]'
For media container:
$ kubectl patch environment <env-name> -n <namespace> --type=json --patch '[{"op": "replace", "path": "/spec/mediaServers/0/serviceImageTag/media.main", "value": "10.4-patch"}]'
For poddependency-init container:
$ kubectl patch environment <env-name> -n <namespace> --type=json --patch '[{"op": "replace", "path": "/spec/mediaServers/0/serviceImageTag/media.pod-dependency-init", "value": "10.4-patch"}]'
Or
If serviceImageTag is not present, then run the following command by changing the value field. For example, change
10.4-patch
to the required image tag:For primary container:
$ kubectl patch environment <env-name> -n <namespace> --type=json --patch '[{"op": "replace", "path": "/spec/primary/serviceImageTag", "value": {}},{"op": "replace", "path": "/spec/primary/serviceImageTag/primary.main", "value": "10.4-patch"}]'
For media container:
$ kubectl patch environment nbu -n netbackup --type=json --patch '[{"op": "replace", "path": "/spec/mediaServers/0/serviceImageTag", "value": {}},{"op": "replace", "path": "/spec/mediaServers/0/serviceImageTag/media.main", "value": "10.4-patch"}]'
For poddependency-init container:
$ kubectl patch environment <env-name> -n <namespace> --type=json --patch '[{"op": "replace", "path": "/spec/mediaServers/0/serviceImageTag", "value": {}},{"op": "replace", "path": "/spec/mediaServers/0/serviceImageTag/media.pod-dependency-init", "value": "10.4-patch"}]'