Configure Portworx Backup for S3
Learn how to configure Portworx Backup with an S3 object store secured using TLS. This topic outlines the process of adding S3 object store certificates to your deployment, configuring custom CA certificates, and properly setting up the environment for secure backups. Whether you are deploying for the first time or updating an existing configuration, these steps ensure a seamless integration with TLS-enabled S3 storage.
You will also find instructions on setting up OpenShift routes to access the Portworx Backup web interface securely and details on managing related services like Keycloak and Grafana through a unified endpoint. This guide is tailored for users prioritizing secure data handling in their cloud-native environments.
Configure Portworx Backup
To configure the Portworx Backup deployment specification:
-
Create a secret in the namespace (where you are planning to deploy or already deployed Portworx Backup) with the S3 object store certificate, assuming the file
public.crtcontains the certificate:kubectl create ns <pxb-namespace>kubectl -n <pxb-namespace> create secret generic px-s3-certs --from-file=public.crt -
Set the following parameter with the installation or upgrade command with helm:
--set caCertsSecretName=px-s3-certsAbove command adds the parameter
SSL_CERT_DIRto the backup deployment.If you have added this parameter manually, delete the cronjob and then restart the Portworx Backup pod by executing the following commands:
kubectl -n <pxb-namespace> get cronjob | grep ^full-main | awk '{print $1}' | xargs kubectl -n <pxb-namespace> delete cronjobkubectl -n <pxb-namespace> get cronjob | grep ^quick-main | awk '{print $1}' | xargs kubectl -n <pxb-namespace> delete cronjobkubectl delete pods -n <pxb-namespace> <px-backup-pod-name>Example:
kubectl -n px-backup get cronjob | grep ^full-main | awk '{print $1}' | xargs kubectl -n px-backup delete cronjobkubectl -n px-backup get cronjob | grep ^quick-main | awk '{print $1}' | xargs kubectl -n px-backup delete cronjobkubectl delete pods -n px-backup px-backup-f56cdcbd9-rvb65Here
px-backupis the namespace where you have deployed Portworx Backup.For more information on installation and upgrade of Portworx Backup, refer to Install Portworx Backup and Upgrade Portworx Backup sections respectively.
Alternatively, you can configure Portworx Backup by creating a secret on the same namespace where you deploy Portworx Backup, and set the caCertsSecretName parameter:
-
Configure custom CA certificate:
a. Create a secret with CA certificates into the release namespace.
For example:apiVersion: v1kind: Secrettype: OpaquestringData:ca.crt: |-----BEGIN CERTIFICATE-----MIIEczCCA1ugAwIBAgIBADANBgkqhkiG9w0BAQQFAD..AkGA1UEBhMCR0IxEzARBgNVBAgTClNvbWUtU3RhdGUxFDASBgNVBAoTC0..0EgTHRkMTcwNQYDVQQLEy5DbGFzcyAxIFB1YmxpYyBQcmltYXJ5IENlcn..XRpb24gQXV0aG9yaXR5MRQwEgYDVQQDEwtCZXN0IENBIEx0ZDAeFw0wMD..TUwMTZaFw0wMTAyMDQxOTUwMTZaMIGHMQswCQYDVQQGEwJHQjETMBEGA1..29tZS1TdGF0ZTEUMBIGA1UEChMLQmVzdCBDQSBMdGQxNzA1BgNVBAsTLk..DEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxFD..AMTC0Jlc3QgQ0EgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCg..Tz2mr7SZiAMfQyuvBjM9OiJjRazXBZ1BjP5CE/Wm/Rr500PRK+Lh9x5eJ../ANBE0sTK0ZsDGMak2m1g7oruI3dY3VHqIxFTz0Ta1d+NAjwnLe4nOb7/..k05ShhBrJGBKKxb8n104o/5p8HAsZPdzbFMIyNjJzBM2o5y5A13wiLitE..fyYkQzaxCw0AwzlkVHiIyCuaF4wj571pSzkv6sv+4IDMbT/XpCo8L6wTa..sh+etLD6FtTjYbbrvZ8RQM1tlKdoMHg2qxraAV++HNBYmNWs0duEdjUbJ..XI9TtnS4o1Ckj7POfljiQIDAQABo4HnMIHkMB0GA1UdDgQWBBQ8urMCRL..5AkIp9NJHJw5TCBtAYDVR0jBIGsMIGpgBQ8urMCRLYYMHUKU5AkIp9NJH..aSBijCBhzELMAkGA1UEBhMCR0IxEzARBgNVBAgTClNvbWUtU3RhdGUxFD..AoTC0Jlc3QgQ0EgTHRkMTcwNQYDVQQLEy5DbGFzcyAxIFB1YmxpYyBQcm..ENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRQwEgYDVQQDEwtCZXN0IENBIE..DAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBAUAA4IBAQC1uYBcsSncwA..DCsQer772C2ucpXxQUE/C0pWWm6gDkwd5D0DSMDJRqV/weoZ4wC6B73f5..bLhGYHaXJeSD6KrXcoOwLdSaGmJYslLKZB3ZIDEp0wYTGhgteb6JFiTtn..sf2xdrYfPCiIB7gBMAV7Gzdc4VspS6ljrAhbiiawdBiQlQmsBeFz9JkF4..b3l8BoGN+qMa56YIt8una2gY4l2O//on88r5IWJlm1L0oA8e4fR2yrBHX..adsGeFKkyNrwGi/7vQMfXdGsRrXNGRGnX+vWDZ3/zWI0joDtCkNnqEpVn..HoX-----END CERTIFICATE-----kind: Secretmetadata:name: ca-certsnamespace: px-backupb. Pass the secret name to the chart using
--set caCertsSecretName=<SECRET_NAME>flag. -
Expose Portworx Backup user interface on openshift routes and access using
httpandhttps:a. Create a single route with hostname and path
/and point it to thepx-central-uiservice.
b. Access Portworx Backup web console using route endpoint.noteKeycloak authentication and Grafana UI are accessible on the same endpoint on different paths:
/authand/grafana.