Minikube
Minikube is a tool that quickly sets up a local Kubernetes cluster on macOS, Linux, and Windows. It’s a great solution for trying out HPE Machine Learning Data Management locally.
Before You Start #
- You must have Homebrew installed.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- You must have Docker Desktop installed with Kubernetes enabled.
- You must have Docker Desktop installed with Kubernetes enabled.
- You must have WSL enabled (
wsl --install
) and a Linux distribution installed; if Linux does not boot in your WSL terminal after downloading from the Microsoft store, see the manual installation guide.
Manual Step Summary:
- Open a Powershell terminal.
- Run each of the following:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
- Download the latest WSL2 Linux Kernel for x64 machines.
- Run each the following:
wsl --set-default-version 2 wsl --install -d Ubuntu
- Restart your machine.
- Start a WSL terminal and set up your first Ubuntu user.
- Update Ubuntu.
sudo apt update sudo apt upgrade -y
- Install Homebrew in Ubuntu so you can complete the rest of this guide:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
All installation steps after this point must be run through the WSL terminal (Ubuntu) and not in Powershell.
You are now ready to continue to Step 1.
- You can optionally install Homebrew to easily install tools like Docker, Minikube, and Helm.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- You must have Docker Desktop installed.
1. Install Docker #
brew install docker
See the official Docker getting started guide for the most up-to-date installation steps.
2. Install & Start Minikube #
Install #
brew install minikube
See the official Minikube getting started guide for the most up-to-date installation steps.
Start #
- Launch Docker Desktop.
- Start Minikube:
minikube start
3. Install Pachctl CLI #
brew tap pachyderm/tap && brew install pachyderm/tap/pachctl@2.10
curl -o /tmp/pachctl.deb -L https://github.com/pachyderm/pachyderm/releases/download/v2.10.0/pachctl_2.10.0_amd64.deb && sudo dpkg -i /tmp/pachctl.deb
AMD
curl -o /tmp/pachctl.tar.gz -L https://github.com/pachyderm/pachyderm/releases/download/v2.10.0/pachctl_2.10.0_linux_amd64.tar.gz && tar -xvf /tmp/pachctl.tar.gz -C /tmp && sudo cp /tmp/pachctl_2.10.0_linux_amd64/pachctl /usr/local/bin
ARM
curl -o /tmp/pachctl.tar.gz -L https://github.com/pachyderm/pachyderm/releases/download/v2.10.0/pachctl_2.10.0_linux_arm64.tar.gz && tar -xvf /tmp/pachctl.tar.gz -C /tmp && sudo cp /tmp/pachctl_2.10.0_linux_arm64/pachctl /usr/local/bin
4. Install & Configure Helm #
-
Install Helm:
brew install helm
-
Add the HPE Machine Learning Data Management repo to Helm:
helm repo add pachyderm https://helm.pachyderm.com helm repo update
-
Install Pachyderm:
helm install pachyderm pachyderm/pachyderm --set deployTarget=LOCAL --set proxy.enabled=true --set proxy.service.type=LoadBalancer
Are you using an Enterprise trial key? If so, you can set up Enterprise HPE Machine Learning Data Management locally by storing your trial key in a
license.txt
file and passing it into the following Helm command:helm install pachyderm pachyderm/pachyderm --set deployTarget=LOCAL --set proxy.enabled=true --set proxy.service.type=LoadBalancer --set pachd.enterpriseLicenseKey=$(cat license.txt) --set ingress.host=localhost
This unlocks Enterprise features but also requires user authentication to access Console. A mock user is created by default to get you started, with the username:
admin
and password:password
.
This may take several minutes to complete.
5. Verify Installation #
- Run the following command in a new terminal to check the status of your pods:
kubectl get po -A
NAMESPACE NAME READY STATUS RESTARTS AGE default console-6b9bb8766d-f2gm4 1/1 Running 0 41m default etcd-0 1/1 Running 0 41m default pachd-76896d6b5d-kmfvw 1/1 Running 0 41m default pachd-loki-0 1/1 Running 0 41m default pachd-promtail-rm5ss 1/1 Running 0 41m default pachyderm-kube-event-tail-b9b554fb6-dpcsr 1/1 Running 0 41m default pg-bouncer-5c9494c678-z57qh 1/1 Running 0 41m default postgres-0 1/1 Running 0 41m kube-system coredns-6d4b75cb6d-jnl5f 1/1 Running 3 (42m ago) 97d kube-system etcd-minikube 1/1 Running 4 (42m ago) 97d kube-system kube-apiserver-minikube 1/1 Running 3 (42m ago) 97d kube-system kube-controller-manager-minikube 1/1 Running 4 (42m ago) 97d kube-system kube-proxy-bngzv 1/1 Running 3 (42m ago) 97d kube-system kube-scheduler-minikube 1/1 Running 3 (42m ago) 97d kube-system storage-provisioner 1/1 Running 5 (42m ago) 97d kubernetes-dashboard dashboard-metrics-scraper-78dbd9dbf5-swttf 1/1 Running 3 (42m ago) 97d kubernetes-dashboard kubernetes-dashboard-5fd5574d9f-c7ptx 1/1 Running 4 (42m ago) 97d
- Re-run this command after a few minutes if
pachd
is not ready.
6. Connect to Cluster #
- Run
minikube tunnel
to start a tunnel. - In a separate terminal, get the external IP address of the
pachyderm-proxy
service:kubectl get all
service/pachyderm-proxy LoadBalancer 10.110.148.228 127.0.0.1 80:32024/TCP
- Run the following command to connect to your cluster:
pachctl connect 127.0.0.1:80
Optionally open your browser and navigate to the Console UI.
You can check your HPE Machine Learning Data Management version and connection to pachd
at any time with the following command:
pachctl version
COMPONENT VERSION
pachctl 2.10.0
pachd 2.10.0