MMCloud Agent#
MemVerge Memory Machine Cloud (MMCloud) empowers users to continuously optimize cloud resources during runtime, safely execute stateful tasks on spot instances, and monitor resource usage in real time. These capabilities make it an excellent fit for long-running batch workloads.
This guide provides an overview of how to set up MMCloud in your Flyte deployment.
Set up MMCloud#
To run a Flyte workflow with Memory Machine Cloud, you will need to deploy Memory Machine Cloud. Check out the MMCloud User Guide to get started!
By the end of this step, you should have deployed an MMCloud OpCenter.
Spin up a cluster#
You can spin up a demo cluster using the following command:
flytectl demo start
Or install Flyte using the flyte-binary helm chart.
If you’ve installed Flyte using the flyte-core helm chart, please ensure:
You have the correct kubeconfig and have selected the correct Kubernetes context.
You have configured the correct flytectl settings in
~/.flyte/config.yaml
.
Note
Add the Flyte chart repo to Helm if you’re installing via the Helm charts.
helm repo add flyteorg https://flyteorg.github.io/flyte
Specify agent configuration#
Enable the MMCloud agent by adding the following config to the relevant YAML file(s):
tasks:
task-plugins:
enabled-plugins:
- agent-service
default-for-task-types:
- mmcloud_task: agent-service
plugins:
agent-service:
agents:
mmcloud-agent:
endpoint: <AGENT_ENDPOINT>
insecure: true
supportedTaskTypes:
- mmcloud_task
agentForTaskTypes:
- mmcloud_task: mmcloud-agent
Substitute <AGENT_ENDPOINT>
with the endpoint of your MMCloud agent.
Upgrade the deployment#
kubectl rollout restart deployment flyte-sandbox -n flyte
helm upgrade <RELEASE_NAME> flyteorg/flyte-binary -n <YOUR_NAMESPACE> --values <YOUR_YAML_FILE>
Replace <RELEASE_NAME>
with the name of your release (e.g., flyte-backend
),
<YOUR_NAMESPACE>
with the name of your namespace (e.g., flyte
),
and <YOUR_YAML_FILE>
with the name of your YAML file.
helm upgrade <RELEASE_NAME> flyte/flyte-core -n <YOUR_NAMESPACE> --values values-override.yaml
Replace <RELEASE_NAME>
with the name of your release (e.g., flyte
)
and <YOUR_NAMESPACE>
with the name of your namespace (e.g., flyte
).
Wait for the upgrade to complete. You can check the status of the deployment pods by running the following command:
kubectl get pods -n flyte
For mmcloud plugin on the Flyte cluster, please refer to Memory Machine Cloud Plugin Example