Deploy YugabyteDB Cluster
For deploy a YugabyteDB cluster we will use docker.
In this example we will deploy a 3 nodes cluster with 3 masters and 3 tservers. All of these services will be deployed in the three nodes.
This configuration is not typical, but it is useful for production environments.
My changes fot tserver
are:
rpc_bind_addresses
andserver_broadcast_addresses
changed default due to use the same port fornode_exporter
.rpc_bind_addresses
- listen on all interfaces with dual stack. My application is using IPv6.
services:
yugabytedb-master:
image: yugabytedb/yugabyte:2024.1.1.0-b137
container_name: yugabytedb-master
network_mode: "host"
restart: on-failure
volumes:
- /var/mnt/yugabytedb/master/data:/mnt/data
command:
- "/home/yugabyte/bin/yb-master"
- "--fs_data_dirs=/mnt/data"
- "--server_broadcast_addresses=100.64.2.35"
- "--master_addresses=100.64.2.35:7100,100.64.2.28:7100,100.64.2.25:7100"
- "--rpc_bind_addresses=[::]:7100"
- "--replication_factor=3"
- "--placement_cloud=onprem"
- "--placement_region=eu-central"
- "--placement_zone=rack1"
yugabytedb-tserver:
image: yugabytedb/yugabyte:2024.1.1.0-b137
container_name: yugabytedb-tserver
network_mode: "host"
restart: on-failure
volumes:
- /var/mnt/yugabytedb/tserver/data:/mnt/data
command:
- "/home/yugabyte/bin/yb-tserver"
- "--fs_data_dirs=/mnt/data"
- "--server_broadcast_addresses=100.64.2.35:7220"
- "--tserver_master_addrs=100.64.2.35:7100,100.64.2.28:7100,100.64.2.25:7100"
- "--rpc_bind_addresses=[::]:7220"
- "--enable_ysql"
- "--placement_cloud=onprem"
- "--placement_region=eu-central"
- "--placement_zone=rack1"