Deploy to EKS ============== This guide shows how to deploy Charmed MLflow on `AWS Elastic Kubernetes Service `_ (EKS). In this guide, you will create an AWS EKS cluster, connect `Juju `_ to it, and deploy Charmed MLflow. Requirements ------------- - An AWS account (`How to create an AWS account `_). - Ubuntu 22.04 or later. Create an EKS cluster ---------------------- See the `EKS creation guide `_ to learn how to create an EKS cluster where Charmed MLflow will be deployed. Set up Juju ------------ First, install Juju: .. code-block:: bash sudo snap install juju --channel=3.6/stable Connect Juju to Kubernetes (K8s): .. code-block:: bash juju add-k8s kubeflow Create a controller: .. code-block:: bash juju bootstrap --no-gui kubeflow kubeflow-controller .. note:: You can use any name for the controller. Add the ``kubeflow`` model to your Juju controller: .. code-block:: bash juju add-model kubeflow .. note:: You must choose ``kubeflow`` as the model name to connect MLflow to Kubeflow. Deploy MLflow -------------- Deploy the `MLflow bundle `_ as follows: .. code-block:: bash juju deploy mlflow --channel=2.22/stable --trust This deploys the stable version of Charmed MLflow with `MinIO `_ as the object storage and `MySQL` as the metadata store. Once the deployment is completed, you will see the following message: .. code-block:: bash Deploy of bundle completed. You can use the following command to check the status of all model components: .. code-block:: bash juju status The deployment is ready when all the applications and units in the bundle are in ``active`` status. You can also use the ``watch`` option to continuously monitor the statuses: .. code-block:: bash juju status --watch 5s During the deployment process, some of the components statuses may momentarily change to blocked or error state. This is an expected behaviour, and these statuses should resolve by themselves as the bundle configures. Access your deployment ----------------------- To access your Charmed MLflow deployment, navigate to the following URL: .. code-block:: bash http://localhost:31380/ This will take you to the MLflow User Interface (UI). .. note:: By default, Charmed MLflow creates a `NodePort `_ on port 31380, which you can use to access the MLflow UI.