From ced0f34e2bf9272b85f5bd159eaa7ab7c6f965e3 Mon Sep 17 00:00:00 2001 From: Peach Leach Date: Thu, 26 Feb 2026 15:29:29 -0500 Subject: [PATCH 1/3] Delete 5 files --- src/current/_data/redirects.yml | 17 +++ .../deploy-cockroachdb-on-aws-insecure.md | 122 --------------- ...y-cockroachdb-on-digital-ocean-insecure.md | 110 -------------- ...achdb-on-google-cloud-platform-insecure.md | 133 ----------------- ...cockroachdb-on-microsoft-azure-insecure.md | 140 ------------------ ...deploy-cockroachdb-on-premises-insecure.md | 103 ------------- 6 files changed, 17 insertions(+), 608 deletions(-) delete mode 100644 src/current/v26.1/deploy-cockroachdb-on-aws-insecure.md delete mode 100644 src/current/v26.1/deploy-cockroachdb-on-digital-ocean-insecure.md delete mode 100644 src/current/v26.1/deploy-cockroachdb-on-google-cloud-platform-insecure.md delete mode 100644 src/current/v26.1/deploy-cockroachdb-on-microsoft-azure-insecure.md delete mode 100644 src/current/v26.1/deploy-cockroachdb-on-premises-insecure.md diff --git a/src/current/_data/redirects.yml b/src/current/_data/redirects.yml index 55fa31f4501..5326f0379c6 100644 --- a/src/current/_data/redirects.yml +++ b/src/current/_data/redirects.yml @@ -1082,5 +1082,22 @@ sources: ['orchestrate-a-local-cluster-with-kubernetes.md', 'orchestrate-a-local-cluster-with-kubernetes-insecure.md'] versions: ['v26.1'] +- destination: deploy-cockroachdb-on-premises.md + sources: ['deploy-cockroachdb-on-premises-insecure.md'] + versions: ['v26.1'] + +- destination: deploy-cockroachdb-on-aws.md + sources: ['deploy-cockroachdb-on-aws-insecure.md'] + versions: ['v26.1'] +- destination: deploy-cockroachdb-on-microsoft-azure.md + sources: ['deploy-cockroachdb-on-microsoft-azure-insecure.md'] + versions: ['v26.1'] +- destination: deploy-cockroachdb-on-google-cloud-platform.md + sources: ['deploy-cockroachdb-on-google-cloud-platform-insecure.md'] + versions: ['v26.1'] + +- destination: deploy-cockroachdb-on-digital-ocean.md + sources: ['deploy-cockroachdb-on-digital-ocean-insecure.md'] + versions: ['v26.1'] diff --git a/src/current/v26.1/deploy-cockroachdb-on-aws-insecure.md b/src/current/v26.1/deploy-cockroachdb-on-aws-insecure.md deleted file mode 100644 index 980e9dbfa9d..00000000000 --- a/src/current/v26.1/deploy-cockroachdb-on-aws-insecure.md +++ /dev/null @@ -1,122 +0,0 @@ ---- -title: Deploy CockroachDB on AWS EC2 (Insecure) -summary: Learn how to deploy CockroachDB on Amazon's AWS EC2 platform. -toc: true -toc_not_nested: true -ssh-link: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html -docs_area: ---- - -{% include {{ page.version.version }}/filter-tabs/deploy-crdb-aws.md %} - -This page shows you how to manually deploy an insecure multi-node CockroachDB cluster on Amazon's AWS EC2 platform, using AWS's managed load balancing service to distribute client traffic. - -{% include {{ page.version.version }}/prod-deployment/insecure-flag.md %} - -{% include cockroachcloud/use-cockroachcloud-instead.md %} - -## Before you begin - -### Requirements - -{% include {{ page.version.version }}/prod-deployment/insecure-requirements.md %} - -### Recommendations - -{% include {{ page.version.version }}/prod-deployment/insecure-recommendations.md %} - -- All Amazon EC2 instances running CockroachDB should be members of the same [security group](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html). - -## Step 1. Create instances - -Open the [Amazon EC2 console](https://console.aws.amazon.com/ec2/) and [launch an instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/launching-instance.html#launch-instance-console) for each node you plan to have in your cluster. If you plan to [run our sample workload](#step-8-run-a-sample-workload) against the cluster, create a separate instance for that workload. - -- Run at least 3 nodes to ensure survivability. - -- Your instances will rely on Amazon Time Sync Service for clock synchronization. When choosing an AMI, note that some machines are preconfigured to use Amazon Time Sync Service (e.g., Amazon Linux AMIs) and others are not. - -- Use `m5` instances, ranging from `m5.xlarge` to `m5.8xlarge`, with SSD-backed [EBS volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html). To simulate bare-metal deployments, use `m5d` with [SSD Instance Store volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html). `m5a`, `m6i`, and `m6a` instances are also acceptable. - - - **Do not** use ["burstable" `t2` instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-instances.html), which limit the load on a single core. - -- Note the ID of the VPC you select. You will need to look up its IP range when setting inbound rules for your security group. - -- Make sure all your instances are in the same security group. - - - If you are creating a new security group, add the [inbound rules](#step-2-configure-your-network) from the next step. Otherwise note the ID of the security group. - -For more details, see [Hardware Recommendations]({% link {{ page.version.version }}/recommended-production-settings.md %}#hardware) and [Cluster Topology]({% link {{ page.version.version }}/recommended-production-settings.md %}#topology). - -## Step 2. Configure your network - -[Add Custom TCP inbound rules](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#adding-security-group-rule) to your security group to allow TCP communication on two ports: - -- `26257` for inter-node and client-node communication. This enables the nodes to work as a cluster, the load balancer to route traffic to the nodes, and applications to connect to the load balancer. -- `8080` for exposing the DB Console to the user, and for routing the load balancer to the health check endpoint. - -{% include {{ page.version.version }}/prod-deployment/aws-inbound-rules.md %} - -## Step 3. Synchronize clocks - -{% include {{ page.version.version }}/prod-deployment/synchronize-clocks.md %} - -## Step 4. Set up load balancing - -Each CockroachDB node is an equally suitable SQL gateway to your cluster, but to ensure client performance and reliability, it's important to use load balancing: - -- **Performance:** Load balancers spread client traffic across nodes. This prevents any one node from being overwhelmed by requests and improves overall cluster performance (queries per second). - -- **Reliability:** Load balancers decouple client health from the health of a single CockroachDB node. In cases where a node fails, the load balancer redirects client traffic to available nodes. - -AWS offers fully-managed load balancing to distribute traffic between instances. - -1. [Add AWS load balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancer-getting-started.html). Be sure to: - - Select a **Network Load Balancer** and use the ports we specify below. - - Select the VPC and *all* availability zones of your instances. This is important, as you cannot change the availability zones once the load balancer is created. The availability zone of an instance is determined by its subnet, found by inspecting the instance in the Amazon EC2 Console. - - Set the load balancer port to **26257**. - - Create a new target group that uses TCP port **26257**. Traffic from your load balancer is routed to this target group, which contains your instances. - - Configure health checks to use HTTP port **8080** and path `/health?ready=1`. This [health endpoint]({% link {{ page.version.version }}/monitoring-and-alerting.md %}#health-ready-1) ensures that load balancers do not direct traffic to nodes that are live but not ready to receive requests. - - Register your instances with the target group you created, specifying port **26257**. You can add and remove instances later. -1. To test load balancing and connect your application to the cluster, you will need the provisioned internal (private) **IP address** for the load balancer. To find this, open the Network Interfaces section of the Amazon EC2 console and look up the load balancer by its name. - -{{site.data.alerts.callout_info}}If you would prefer to use HAProxy instead of AWS's managed load balancing, see the On-Premises tutorial for guidance.{{site.data.alerts.end}} - -## Step 5. Start nodes - -{% include {{ page.version.version }}/prod-deployment/insecure-start-nodes.md %} - -## Step 6. Initialize the cluster - -{% include {{ page.version.version }}/prod-deployment/insecure-initialize-cluster.md %} - -## Step 7. Test the cluster - -{% include {{ page.version.version }}/prod-deployment/insecure-test-cluster.md %} - -## Step 8. Run a sample workload - -{% include {{ page.version.version }}/prod-deployment/insecure-test-load-balancing.md %} - -## Step 9. Monitor the cluster - -In the Target Groups section of the Amazon EC2 console, [check the health](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/target-group-health-checks.html) of your instances by inspecting your target group and opening the Targets tab. - -{% include {{ page.version.version }}/prod-deployment/monitor-cluster.md %} - -## Step 10. Scale the cluster - -Before adding a new node, [create a new instance](#step-1-create-instances) as you did earlier. - -{% include {{ page.version.version }}/prod-deployment/insecure-scale-cluster.md %} - -## Step 11. Use the cluster - -Now that your deployment is working, you can: - -1. [Implement your data model]({% link {{ page.version.version }}/sql-statements.md %}). -1. [Create users]({% link {{ page.version.version }}/authorization.md %}) and [grant them privileges]({% link {{ page.version.version }}/grant.md %}). -1. [Connect your application]({% link {{ page.version.version }}/install-client-drivers.md %}). Be sure to connect your application to the AWS load balancer, not to a CockroachDB node. - -## See also - -{% include {{ page.version.version }}/prod-deployment/prod-see-also.md %} diff --git a/src/current/v26.1/deploy-cockroachdb-on-digital-ocean-insecure.md b/src/current/v26.1/deploy-cockroachdb-on-digital-ocean-insecure.md deleted file mode 100644 index 3a01edb993d..00000000000 --- a/src/current/v26.1/deploy-cockroachdb-on-digital-ocean-insecure.md +++ /dev/null @@ -1,110 +0,0 @@ ---- -title: Deploy CockroachDB on Digital Ocean (Insecure) -summary: Learn how to deploy a CockroachDB cluster on Digital Ocean. -toc: true -toc_not_nested: true -ssh-link: https://www.digitalocean.com/community/tutorials/how-to-connect-to-your-droplet-with-ssh -docs_area: ---- - -{% include {{ page.version.version }}/filter-tabs/deploy-crdb-do.md %} - -This page shows you how to deploy an insecure multi-node CockroachDB cluster on Digital Ocean, using Digital Ocean's managed load balancing service to distribute client traffic. - -{% include {{ page.version.version }}/prod-deployment/insecure-flag.md %} - -{% include cockroachcloud/use-cockroachcloud-instead.md %} - -## Before you begin - -### Requirements - -{% include {{ page.version.version }}/prod-deployment/insecure-requirements.md %} - -### Recommendations - -{% include {{ page.version.version }}/prod-deployment/insecure-recommendations.md %} - -- If all of your CockroachDB nodes and clients will run on Droplets in a single region, consider using [private networking](https://docs.digitalocean.com/products/networking/vpc/how-to/create/). - -## Step 1. Create Droplets - -[Create Droplets](https://www.digitalocean.com/community/tutorials/how-to-create-your-first-digitalocean-droplet) for each node you plan to have in your cluster. If you plan to run a sample workload against the cluster, create a separate droplet for that workload. - -- Run at least 3 nodes to [ensure survivability]({% link {{ page.version.version }}/recommended-production-settings.md %}#topology). - -- Use any [droplets](https://www.digitalocean.com/pricing/) except standard droplets with only 1 GB of RAM, which is below our minimum requirement. All Digital Ocean droplets use SSD storage. - -For more details, see [Hardware Recommendations]({% link {{ page.version.version }}/recommended-production-settings.md %}#hardware) and [Cluster Topology]({% link {{ page.version.version }}/recommended-production-settings.md %}#topology). - -## Step 2. Synchronize clocks - -{% include {{ page.version.version }}/prod-deployment/synchronize-clocks.md %} - -## Step 3. Set up load balancing - -Each CockroachDB node is an equally suitable SQL gateway to your cluster, but to ensure client performance and reliability, it's important to use load balancing: - -- **Performance:** Load balancers spread client traffic across nodes. This prevents any one node from being overwhelmed by requests and improves overall cluster performance (queries per second). - -- **Reliability:** Load balancers decouple client health from the health of a single CockroachDB node. In cases where a node fails, the load balancer redirects client traffic to available nodes. - -Digital Ocean offers fully-managed load balancers to distribute traffic between Droplets. - -1. [Create a Digital Ocean Load Balancer](https://www.digitalocean.com/community/tutorials/an-introduction-to-digitalocean-load-balancers). Be sure to: - - Set forwarding rules to route TCP traffic from the load balancer's port **26257** to port **26257** on the node Droplets. - - Configure health checks to use HTTP port **8080** and path `/health?ready=1`. This [health endpoint]({% link {{ page.version.version }}/monitoring-and-alerting.md %}#health-ready-1) ensures that load balancers do not direct traffic to nodes that are live but not ready to receive requests. -1. Note the provisioned **IP Address** for the load balancer. You'll use this later to test load balancing and to connect your application to the cluster. - -{{site.data.alerts.callout_info}}If you would prefer to use HAProxy instead of Digital Ocean's managed load balancing, see the On-Premises tutorial for guidance.{{site.data.alerts.end}} - -## Step 4. Configure your network - -Set up a firewall for each of your Droplets, allowing TCP communication on the following two ports: - -- **26257** (`tcp:26257`) for inter-node communication (i.e., working as a cluster), for applications to connect to the load balancer, and for routing from the load balancer to nodes -- **8080** (`tcp:8080`) for exposing your DB Console - -For guidance, you can use Digital Ocean's guide to configuring firewalls based on the Droplet's OS: - -- Ubuntu and Debian can use [`ufw`](https://www.digitalocean.com/community/tutorials/how-to-setup-a-firewall-with-ufw-on-an-ubuntu-and-debian-cloud-server). -- FreeBSD can use [`ipfw`](https://www.digitalocean.com/community/tutorials/recommended-steps-for-new-freebsd-10-1-servers). -- Fedora can use [`iptables`](https://www.digitalocean.com/community/tutorials/initial-setup-of-a-fedora-22-server). -- CoreOS can use [`iptables`](https://www.digitalocean.com/community/tutorials/how-to-secure-your-coreos-cluster-with-tls-ssl-and-firewall-rules). -- CentOS can use [`firewalld`](https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-using-firewalld-on-centos-7). - -## Step 5. Start nodes - -{% include {{ page.version.version }}/prod-deployment/insecure-start-nodes.md %} - -## Step 6. Initialize the cluster - -{% include {{ page.version.version }}/prod-deployment/insecure-initialize-cluster.md %} - -## Step 7. Test the cluster - -{% include {{ page.version.version }}/prod-deployment/insecure-test-cluster.md %} - -## Step 8. Run a sample workload - -{% include {{ page.version.version }}/prod-deployment/insecure-test-load-balancing.md %} - -## Step 9. Monitor the cluster - -{% include {{ page.version.version }}/prod-deployment/monitor-cluster.md %} - -## Step 10. Scale the cluster - -{% include {{ page.version.version }}/prod-deployment/insecure-scale-cluster.md %} - -## Step 11. Use the cluster - -Now that your deployment is working, you can: - -1. [Implement your data model]({% link {{ page.version.version }}/sql-statements.md %}). -1. [Create users]({% link {{ page.version.version }}/authorization.md %}) and [grant them privileges]({% link {{ page.version.version }}/grant.md %}). -1. [Connect your application]({% link {{ page.version.version }}/install-client-drivers.md %}). Be sure to connect your application to the Digital Ocean Load Balancer, not to a CockroachDB node. - -## See also - -{% include {{ page.version.version }}/prod-deployment/prod-see-also.md %} diff --git a/src/current/v26.1/deploy-cockroachdb-on-google-cloud-platform-insecure.md b/src/current/v26.1/deploy-cockroachdb-on-google-cloud-platform-insecure.md deleted file mode 100644 index 9cd3389361e..00000000000 --- a/src/current/v26.1/deploy-cockroachdb-on-google-cloud-platform-insecure.md +++ /dev/null @@ -1,133 +0,0 @@ ---- -title: Deploy CockroachDB on Google Cloud Platform GCE (Insecure) -summary: Learn how to deploy CockroachDB on Google Cloud Platform's Compute Engine. -toc: true -toc_not_nested: true -ssh-link: https://cloud.google.com/compute/docs/instances/connecting-to-instance -docs_area: ---- - -{% include {{ page.version.version }}/filter-tabs/deploy-crdb-gce.md %} - -This page shows you how to manually deploy an insecure multi-node CockroachDB cluster on Google Cloud Platform's Compute Engine (GCE), using Google's TCP Proxy Load Balancing service to distribute client traffic. - -{% include {{ page.version.version }}/prod-deployment/insecure-flag.md %} - -{% include cockroachcloud/use-cockroachcloud-instead.md %} - -## Before you begin - -### Requirements - -{% include {{ page.version.version }}/prod-deployment/insecure-requirements.md %} - -- This article covers the use of Linux instances with GCE. You may wish to review the instructions for [connecting to Windows instances](https://cloud.google.com/compute/docs/instances/connecting-to-instance#windows). - -### Recommendations - -{% include {{ page.version.version }}/prod-deployment/insecure-recommendations.md %} - -## Step 1. Configure your network - -CockroachDB requires TCP communication on two ports: - -- `26257` for inter-node communication (i.e., working as a cluster) -- `8080` for exposing your DB Console - -To expose your DB Console and allow traffic from the TCP proxy load balancer and health checker to your instances, [create firewall rules](https://cloud.google.com/compute/docs/vpc/firewalls) for your project. When creating firewall rules, we recommend using Google Cloud Platform's **tag** feature to apply the rule only to instances with the same tag. - -#### DB Console - - Field | Recommended Value --------|------------------- - Name | **cockroachadmin** - Source filter | IP ranges - Source IP ranges | Your local network's IP ranges - Allowed protocols... | **tcp:8080** - Target tags | **cockroachdb** - -#### Application data - -Applications will not connect directly to your CockroachDB nodes. Instead, they'll connect to GCE's TCP Proxy Load Balancing service, which automatically routes traffic to the instances that are closest to the user. Because this service is implemented at the edge of the Google Cloud, you'll need to create a firewall rule to allow traffic from the load balancer and health checker to your instances. This is covered in [Step 4](#step-4-set-up-load-balancing). - -## Step 2. Create instances - -[Create an instance](https://cloud.google.com/compute/docs/instances/create-start-instance) for each node you plan to have in your cluster. If you plan to run a sample workload against the cluster, create a separate instance for that workload. - -- Run at least 3 nodes to [ensure survivability]({% link {{ page.version.version }}/recommended-production-settings.md %}#topology). - -{% include {{ page.version.version }}/prod-deployment/recommended-instances-gcp.md %} - -- If you used a tag for your firewall rules, when you create the instance, click **Management, security, disks, networking, sole tenancy**. Under the **Networking** tab, in the **Network tags** field, enter **cockroachdb**. - -For more details, see [Hardware Recommendations]({% link {{ page.version.version }}/recommended-production-settings.md %}#hardware) and [Cluster Topology]({% link {{ page.version.version }}/recommended-production-settings.md %}#topology). - -## Step 3. Synchronize clocks - -{% include {{ page.version.version }}/prod-deployment/synchronize-clocks.md %} - -## Step 4. Set up load balancing - -Each CockroachDB node is an equally suitable SQL gateway to your cluster, but to ensure client performance and reliability, it's important to use load balancing: - -- **Performance:** Load balancers spread client traffic across nodes. This prevents any one node from being overwhelmed by requests and improves overall cluster performance (queries per second). - -- **Reliability:** Load balancers decouple client health from the health of a single CockroachDB node. In cases where a node fails, the load balancer redirects client traffic to available nodes. - -GCE offers fully-managed [TCP Proxy Load Balancing](https://cloud.google.com/load-balancing/docs/tcp/). This service lets you use a single IP address for all users around the world, automatically routing traffic to the instances that are closest to the user. - -{{site.data.alerts.callout_danger}} -When using TCP Proxy Load Balancing, you cannot use firewall rules to control access to the load balancer. If you need such control, consider using [Network TCP Load Balancing](https://cloud.google.com/compute/docs/load-balancing/network/) instead, but note that it cannot be used across regions. You might also consider using the HAProxy load balancer (see the [On-Premises]({% link {{ page.version.version }}/deploy-cockroachdb-on-premises-insecure.md %}) tutorial for guidance). -{{site.data.alerts.end}} - -To use GCE's TCP Proxy Load Balancing service: - -1. For each zone in which you're running an instance, [create a distinct instance group](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-unmanaged-instances). - - To ensure that the load balancer knows where to direct traffic, specify a port name mapping, with `tcp26257` as the **Port name** and `26257` as the **Port number**. -1. [Add the relevant instances to each instance group](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-unmanaged-instances#addinstances). -1. [Configure Proxy Load Balancing](https://cloud.google.com/load-balancing/docs/tcp/setting-up-tcp#configure_load_balancer). - - During backend configuration, create a health check, setting the **Protocol** to `HTTP`, the **Port** to `8080`, and the **Request path** to path `/health?ready=1`. This [health endpoint]({% link {{ page.version.version }}/monitoring-and-alerting.md %}#health-ready-1) ensures that load balancers do not direct traffic to nodes that are live but not ready to receive requests. - - If you want to maintain long-lived SQL connections that may be idle for more than tens of seconds, increase the backend timeout setting accordingly. - - During frontend configuration, reserve a static IP address and choose a port. Note this address/port combination, as you'll use it for all of you client connections. -1. [Create a firewall rule](https://cloud.google.com/load-balancing/docs/tcp/setting-up-tcp#config-hc-firewall) to allow traffic from the load balancer and health checker to your instances. This is necessary because TCP Proxy Load Balancing is implemented at the edge of the Google Cloud. - - Be sure to set **Source IP ranges** to `130.211.0.0/22` and `35.191.0.0/16` and set **Target tags** to `cockroachdb` (not to the value specified in the linked instructions). - -## Step 5. Start nodes - -{{site.data.alerts.callout_info}} -By default, inter-node communication uses the internal IP addresses of your GCE instances. -{{site.data.alerts.end}} - -{% include {{ page.version.version }}/prod-deployment/insecure-start-nodes.md %} - -## Step 6. Initialize the cluster - -{% include {{ page.version.version }}/prod-deployment/insecure-initialize-cluster.md %} - -## Step 7. Test the cluster - -{% include {{ page.version.version }}/prod-deployment/insecure-test-cluster.md %} - -## Step 8. Run a sample workload - -{% include {{ page.version.version }}/prod-deployment/insecure-test-load-balancing.md %} - -## Step 9. Monitor the cluster - -{% include {{ page.version.version }}/prod-deployment/monitor-cluster.md %} - -## Step 10. Scale the cluster - -{% include {{ page.version.version }}/prod-deployment/insecure-scale-cluster.md %} - -## Step 11. Use the cluster - -Now that your deployment is working, you can: - -1. [Implement your data model]({% link {{ page.version.version }}/sql-statements.md %}). -1. [Create users]({% link {{ page.version.version }}/create-user.md %}) and [grant them privileges]({% link {{ page.version.version }}/grant.md %}). -1. [Connect your application]({% link {{ page.version.version }}/install-client-drivers.md %}). Be sure to connect your application to the GCE load balancer, not to a CockroachDB node. - -## See also - -{% include {{ page.version.version }}/prod-deployment/prod-see-also.md %} diff --git a/src/current/v26.1/deploy-cockroachdb-on-microsoft-azure-insecure.md b/src/current/v26.1/deploy-cockroachdb-on-microsoft-azure-insecure.md deleted file mode 100644 index 74c65fa4220..00000000000 --- a/src/current/v26.1/deploy-cockroachdb-on-microsoft-azure-insecure.md +++ /dev/null @@ -1,140 +0,0 @@ ---- -title: Deploy CockroachDB on Microsoft Azure (Insecure) -summary: Learn how to deploy CockroachDB on Microsoft Azure. -toc: true -toc_not_nested: true -ssh-link: https://docs.microsoft.com/azure/virtual-machines/linux/mac-create-ssh-keys -docs_area: ---- - -{% include {{ page.version.version }}/filter-tabs/deploy-crdb-ma.md %} - -This page shows you how to manually deploy an insecure multi-node CockroachDB cluster on Microsoft Azure, using Azure's managed load balancing service to distribute client traffic. - -{% include {{ page.version.version }}/prod-deployment/insecure-flag.md %} - -{% include cockroachcloud/use-cockroachcloud-instead.md %} - -## Before you begin - -### Requirements - -{% include {{ page.version.version }}/prod-deployment/insecure-requirements.md %} - -### Recommendations - -{% include {{ page.version.version }}/prod-deployment/insecure-recommendations.md %} - -## Step 1. Configure your network - -CockroachDB requires TCP communication on two ports: - -- **26257** (`tcp:26257`) for inter-node communication (i.e., working as a cluster), for applications to connect to the load balancer, and for routing from the load balancer to nodes -- **8080** (`tcp:8080`) for exposing your DB Console - -To enable this in Azure, you must create a Resource Group, Virtual Network, and Network Security Group. - -1. [Create a Resource Group](https://azure.microsoft.com/updates/create-empty-resource-groups/). - -1. [Create a Virtual Network](https://docs.microsoft.com/azure/virtual-network/virtual-networks-create-vnet-arm-pportal) that uses your **Resource Group**. - -1. [Create a Network Security Group](https://docs.microsoft.com/azure/virtual-network/virtual-networks-create-nsg-arm-pportal) that uses your **Resource Group**, and then add the following **inbound** rules to it: - - **DB Console support**: - - Field | Recommended Value - -------|------------------- - Name | **cockroachadmin** - Source | **IP Addresses** - Source IP addresses/CIDR ranges | Your local network’s IP ranges - Source port ranges | * - Destination | **Any** - Destination port range | **8080** - Protocol | **TCP** - Action | **Allow** - Priority | Any value > 1000 - - **Application support**: - - {{site.data.alerts.callout_success}}If your application is also hosted on the same Azure Virtual Network, you will not need to create a firewall rule for your application to communicate with your load balancer.{{site.data.alerts.end}} - - Field | Recommended Value - -------|------------------- - Name | **cockroachapp** - Source | **IP Addresses** - Source IP addresses/CIDR ranges | Your local network’s IP ranges - Source port ranges | * - Destination | **Any** - Destination port range | **26257** - Protocol | **TCP** - Action | **Allow** - Priority | Any value > 1000 - - -## Step 2. Create VMs - -[Create Linux VMs](https://docs.microsoft.com/azure/virtual-machine-scale-sets/quick-create-portal) for each node you plan to have in your cluster. If you plan to run a sample workload against the cluster, create a separate VM for that workload. - -- Run at least 3 nodes to [ensure survivability]({% link {{ page.version.version }}/recommended-production-settings.md %}#topology). - -{% include {{ page.version.version }}/prod-deployment/recommended-instances-azure.md %} - -- When creating the VMs, make sure to select the **Resource Group**, **Virtual Network**, and **Network Security Group** you created. - -For more details, see [Hardware Recommendations]({% link {{ page.version.version }}/recommended-production-settings.md %}#hardware) and [Cluster Topology]({% link {{ page.version.version }}/recommended-production-settings.md %}#topology). - -## Step 3. Synchronize clocks - -{% include {{ page.version.version }}/prod-deployment/synchronize-clocks.md %} - -## Step 4. Set up load balancing - -Each CockroachDB node is an equally suitable SQL gateway to your cluster, but to ensure client performance and reliability, it's important to use load balancing: - -- **Performance:** Load balancers spread client traffic across nodes. This prevents any one node from being overwhelmed by requests and improves overall cluster performance (queries per second). - -- **Reliability:** Load balancers decouple client health from the health of a single CockroachDB node. In cases where a node fails, the load balancer redirects client traffic to available nodes. - -Microsoft Azure offers fully-managed load balancing to distribute traffic between instances. - -1. [Add Azure load balancing](https://docs.microsoft.com/azure/load-balancer/load-balancer-overview). Be sure to: - - Set forwarding rules to route TCP traffic from the load balancer's port **26257** to port **26257** on the nodes. - - Configure health checks to use HTTP port **8080** and path `/health?ready=1`. This [health endpoint]({% link {{ page.version.version }}/monitoring-and-alerting.md %}#health-ready-1) ensures that load balancers do not direct traffic to nodes that are live but not ready to receive requests. - -1. Note the provisioned **IP Address** for the load balancer. You'll use this later to test load balancing and to connect your application to the cluster. - -{{site.data.alerts.callout_info}}If you would prefer to use HAProxy instead of Azure's managed load balancing, see the On-Premises tutorial for guidance.{{site.data.alerts.end}} - -## Step 5. Start nodes - -{% include {{ page.version.version }}/prod-deployment/insecure-start-nodes.md %} - -## Step 6. Initialize the cluster - -{% include {{ page.version.version }}/prod-deployment/insecure-initialize-cluster.md %} - -## Step 7. Test the cluster - -{% include {{ page.version.version }}/prod-deployment/insecure-test-cluster.md %} - -## Step 8. Run a sample workload - -{% include {{ page.version.version }}/prod-deployment/insecure-test-load-balancing.md %} - -## Step 9. Monitor the cluster - -{% include {{ page.version.version }}/prod-deployment/monitor-cluster.md %} - -## Step 10. Scale the cluster - -{% include {{ page.version.version }}/prod-deployment/insecure-scale-cluster.md %} - -## Step 11. Use the cluster - -Now that your deployment is working, you can: - -1. [Implement your data model]({% link {{ page.version.version }}/sql-statements.md %}). -1. [Create users]({% link {{ page.version.version }}/create-user.md %}) and [grant them privileges]({% link {{ page.version.version }}/grant.md %}). -1. [Connect your application]({% link {{ page.version.version }}/install-client-drivers.md %}). Be sure to connect your application to the Azure load balancer, not to a CockroachDB node. - -## See also - -{% include {{ page.version.version }}/prod-deployment/prod-see-also.md %} diff --git a/src/current/v26.1/deploy-cockroachdb-on-premises-insecure.md b/src/current/v26.1/deploy-cockroachdb-on-premises-insecure.md deleted file mode 100644 index 6579266a03c..00000000000 --- a/src/current/v26.1/deploy-cockroachdb-on-premises-insecure.md +++ /dev/null @@ -1,103 +0,0 @@ ---- -title: Deploy CockroachDB On-Premises (Insecure) -summary: Learn how to manually deploy an insecure, multi-node CockroachDB cluster on multiple machines. -toc: true -ssh-link: https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys--2 -docs_area: ---- - -{% include {{ page.version.version }}/filter-tabs/deploy-crdb-op.md %} - -This tutorial shows you how to manually deploy an insecure multi-node CockroachDB cluster on multiple machines, using [HAProxy](http://www.haproxy.org/) load balancers to distribute client traffic. - -{% include {{ page.version.version }}/prod-deployment/insecure-flag.md %} - -{% include cockroachcloud/use-cockroachcloud-instead.md %} - -## Before you begin - -### Requirements - -{% include {{ page.version.version }}/prod-deployment/insecure-requirements.md %} - -### Recommendations - -{% include {{ page.version.version }}/prod-deployment/insecure-recommendations.md %} - -## Step 1. Synchronize clocks - -{% include {{ page.version.version }}/prod-deployment/synchronize-clocks.md %} - -## Step 2. Start nodes - -{% include {{ page.version.version }}/prod-deployment/insecure-start-nodes.md %} - -## Step 3. Initialize the cluster - -{% include {{ page.version.version }}/prod-deployment/insecure-initialize-cluster.md %} - -## Step 4. Test the cluster - -{% include {{ page.version.version }}/prod-deployment/insecure-test-cluster.md %} - -## Step 5. Set up load balancing - -Each CockroachDB node is an equally suitable SQL gateway to your cluster, but to ensure client performance and reliability, it's important to use load balancing: - -- **Performance:** Load balancers spread client traffic across nodes. This prevents any one node from being overwhelmed by requests and improves overall cluster performance (queries per second). - -- **Reliability:** Load balancers decouple client health from the health of a single CockroachDB node. In cases where a node fails, the load balancer redirects client traffic to available nodes. - {{site.data.alerts.callout_success}}With a single load balancer, client connections are resilient to node failure, but the load balancer itself is a point of failure. It's therefore best to make load balancing resilient as well by using multiple load balancing instances, with a mechanism like floating IPs or DNS to select load balancers for clients.{{site.data.alerts.end}} - -[HAProxy](http://www.haproxy.org/) is one of the most popular open-source TCP load balancers, and CockroachDB includes a built-in command for generating a configuration file that is preset to work with your running cluster, so we feature that tool here. - -1. SSH to the machine where you want to run HAProxy. - -1. Install HAProxy: - - {% include_cached copy-clipboard.html %} - ~~~ shell - $ apt-get install haproxy - ~~~ - -1. [Install CockroachDB for Linux]({% link {{ page.version.version }}/install-cockroachdb-linux.md %}). - -1. Run the [`cockroach gen haproxy`]({% link {{ page.version.version }}/cockroach-gen.md %}) command, specifying the address of any CockroachDB node: - - {% include_cached copy-clipboard.html %} - ~~~ shell - $ cockroach gen haproxy --insecure \ - --host=
\ - --port=26257 - ~~~ - - {% include {{ page.version.version }}/misc/haproxy.md %} - -1. Start HAProxy, with the `-f` flag pointing to the `haproxy.cfg` file: - - {% include_cached copy-clipboard.html %} - ~~~ shell - $ haproxy -f haproxy.cfg - ~~~ - -1. Repeat these steps for each additional instance of HAProxy you want to run. - -## Step 6. Run a sample workload - -{% include {{ page.version.version }}/prod-deployment/insecure-test-load-balancing.md %} - -## Step 7. Monitor the cluster - -{% include {{ page.version.version }}/prod-deployment/monitor-cluster.md %} - -## Step 8. Scale the cluster - -{% include {{ page.version.version }}/prod-deployment/insecure-scale-cluster.md %} - -## Step 9. Use the cluster - -{% include {{ page.version.version }}/prod-deployment/use-cluster.md %} - -## See also - -{% include {{ page.version.version }}/prod-deployment/prod-see-also.md %} From f921f287236dd352366c14efe98e7c3fa00edc20 Mon Sep 17 00:00:00 2001 From: Peach Leach Date: Thu, 26 Feb 2026 15:39:21 -0500 Subject: [PATCH 2/3] Removed unnecessary filter tabs and sidebar data --- .../v26.1/filter-tabs/crdb-kubernetes.md | 4 ---- .../v26.1/filter-tabs/deploy-crdb-aws.md | 4 ---- .../_includes/v26.1/filter-tabs/deploy-crdb-do.md | 4 ---- .../v26.1/filter-tabs/deploy-crdb-gce.md | 4 ---- .../_includes/v26.1/filter-tabs/deploy-crdb-ma.md | 4 ---- .../_includes/v26.1/filter-tabs/deploy-crdb-op.md | 4 ---- .../sidebar-data/self-hosted-deployments.json | 15 +++++---------- 7 files changed, 5 insertions(+), 34 deletions(-) delete mode 100644 src/current/_includes/v26.1/filter-tabs/crdb-kubernetes.md delete mode 100644 src/current/_includes/v26.1/filter-tabs/deploy-crdb-aws.md delete mode 100644 src/current/_includes/v26.1/filter-tabs/deploy-crdb-do.md delete mode 100644 src/current/_includes/v26.1/filter-tabs/deploy-crdb-gce.md delete mode 100644 src/current/_includes/v26.1/filter-tabs/deploy-crdb-ma.md delete mode 100644 src/current/_includes/v26.1/filter-tabs/deploy-crdb-op.md diff --git a/src/current/_includes/v26.1/filter-tabs/crdb-kubernetes.md b/src/current/_includes/v26.1/filter-tabs/crdb-kubernetes.md deleted file mode 100644 index db7f18ff324..00000000000 --- a/src/current/_includes/v26.1/filter-tabs/crdb-kubernetes.md +++ /dev/null @@ -1,4 +0,0 @@ -{% assign tab_names_html = "Secure;Insecure" %} -{% assign html_page_filenames = "orchestrate-a-local-cluster-with-kubernetes.html;orchestrate-a-local-cluster-with-kubernetes-insecure.html" %} - -{% include filter-tabs.md tab_names=tab_names_html page_filenames=html_page_filenames page_folder=page.version.version %} diff --git a/src/current/_includes/v26.1/filter-tabs/deploy-crdb-aws.md b/src/current/_includes/v26.1/filter-tabs/deploy-crdb-aws.md deleted file mode 100644 index 706e5d85b8f..00000000000 --- a/src/current/_includes/v26.1/filter-tabs/deploy-crdb-aws.md +++ /dev/null @@ -1,4 +0,0 @@ -{% assign tab_names_html = "Secure;Insecure" %} -{% assign html_page_filenames = "deploy-cockroachdb-on-aws.html;deploy-cockroachdb-on-aws-insecure.html" %} - -{% include filter-tabs.md tab_names=tab_names_html page_filenames=html_page_filenames page_folder=page.version.version %} diff --git a/src/current/_includes/v26.1/filter-tabs/deploy-crdb-do.md b/src/current/_includes/v26.1/filter-tabs/deploy-crdb-do.md deleted file mode 100644 index 02e44afee30..00000000000 --- a/src/current/_includes/v26.1/filter-tabs/deploy-crdb-do.md +++ /dev/null @@ -1,4 +0,0 @@ -{% assign tab_names_html = "Secure;Insecure" %} -{% assign html_page_filenames = "deploy-cockroachdb-on-digital-ocean.html;deploy-cockroachdb-on-digital-ocean-insecure.html" %} - -{% include filter-tabs.md tab_names=tab_names_html page_filenames=html_page_filenames page_folder=page.version.version %} diff --git a/src/current/_includes/v26.1/filter-tabs/deploy-crdb-gce.md b/src/current/_includes/v26.1/filter-tabs/deploy-crdb-gce.md deleted file mode 100644 index 5799dfec9f0..00000000000 --- a/src/current/_includes/v26.1/filter-tabs/deploy-crdb-gce.md +++ /dev/null @@ -1,4 +0,0 @@ -{% assign tab_names_html = "Secure;Insecure" %} -{% assign html_page_filenames = "deploy-cockroachdb-on-google-cloud-platform.html;deploy-cockroachdb-on-google-cloud-platform-insecure.html" %} - -{% include filter-tabs.md tab_names=tab_names_html page_filenames=html_page_filenames page_folder=page.version.version %} diff --git a/src/current/_includes/v26.1/filter-tabs/deploy-crdb-ma.md b/src/current/_includes/v26.1/filter-tabs/deploy-crdb-ma.md deleted file mode 100644 index 3f1162b426c..00000000000 --- a/src/current/_includes/v26.1/filter-tabs/deploy-crdb-ma.md +++ /dev/null @@ -1,4 +0,0 @@ -{% assign tab_names_html = "Secure;Insecure" %} -{% assign html_page_filenames = "deploy-cockroachdb-on-microsoft-azure.html;deploy-cockroachdb-on-microsoft-azure-insecure.html" %} - -{% include filter-tabs.md tab_names=tab_names_html page_filenames=html_page_filenames page_folder=page.version.version %} diff --git a/src/current/_includes/v26.1/filter-tabs/deploy-crdb-op.md b/src/current/_includes/v26.1/filter-tabs/deploy-crdb-op.md deleted file mode 100644 index fdf35c61162..00000000000 --- a/src/current/_includes/v26.1/filter-tabs/deploy-crdb-op.md +++ /dev/null @@ -1,4 +0,0 @@ -{% assign tab_names_html = "Secure;Insecure" %} -{% assign html_page_filenames = "deploy-cockroachdb-on-premises.html;deploy-cockroachdb-on-premises-insecure.html" %} - -{% include filter-tabs.md tab_names=tab_names_html page_filenames=html_page_filenames page_folder=page.version.version %} diff --git a/src/current/_includes/v26.1/sidebar-data/self-hosted-deployments.json b/src/current/_includes/v26.1/sidebar-data/self-hosted-deployments.json index ce7b94d0e95..59d875176e6 100644 --- a/src/current/_includes/v26.1/sidebar-data/self-hosted-deployments.json +++ b/src/current/_includes/v26.1/sidebar-data/self-hosted-deployments.json @@ -52,36 +52,31 @@ { "title": "Deploy On-Premises", "urls": [ - "/${VERSION}/deploy-cockroachdb-on-premises.html", - "/${VERSION}/deploy-cockroachdb-on-premises-insecure.html" + "/${VERSION}/deploy-cockroachdb-on-premises.html" ] }, { "title": "Deploy on AWS", "urls": [ - "/${VERSION}/deploy-cockroachdb-on-aws.html", - "/${VERSION}/deploy-cockroachdb-on-aws-insecure.html" + "/${VERSION}/deploy-cockroachdb-on-aws.html" ] }, { "title": "Deploy on Azure", "urls": [ - "/${VERSION}/deploy-cockroachdb-on-microsoft-azure.html", - "/${VERSION}/deploy-cockroachdb-on-microsoft-azure-insecure.html" + "/${VERSION}/deploy-cockroachdb-on-microsoft-azure.html" ] }, { "title": "Deploy on Google Cloud Platform GCE", "urls": [ - "/${VERSION}/deploy-cockroachdb-on-google-cloud-platform.html", - "/${VERSION}/deploy-cockroachdb-on-google-cloud-platform-insecure.html" + "/${VERSION}/deploy-cockroachdb-on-google-cloud-platform.html" ] }, { "title": "Deploy on Digital Ocean", "urls": [ - "/${VERSION}/deploy-cockroachdb-on-digital-ocean.html", - "/${VERSION}/deploy-cockroachdb-on-digital-ocean-insecure.html" + "/${VERSION}/deploy-cockroachdb-on-digital-ocean.html" ] } ] From a6b5238d68c8b1fc7b50590ac678aa07da5fc0b0 Mon Sep 17 00:00:00 2001 From: Peach Leach Date: Thu, 26 Feb 2026 15:41:17 -0500 Subject: [PATCH 3/3] Removed include links to deleted filter tabs --- src/current/v26.1/deploy-cockroachdb-on-aws.md | 2 -- src/current/v26.1/deploy-cockroachdb-on-digital-ocean.md | 2 -- .../v26.1/deploy-cockroachdb-on-google-cloud-platform.md | 2 -- src/current/v26.1/deploy-cockroachdb-on-microsoft-azure.md | 2 -- src/current/v26.1/deploy-cockroachdb-on-premises.md | 2 -- 5 files changed, 10 deletions(-) diff --git a/src/current/v26.1/deploy-cockroachdb-on-aws.md b/src/current/v26.1/deploy-cockroachdb-on-aws.md index 795545a1a1b..b8aeda2c3c8 100644 --- a/src/current/v26.1/deploy-cockroachdb-on-aws.md +++ b/src/current/v26.1/deploy-cockroachdb-on-aws.md @@ -7,8 +7,6 @@ ssh-link: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html docs_area: --- -{% include {{ page.version.version }}/filter-tabs/deploy-crdb-aws.md %} - This page shows you how to manually deploy a multi-node, self-hosted CockroachDB cluster on Amazon's AWS EC2 platform, using AWS's managed load-balancing service to distribute client traffic. After setting up the AWS network, clock synchronization, and load balancing, it should take approximately 20 minutes to complete the deployment. This is based on initializing a three-node CockroachDB cluster in a single AWS region and running our sample workload. diff --git a/src/current/v26.1/deploy-cockroachdb-on-digital-ocean.md b/src/current/v26.1/deploy-cockroachdb-on-digital-ocean.md index 66f1edd5f93..5ed7d0e0e8c 100644 --- a/src/current/v26.1/deploy-cockroachdb-on-digital-ocean.md +++ b/src/current/v26.1/deploy-cockroachdb-on-digital-ocean.md @@ -7,8 +7,6 @@ ssh-link: https://www.digitalocean.com/community/tutorials/how-to-connect-to-you docs_area: --- -{% include {{ page.version.version }}/filter-tabs/deploy-crdb-do.md %} - This page shows you how to deploy a secure multi-node CockroachDB cluster on Digital Ocean, using Digital Ocean's managed load balancing service to distribute client traffic. If you are only testing CockroachDB, or you are not concerned with protecting network communication with TLS encryption, you can use an insecure cluster instead. Select **Insecure** above for instructions. diff --git a/src/current/v26.1/deploy-cockroachdb-on-google-cloud-platform.md b/src/current/v26.1/deploy-cockroachdb-on-google-cloud-platform.md index ab3d470580b..99ea92a79a3 100644 --- a/src/current/v26.1/deploy-cockroachdb-on-google-cloud-platform.md +++ b/src/current/v26.1/deploy-cockroachdb-on-google-cloud-platform.md @@ -7,8 +7,6 @@ ssh-link: https://cloud.google.com/compute/docs/instances/connecting-to-instance docs_area: --- -{% include {{ page.version.version }}/filter-tabs/deploy-crdb-gce.md %} - This page shows you how to manually deploy a secure multi-node CockroachDB cluster on Google Cloud Platform's Compute Engine (GCE), using Google's TCP Proxy Load Balancing service to distribute client traffic. If you are only testing CockroachDB, or you are not concerned with protecting network communication with TLS encryption, you can use an insecure cluster instead. Select **Insecure** above for instructions. diff --git a/src/current/v26.1/deploy-cockroachdb-on-microsoft-azure.md b/src/current/v26.1/deploy-cockroachdb-on-microsoft-azure.md index ebf4e8a7811..1db5bc92209 100644 --- a/src/current/v26.1/deploy-cockroachdb-on-microsoft-azure.md +++ b/src/current/v26.1/deploy-cockroachdb-on-microsoft-azure.md @@ -7,8 +7,6 @@ ssh-link: https://docs.microsoft.com/azure/virtual-machines/linux/mac-create-ssh docs_area: --- -{% include {{ page.version.version }}/filter-tabs/deploy-crdb-ma.md %} - This page shows you how to manually deploy a secure multi-node CockroachDB cluster on Microsoft Azure, using Azure's managed load balancing service to distribute client traffic. If you are only testing CockroachDB, or you are not concerned with protecting network communication with TLS encryption, you can use an insecure cluster instead. Select **Insecure** above for instructions. diff --git a/src/current/v26.1/deploy-cockroachdb-on-premises.md b/src/current/v26.1/deploy-cockroachdb-on-premises.md index fc425d25825..eb982f51a5d 100644 --- a/src/current/v26.1/deploy-cockroachdb-on-premises.md +++ b/src/current/v26.1/deploy-cockroachdb-on-premises.md @@ -6,8 +6,6 @@ ssh-link: https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-key docs_area: --- -{% include {{ page.version.version }}/filter-tabs/deploy-crdb-op.md %} - This tutorial shows you how to manually deploy a secure multi-node CockroachDB cluster on multiple machines, using [HAProxy](http://www.haproxy.org/) load balancers to distribute client traffic. If you are only testing CockroachDB, or you are not concerned with protecting network communication with TLS encryption, you can use an insecure cluster instead. Select **Insecure** above for instructions.