> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cockroachlabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Deployment & Operations Skills Taxonomy

This document outlines the foundational skills required to deploy and operate CockroachDB in production environments.

The skills are organized into sections based on the following operational domains:

* [Infrastructure configuration](#infrastructure-configuration)
* [Security](#security)
* [Cluster maintenance](#cluster-maintenance)
* [Troubleshooting](#troubleshooting)
* [Disaster recovery](#disaster-recovery)

Each section includes links to relevant documentation for the listed skills.

> [!TIP]
>
> Cockroach Labs offers [Professional Services](https://www.cockroachlabs.com/company/professional-services/) that can assist you with getting applications into production faster and more efficiently.

## Infrastructure configuration

This section covers how to ensure that your hardware and network are properly configured to meet the performance and connectivity requirements of CockroachDB.

* [Verify vCPU, RAM, storage, and disk IOPS performance](/docs/stable/recommended-production-settings.md#hardware)
* [Configure time synchronization with NTP server](/docs/stable/deploy-cockroachdb-on-premises.md#step-1-synchronize-clocks)
* [Validate network connectivity](/docs/stable/cluster-setup-troubleshooting.md#tcp-connection-lingering)

## Security

This section covers how to secure a CockroachDB deployment, including certificate management, load balancing setup, role-based access control, and data encryption.

* [Create and distribute certificates; initialize cluster](/docs/stable/deploy-cockroachdb-on-premises.md#step-2-generate-certificates)
* [Configure load balancer and direct a workload](/docs/stable/deploy-cockroachdb-on-premises.md#step-6-set-up-load-balancing)
* [Configure RBAC](/docs/stable/security-reference/authorization.md)
* [Encryption at rest](/docs/stable/encryption.md)

## Cluster maintenance

This section covers how to manage the lifecycle of CockroachDB nodes, including adding and removing nodes, handling outages, performing upgrades or downgrades, and modifying cluster settings.

* [Shut down a node gracefully](/docs/stable/node-shutdown.md)
* [Handle unplanned node outages](/docs/stable/recommended-production-settings.md#load-balancing)
* [Add nodes](/docs/stable/cockroach-start.md#add-a-node-to-a-cluster)
* [Remove nodes](/docs/stable/node-shutdown.md?filters=decommission#remove-nodes)
* [Add a region](/docs/stable/alter-database.md#add-regions-to-a-database)
* [Remove a region](/docs/stable/alter-database.md#drop-region)
* [Rolling upgrades](/docs/stable/upgrade-cockroach-version.md#perform-a-patch-upgrade)
* Downgrade a cluster from a [patch version](/docs/stable/upgrade-cockroach-version.md#roll-back-a-patch-upgrade)
* Downgrade a cluster from a [major version](/docs/stable/upgrade-cockroach-version.md#roll-back-a-major-version-upgrade)
* [Change a cluster setting](/docs/stable/cluster-settings.md#change-a-cluster-setting)
* Repave a cluster: cluster repaving involves the following individual skills, which are also used during [rolling upgrades](/docs/stable/upgrade-cockroach-version.md#perform-a-patch-upgrade):
  1. [Shut down a node gracefully](/docs/stable/node-shutdown.md)
  2. Detach the [persistent volume](/docs/stable/kubernetes-overview.md#kubernetes-terminology) (a.k.a. persistent disk) from the removed node's virtual machine (VM) (this step is optional but recommended)
  3. Delete the removed node's VM
  4. Start a new VM
  5. Reattach the persistent disk to the new VM (necessary if you did step #2)
  6. [Add a node to the cluster](/docs/stable/cockroach-start.md#add-a-node-to-a-cluster) from the new VM

## Troubleshooting

This section contains a list of common issues related to SQL performance, cluster stability, memory usage, load balancing, and changefeed lag.

* [SQL response time for specific queries](/docs/stable/query-behavior-troubleshooting.md#query-issues)
* [SQL throughput degradation across the board](/docs/stable/query-behavior-troubleshooting.md#low-throughput)
* [Cluster instability: Dead/suspect nodes](/docs/stable/cluster-setup-troubleshooting.md#node-liveness-issues)
* [Out of memory (OOM) problems](/docs/stable/cluster-setup-troubleshooting.md#out-of-memory-oom-crash)
* [Imbalanced cluster load](/docs/stable/architecture/replication-layer.md#load-based-replica-rebalancing)
* [End of file (EOF) errors](/docs/stable/cluster-setup-troubleshooting.md#client-connection-issues)
* [Changefeed is falling behind](/docs/stable/advanced-changefeed-configuration.md#lagging-ranges)
* [Gather diagnostic data from a "debug zip" file](/docs/stable/cockroach-debug-zip.md)
* [Collect timeseries diagnostic data from a "tsdump" file](/docs/stable/cockroach-debug-tsdump.md)

## Disaster recovery

This section covers how to set up and manage backup and restore of your cluster to ensure data recovery in case of failures.

* [Create AWS IAM access key](/docs/stable/cloud-storage-authentication.md)
* [Create S3 bucket for backup data](/docs/stable/use-cloud-storage.md#amazon-s3-storage-classes)
* [Full cluster backup to S3](/docs/stable/take-full-and-incremental-backups.md#full-backups)
* [Incremental backup to S3](/docs/stable/take-full-and-incremental-backups.md#incremental-backups)
* [Cluster restore from AWS S3](/docs/stable/restore.md#restore-a-cluster)

## See also

* [Production Checklist](/docs/stable/recommended-production-settings.md)
* [Manual Deployment](/docs/stable/manual-deployment.md)
* [Deploy a Local Cluster from Binary (Secure)](/docs/stable/secure-a-cluster.md)
* [SQL Performance Best Practices](/docs/stable/performance-best-practices-overview.md)
* [Performance Tuning Recipes](/docs/stable/performance-recipes.md)
* [Troubleshoot Self-Hosted Setup](/docs/stable/cluster-setup-troubleshooting.md)
