From 63daeb12330011c892966d57b128404915c75a3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Sun, 27 Apr 2025 10:07:08 +0200 Subject: [PATCH] Update clustering.md --- docs/deployment/clustering.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/docs/deployment/clustering.md b/docs/deployment/clustering.md index 37264d5ea..541089cac 100644 --- a/docs/deployment/clustering.md +++ b/docs/deployment/clustering.md @@ -12,17 +12,23 @@ You may set `LIVEBOOK_CLUSTER` to one of the following values. > #### Attention {: .warning} > -> "auto" is only a valid value if you're running Livebook's Docker image on Fly.io or Kubernetes. +> "auto" is only a valid value if you're running Livebook's Docker image on AWS ECS, Kubernetes, and Fly.io. -Detects the hosting platform and automatically sets up a cluster using DNS configuration. Currently the supported platforms are Fly.io and Kubernetes. +Detects the hosting platform and automatically sets up a cluster using DNS configuration. See platform specific notes below. #### AWS ECS & Fargate -If you're running livebook in the **AWS ECS** environment you'll have access to a special `auto` configuration that will automatically handle configuring based on the ECS Container Metadata HTTP API. The cluster's "deployment" name will be based on a SHA checksum of the ECS Container Image ID. Largely you don't need to care about this, but any livebook deployment using the same image ID will be clustered together. Naturally if you want more containers (say in **AWS Fargate**) simply increase the `desiredCount` of the family. +If you're running Livebook in the **AWS ECS** environment, the `auto` configuration will automatically cluster based on the ECS Container Metadata HTTP API. The cluster's "deployment" name will be based on a SHA checksum of the ECS Container Image ID. Largely you don't need to care about this, but any Livebook deployment using the same image ID will be clustered together. If you want more containers (say in **AWS Fargate**), increase the `desiredCount` of the family. -While ECS and Fargate won't need any further configuration to suppor this internally you will need to do network level configuration to allow the containers to talk to other resources (databases, S3, etc), as well as be reached by the public internet, etc. That configuration is outside of the scope of this documentation (mostly because it's complex, but also because it'd be at the whim of AWS's desire for change). +While ECS and Fargate won't need any further configuration for clustering, you will need to do network level configuration to allow the containers to talk to other resources (databases, S3, etc), as well as be reached by the public internet, etc. That configuration is outside of the scope of this documentation. If you're having issues connecting, there's a good chance it's either you haven't setup the standard ports required, you haven't correctly setup or configured the security groups, or you haven't correctly configured the HTTP listeners/load balancers. -However if you're having issues connecting there's a good chance it's either you haven't setup the standard ports required, you haven't correctly setup or configured the security groups, or you haven't correctly configured the HTTP listeners/loadbalancers. +#### Fly.io + +When deploying Livebook to Fly.io, the `auto` configuration automatically connects your cluster using Fly's private networks over IPv6. + +#### Kubernetes + +When using the Livebook application, you can also choose "auto" for Kubernetes deployments, but those values are automatically replaced by a DNS query, such as `dns:livebook-headless.$(POD_NAMESPACE).svc.cluster.local`, when generating the relevant resource definitions. See [the Kubernetes section in the Docker guides](docker.md#Kubernetes) for an example. ### `dns:QUERY`