-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve docs for MLflow Project execution on Kubernetes #1566
Conversation
docs/source/projects.rst
Outdated
|
||
You can run your MLflow Project on Kubernetes by following these steps: | ||
|
||
1. First, add a Docker environment to your MLflow Project, if one does not already exist. For |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dbczumar Could you remove the First, Then, and Finally from the steps 1, 2, and 4. They are really not needed since you are using an ordered list.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done! Thanks
docs/source/projects.rst
Outdated
with the ``kubernetes_backend.json`` and ``kubernetes_job_template.yaml`` files. | ||
|
||
Note that the ``container.name``, ``container.image``, and ``container.command`` fields are only | ||
replaced for the *first* container defined in the Job Spec. All subsequent container definitions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note that the container.name
-> The container.name
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done!
docs/source/projects.rst
Outdated
|
||
Have in mind that mlflow overwrites the folowing attributes in the job yaml file so it can handle jobs creation and monitor its status: | ||
Run a Project on Kubernetes | ||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Run a Project -> Run an MLflow Project
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed here and for Databricks (Run an MLflow Project on Databricks
)
docs/source/projects.rst
Outdated
@@ -349,103 +349,170 @@ useful if you quickly want to test a project in your existing shell environment. | |||
|
|||
.. _databricks_execution: | |||
|
|||
Run a project on Databricks | |||
Run a Project on Databricks | |||
^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Run a Project -> Run an MLflow Project
docs/source/projects.rst
Outdated
^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
|
||
Support for running projects remotely on Databricks is in public preview. To use this feature, you must have an enterprise Databricks account (Community Edition is not supported) and you must have set up the `Databricks CLI <https://github.com/databricks/databricks-cli>`_. Find more detailed instructions in the Databricks docs (`Azure Databricks <https://docs.databricks.com/applications/mlflow/index.html>`_, `Databricks on AWS <https://docs.databricks.com/applications/mlflow/index.html>`_). A brief overview of how to use the feature is as follows: | ||
You can run MLflow projects remotely on Databricks. To use this feature, you must have an enterprise |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should be consistent how we spell MLflow Projects. At the top of this page it says:
At the core, MLflow Projects
So I think it should be spelled that way throughout.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed! Thanks for catching this
docs/source/projects.rst
Outdated
command: ["cmd"] | ||
- name: "{replaced with MLflow Project name}" | ||
image: "{replaced with URI of Docker image created during Project execution}" | ||
command: [{replaced with MLflow Project entry point command}] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this example work out of the box? I think this needs to be a string right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually can you make https://github.com/mlflow/mlflow/blob/master/examples/docker/kubernetes_job_template.yaml match this then?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It does, but I've changed it to a string with braces based on our discussion. I also updated the template in examples/docker
LGTM as well. |
* Edit Kub proj docs. * Fix command. * Doc progress * Attributes * Image name > repo uri * Image name > repo uri * Tests fix * Lint * Fix tests * Job template docs * Project docs * Test fix * Add missing word 'launch' * Address review comments
* Edit Kub proj docs. * Fix command. * Doc progress * Attributes * Image name > repo uri * Image name > repo uri * Tests fix * Lint * Fix tests * Job template docs * Project docs * Test fix * Add missing word 'launch' * Address review comments
What changes are proposed in this pull request?
This PR improves the documentation for Kubernetes-backed execution of MLflow Projects. It also depends on #1574; the diff will shrink after #1574 is merged.
How is this patch tested?
Manual generation of docs
Release Notes
This is part of the Kubernetes projects feature and should be included under the same release notes item!
Is this a user-facing change?
What component(s) does this PR affect?
How should the PR be classified in the release notes? Choose one:
rn/breaking-change
- The PR will be mentioned in the "Breaking Changes" sectionrn/none
- No description will be included. The PR will be mentioned only by the PR number in the "Small Bugfixes and Documentation Updates" sectionrn/feature
- A new user-facing feature worth mentioning in the release notesrn/bug-fix
- A user-facing bug fix worth mentioning in the release notesrn/documentation
- A user-facing documentation change worth mentioning in the release notes