github.com/pachyderm/pachyderm@v1.13.4/doc/docs/master/getting_started/wsl-deploy.md (about) 1 # Deploy Pachyderm on a Microsoft Windows machine 2 3 You can deploy Pachyderm locally on your Microsoft Windows computer to 4 try out Pachyderm. However, currently Pachyderm has limited support for 5 Windows. This document provides guidelines that enable you to run Pachyderm 6 on a Windows machine for preview. You might need to troubleshoot these 7 instructions further to make this work. To test full functionality, we 8 encourage you to run Pachyderm in a UNIX environment. 9 10 ## Prerequisites 11 12 You need to have the following components installed on your Microsoft Windows 13 computer to deploy Pachyderm: 14 15 * Microsoft Windows 10 or later 16 * Microsoft PowerShell™ 17 * Ubuntu™ Windows Subsystem for Linux (WSL) 18 * Hyper-V™ 19 * Minikube 20 * `kubectl` 21 22 While PowerShell is included with your standard Windows tools, other components 23 might not be included or enabled. Pachyderm recommends that you install Ubuntu 24 WSL because it was tested and verified by our team. 25 26 ## Install Ubuntu WSL 27 28 `pachctl` is a Pachyderm command-line interface that enables you to interact 29 with Pachyderm. It requires a UNIX environment to run correctly. Therefore, 30 you need a WSL to run `pachctl` commands. We recommend that you install an 31 Ubuntu WSL. To install WSL, follow the steps in the 32 [Microsoft documentation](https://docs.microsoft.com/en-us/windows/wsl/install-win10). 33 34 ## Enable Hyper-V 35 36 You need to install Hyper-V on your host Windows machine so that Minikube can 37 use it to create a virtual machine on which your Pachyderm containerized cluster 38 will run. You also need to adjust the amount of CPU and memory allocated to 39 Hyper-V so that your Minikube machines do not crash with an out-of-memory error. 40 41 To enable Hyper-V, complete the following steps: 42 43 1. Run PowerShell as Administrator. 44 1. Enable Hyper-V by running the following command: 45 46 ```powershell 47 Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All 48 ``` 49 50 1. Adjust resource utilization by opening the Hyper-V manager. Typically, 51 setting memory to 3072 MB should be sufficient for most testing deployments. 52 53 ## Install Minikube 54 55 Minikube is a tool that enables you to run a single-node Kubernetes cluster that 56 is typically used for testing locally on your computer. 57 You need to install Minikube on your host machine from PowerShell and not from 58 the Ubuntu WSL. In this section, Minikube is installed by using the Chocolatey 59 package manager, which is a popular tool for installing programs on Windows. But if 60 you prefer another installation method, it should work too. 61 62 To install Minikube, complete the following steps: 63 64 1. Install Chocolatey as described in the [Chocolatey documentation](https://chocolatey.org/docs/installation). 65 1. Install Minikube: 66 67 ```shell 68 choco install minikube 69 ``` 70 71 ## Install `kubectl` 72 73 You need to install `kubectl` on your Ubuntu WSL and then copy the `kubectl` 74 configuration file from MInikube that is installed on your host Windows 75 machine to the `~/.kube` directory in your Ubuntu WSL machine. 76 77 To install and configure `kubectl` 78 79 1. Install `kubectl` on WSL as described in the 80 [Kubernetes documentation](https://kubernetes.io/docs/tasks/tools/install-kubectl/). 81 1. Create a `~/.kube` directory. 82 1. Copy the Minikube config file from the Windows host system to the Ubuntu 83 WSL `/.kube/` directory: 84 85 ```shell 86 cp /mnt/c/Users/Svetlana/.kube/config ~/.kube/config 87 ``` 88 89 1. Change the following lines in the configuration file: 90 91 ```shell hl_lines="3 4 5" 92 users: 93 - name: minikube 94 user: 95 client-certificate: C:\Users\User\.minikube\client.crt 96 client-key: C:\Users\User\.minikube\client.key 97 ``` 98 99 You need to change the path to the client key and certificate 100 to point them to the location on your Windows host. 101 102 1. Verify that `kubectl` is configured correctly: 103 104 ```shell 105 kubectl version 106 ``` 107 108 **System Response:** 109 110 ```shell 111 Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"clean", BuildDate:"2019-12-07T21:20:10Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"linux/amd64"} 112 Server Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"clean", BuildDate:"2019-12-07T21:12:17Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"linux/amd64"} 113 ``` 114 115 ## Install `pachctl` 116 117 Get the latest version of `pachctl` by directly downloading it to your computer 118 as described in [Install pachctl](../local_installation/#install-pachctl). 119 120 **Example:** 121 122 ```shell 123 curl -o /tmp/pachctl.deb -L https://github.com/pachyderm/pachyderm/releases/download/v{{ config.pach_latest_version }}/pachctl_{{ config.pach_latest_version }}_amd64.deb && sudo dpkg -i /tmp/pachctl.deb 124 ``` 125 126 **System Response:** 127 128 ```shell 129 % Total % Received % Xferd Average Speed Time Time Time Current 130 Dload Upload Total Spent Left Speed 131 100 613 0 613 0 0 2043 0 --:--:-- --:--:-- --:--:-- 2043 132 100 25.9M 100 25.9M 0 0 10.0M 0 0:00:02 0:00:02 --:--:-- 13.0M 133 ``` 134 135 ## Deploy Pachyderm 136 137 After you complete all the steps above, start your Minikube VM by running 138 `minikube start` and deploy Pachyderm in Ubuntu WSL by running 139 pachctl deploy local` as described in [Deploy Pachyderm](../local_installation/#deploy-pachyderm).