Prerequisites¶
Software & Tooling Prerequisites¶
Aside from an internet connection, you would need the following to follow through with the guide:
- NUS Staff/Student account.
- Azure account provisioned by AI Singapore.
- PC with the following installed:
- If your machine is with a Windows OS, use PowerShell instead of the default Command (
cmd.exe
) shell. Best if you resort to Windows Terminal. - Pulse Secure
- Refer to NUS IT eGuides for installation guides.
- Web browser
- Terminal
- Git
- Rancher Desktop or Docker Engine: Client-server application for containerising applications as well as interacting with the Docker daemon.
- For Linux users, you may install the Docker Engine (Docker daemon) directly.
- For Windows or macOS users, the Docker daemon can be installed through Rancher Desktop.
- miniconda: for Python virtual environment management.
kubectl
: CLI for Kubernetes.- AWS CLI: CLI for AWS services, but we will specifically be using it for interacting with the AI Singapore's Elastic Cloud Storage (ECS) service through the S3 protocol.
- You may choose to just use
boto3
, the Python SDK for AWS instead, to interact with the ECS service within a Python environment. However, this does not fall under the scope of this guide.
- You may choose to just use
- (Optional)
helm
: CLI for Kubernetes' package manager.
- If your machine is with a Windows OS, use PowerShell instead of the default Command (
- Access to a project on AI Singapore's Run:ai cluster. See here for more information.
- Credentials for AI Singapore's Elastic Cloud Storage (ECS) service. See here for more information.
- Credentials for AI Singapore's Harbor registry. See here for more information.
- Credentials for an MLflow Tracking server. See here for more information.
Note
If you do not have any of the required credentials, please verify with or notify the MLOps team at mlops@aisingapore.org
.
Info
Wherever relevant, you can toggle between the different commands that need to be executed for either Linux/macOS or the Windows environment (PowerShell). See below for an example:
# Get a list of files/folders in current directory
$ ls -la
# Get a list of files/folders in current directory
$ Get-ChildItem . -Force
Warning
If you are on Windows OS, you would need to ensure that the files you've cloned or written on your machine be with LF
line endings. Otherwise, issues would arise when Docker containers are being built or run. See here on how to configure consistent line endings for a whole folder or workspace using VSCode.
Tips and Tricks¶
- If you're using Rancher Desktop, you might encounter issues with regards to the lack of CPU and memory.
- For Mac/Linux users, from the main window, click on the gear button on the top right.
Then, proceed to the Virtual Machines section and increase your CPU and memory resources directly. - For Windows users, create a
.wslconfig
file user%UserProfile%
with the following content:Change the amount of memory to something you're comfortable with giving up to build Docker images.[wsl2] memory=8GB
- For Mac/Linux users, from the main window, click on the gear button on the top right.
- For Windows users, if you have both Rancher and Docker Desktop installed, you may need to disable the networking tunnel:
- From the gear button on the top right, go to the WSL section under the Network tab. From there, uncheck the
Enable networking tunnel
.
- From the gear button on the top right, go to the WSL section under the Network tab. From there, uncheck the