Running an Arroyo cluster on Kubernetes
postgresql.deploy
: Whether to deploy a new Postgres instance. If set to false
, the chart will expect a Postgres
instance to be available with the connection settings determined by postgresql.externalDatabase
configurations
(by default: postgres://arroyo:arroyo@localhost:5432/arroyo).artifactUrl
and checkpointUrl
: Configures where pipeline artifacts and
checkpoints are stored. See the overview for
more details on how these are configured. If this is set to a local directory
(when running a local k8s cluster), you will need to configure volumes
and
volumeMounts
to make this directory available on all of the pods.existingConfigMap
allows you to set environment variables on the Arroyo pods.values.yaml
file or via command line arguments. See the
Helm documentation for more details.
env
field in the helm chart:
arroyo.cnkkgnj5egvb.us-east-1.rds.amazonaws.com
with a database named arroyo
, and
an S3 bucket named arroyo-artifacts
in the us-east-1
region, you can use the following configuration:
my-s3-bucket
to the name of your s3 bucket)
<NODE_INSTANCE_ROLE>
with the ARN returned in the previous step.
arroyo-pod-sa
)
we can configure Arroyo to use it with this helm configuration:
storage.objects.admin
role and
specifying the name of the service account in the helm chart configuration. See
this guide
for details on how to set up the permissions. The service account you create can
then be configured in the helm chart with the serviceAccount
value.
values.yaml
, you can install the helm chart:
helm status arroyo
. Once the installation is complete, you should see the following pods running: