此内容没有您所选择的语言版本。

Chapter 8. Backup and disaster recovery


This section describes aspects of the CodeReady Workspaces backup and disaster recovery.

8.1. External database setup

The PostgreSQL database is used by the CodeReady Workspaces server for persisting data about the state of CodeReady Workspaces. It contains information about user accounts, workspaces, preferences, and other details.

By default, the CodeReady Workspaces Operator creates and manages the database deployment.

However, the CodeReady Workspaces Operator does not support full life-cycle capabilities, such as backups and recovery.

For a business-critical setup, configure an external database with the following recommended disaster-recovery options:

  • High Availability (HA)
  • Point In Time Recovery (PITR)

Configure an external PostgreSQL instance on-premises or use a cloud service, such as Amazon Relational Database Service (Amazon RDS). With Amazon RDS, it is possible to deploy production databases in a Multi-Availability Zone configuration for a resilient disaster recovery strategy with daily and on-demand snapshots.

The recommended configuration of the example database is:

Expand
ParameterValue

Instance class

db.t2.small

vCPU

1

RAM

2 GB

Multi-az

true, 2 replicas

Engine version

9.6.11

TLS

enabled

Automated backups

enabled (30 days)

8.1.1. Configuring external PostgreSQL

Procedure

  1. Use the following SQL script to create user and database for the CodeReady Workspaces server to persist workspaces metadata etc:

    CREATE USER <database-user> WITH PASSWORD '<database-password>' 
    1
     
    2
    
    CREATE DATABASE <database>                                      
    3
    
    GRANT ALL PRIVILEGES ON DATABASE <database> TO <database-user>
    ALTER USER <database-user> WITH SUPERUSER
    Copy to Clipboard Toggle word wrap
    1
    CodeReady Workspaces server database username
    2
    CodeReady Workspaces server database password
    3
    CodeReady Workspaces server database name
  2. Use the following SQL script to create database for RH-SSO back end to persist user information:

    CREATE USER <identity-database-user> WITH PASSWORD '<identity-database-password>' 
    1
     
    2
    
    CREATE DATABASE <identity-database>                                               
    3
    
    GRANT ALL PRIVILEGES ON DATABASE <identity-database> TO <identity-database-user>
    Copy to Clipboard Toggle word wrap
    1
    RH-SSO database username
    2
    RH-SSO database password
    3
    RH-SSO database name

Prerequisites

  • The oc tool is available.

Procedure

  1. Pre-create a project for CodeReady Workspaces:

    $ oc create namespace workspaces
    Copy to Clipboard Toggle word wrap
  2. Create a secret to store CodeReady Workspaces server database credentials:

    $ oc create secret generic <server-database-credentials> \ 
    1
    
    --from-literal=user=<database-user> \                            
    2
    
    --from-literal=password=<database-password> \                    
    3
    
    -n workspaces
    Copy to Clipboard Toggle word wrap
    1
    Secret name to store CodeReady Workspaces server database credentials
    2
    CodeReady Workspaces server database username
    3
    CodeReady Workspaces server database password
  3. Create a secret to store RH-SSO database credentials:

    $ oc create secret generic <identity-database-credentials> \ 
    1
    
    --from-literal=user=<identity-database-user> \                     
    2
    
    --from-literal=password=<identity-database-password> \             
    3
    
    -n workspaces
    Copy to Clipboard Toggle word wrap
    1
    Secret name to store RH-SSO database credentials
    2
    RH-SSO database username
    3
    RH-SSO database password
  4. To make the Operator skip deploying a database and pass connection details of an existing database to a CodeReady Workspaces server set the following values in the Custom Resource:

    spec:
      database:
        externalDb: true
        chePostgresHostName: <hostname>                     
    1
    
        chePostgresPort: <port>                             
    2
    
        chePostgresSecret: <server-database-credentials>    
    3
    
        chePostgresDb: <database>                           
    4
    
    spec:
      auth:
        identityProviderPostgresSecret: <identity-database-credentials> 
    5
    Copy to Clipboard Toggle word wrap
    1
    External database hostname
    2
    External database port
    3
    Secret name with CodeReady Workspaces server database credentials
    4
    CodeReady Workspaces server database username
    5
    Secret name with RH-SSO database credentials

Additional resources

8.2. Persistent Volumes backups

Persistent Volumes (PVs) store the CodeReady Workspaces workspace data similarly to how workspace data is stored for desktop IDEs on the local hard disk drive.

To prevent data loss, back up PVs periodically. The recommended approach is to use storage-agnostic tools for backing up and restoring OpenShift resources, including PVs.

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat