Shadab Hussain :
I have installed mlflow on GCP VM instance, now I want to access mlflow UI with external IP. I tried setting up a firewall rule and opening the default port for mlflow, but not able to access it. Can someone give step by step process for just running mlflow on VM instance?
Serhii Rohoza :
I've decided to check on my test VM and run mlflow server on GCE VM. Have a look at my steps below:
- create VM instance based on Ubuntu Linux 18.04 LTS
-
$ sudo apt update $ sudo apt upgrade $ cd ~ $ git clone https://github.com/mlflow/mlflow $ cd mlflow $ sudo apt install python3-pip $ pip3 install mlflow $ python3 setup.py build $ sudo python3 setup.py install $ mlflow --version mlflow, version 1.7.1.dev0
run mlflow server on internal IP of VM instance (default 127.0.0.1):
$ ifconfig ens4: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460 inet 10.XXX.15.XXX netmask 255.255.255.255 broadcast 0.0.0.0 ... $ mlflow server --host 10.XXX.15.XXX [2020-03-09 15:05:50 +0000] [8631] [INFO] Starting gunicorn 20.0.4 [2020-03-09 15:05:50 +0000] [8631] [INFO] Listening at: http://10.128.15.211:5000 (8631) [2020-03-09 15:05:50 +0000] [8631] [INFO] Using worker: sync [2020-03-09 15:05:50 +0000] [8634] [INFO] Booting worker with pid: 8634 [2020-03-09 15:05:51 +0000] [8635] [INFO] Booting worker with pid: 8635 [2020-03-09 15:05:51 +0000] [8636] [INFO] Booting worker with pid: 8636 [2020-03-09 15:05:51 +0000] [8638] [INFO] Booting worker with pid: 8638
check from VM instance (from second connection):
$ curl -I http://10.XXX.15.XXX:5000 HTTP/1.1 200 OK Server: gunicorn/20.0.4 Date: Mon, 09 Mar 2020 15:06:08 GMT Connection: close Content-Length: 853 Content-Type: text/html; charset=utf-8 Last-Modified: Mon, 09 Mar 2020 14:57:11 GMT Cache-Control: public, max-age=43200 Expires: Tue, 10 Mar 2020 03:06:08 GMT ETag: "1583765831.3202355-853-3764264575"
set network tag
mlflow-server
create firewall rule to allow access on port 5000
$ gcloud compute --project=test-prj firewall-rules create mlflow-server --direction=INGRESS --priority=999 --network=default --action=ALLOW --rules=tcp:5000 --source-ranges=0.0.0.0/0 --target-tags=mlflow-server
check from on-premises Linux machine
nmap -Pn 35.225.XXX.XXX
Starting Nmap 7.80 ( https://nmap.org ) at 2020-03-09 16:20 CET Nmap scan report for 74.123.225.35.bc.googleusercontent.com (35.225.XXX.XXX) Host is up (0.20s latency). Not shown: 993 filtered ports PORT STATE SERVICE ... 5000/tcp open upnp ...
go to web browser http://35.225.XXX.XXX:5000/