0

I'm trying to deploy MLFlow server on Kubernetes, which requires using IPv6. Previously I was successfully using it in an IPv4 environment.

In my existing deployment on IPv4, I use this startup command which works:

mlflow server --host 0.0.0.0 --port 8735

For IPv6, I swapped 0.0.0.0 with :: which should be the equivalent (meaning, accept incoming connections from anywhere)

mlflow server --host :: --port 8735

However, this always results in this error, apparently from gunicorn.

Error: '' is not a valid port number.

This is confusing since I already specify the port in the command.

What does the correct command look like?

nnn
  • 1
  • 1

1 Answers1

0

Use square brackets around the address. This disambiguates the :: from the port in the final bind command passed to gunicorn.

mlflow server --host [::] --port 8735

MLFlow/Gunicorn ref: https://github.com/mlflow/mlflow/blob/9df7c92/mlflow/server/__init__.py#L183

bind_address = f"{host}:{port}"
nnn
  • 1
  • 1