X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/080c940d7a8134a6e277a53b7e45eb27e2b2c87f..117b803d691b10b9ff2181fc2fbc2df23af9e347:/doc/install/arvados-on-kubernetes.html.textile.liquid diff --git a/doc/install/arvados-on-kubernetes.html.textile.liquid b/doc/install/arvados-on-kubernetes.html.textile.liquid index 01999f0c29..5ef757d10e 100644 --- a/doc/install/arvados-on-kubernetes.html.textile.liquid +++ b/doc/install/arvados-on-kubernetes.html.textile.liquid @@ -9,125 +9,24 @@ Copyright (C) The Arvados Authors. All rights reserved. SPDX-License-Identifier: CC-BY-SA-3.0 {% endcomment %} -Arvados on Kubernetes is implemented as a Helm Chart. - -{% include 'notebox_begin_warning' %} -This Helm Chart does not retain any state after it is deleted. An Arvados cluster created with this Helm Chart is entirely ephemeral, and all data stored on the cluster will be deleted when it is shut down. This will be fixed in a future version. -{% include 'notebox_end' %} +Arvados on Kubernetes is implemented as a @Helm 3@ chart. h2(#overview). Overview -This Helm Chart provides a basic, small Arvados cluster. +This Helm chart provides a basic, small Arvados cluster. Current limitations, to be addressed in the future: -* An Arvados cluster created with this Helm Chart is entirely ephemeral, and all data stored on the cluster will be deleted when it is shut down. -* No dynamic scaling of compute nodes (but you can adjust @values.yaml@ and "reload the Helm Chart":#reload +* An Arvados cluster created with this Helm chart is entirely ephemeral, and all data stored on the cluster will be deleted when it is shut down. +* No dynamic scaling of compute nodes (but you can adjust @values.yaml@ and reload the Helm chart) * All compute nodes are the same size * Compute nodes have no cpu/memory/disk constraints yet * No git server h2. Requirements -* Kubernetes 1.10+ cluster with at least 3 nodes, 2 or more cores per node -* @kubectl@ and @helm@ installed locally, and able to connect to your Kubernetes cluster - -If you do not have a Kubernetes cluster already set up, you can use "Google Kubernetes Engine":/install/arvados-on-kubernetes-GKE.html for multi-node development and testing or "another Kubernetes solution":https://kubernetes.io/docs/setup/pick-right-solution/. Minikube is not supported yet. - -h2(#helm). Initialize helm on the Kubernetes cluster - -If you already have helm running on the Kubernetes cluster, proceed directly to "Start the Arvados cluster":#Start below. - -
-$ helm init -$ kubectl create serviceaccount --namespace kube-system tiller -$ kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller -$ kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}' -- -Test @helm@ by running - -
-$ helm ls -- -There should be no errors. The command will return nothing. - -h2(#git). Clone the repository - -Clone the repository and nagivate to the @arvados-kubernetes/charts/arvados@ directory: - -
-$ git clone https://github.com/curoverse/arvados-kubernetes.git -$ cd arvados-kubernetes/charts/arvados -- -h2(#Start). Start the Arvados cluster - -Next, determine the IP address that the Arvados cluster will use to expose its API, Workbench, etc. If you want this Arvados cluster to be reachable from places other than the local machine, the IP address will need to be routable as appropriate. - -
-$ ./cert-gen.sh- -The @values.yaml@ file contains a number of variables that can be modified. At a minimum, review and/or modify the values for - --
- adminUserEmail - adminUserPassword - superUserSecret - anonymousUserSecret -- -Now start the Arvados cluster: - -
-$ helm install --name arvados . --set externalIP=- -At this point, you can use kubectl to see the Arvados cluster boot: - --
-$ kubectl get pods -$ kubectl get svc -- -After a few minutes, you can access Arvados Workbench at the IP address specified - -* https://<IP ADDRESS> - -with the username and password specified in the @values.yaml@ file. - -Alternatively, use the Arvados cli tools or SDKs: - -Set the environment variables: - -
-$ export ARVADOS_API_TOKEN=- -Test access with: - --$ export ARVADOS_API_HOST= :444 -$ export ARVADOS_API_HOST_INSECURE=true -
-$ arv user current -- -h2(#reload). Reload - -If you make changes to the Helm Chart (e.g. to @values.yaml@), you can reload Arvados with - -
-$ helm upgrade arvados . -- -h2. Shut down +* Minikube or Google Kubernetes Engine (Kubernetes 1.10+ with at least 3 nodes, 2+ cores per node) +* @kubectl@ and @Helm 3@ installed locally, and able to connect to your Kubernetes cluster -{% include 'notebox_begin_warning' %} -This Helm Chart does not retain any state after it is deleted. An Arvados cluster created with this Helm Chart is entirely ephemeral, and all data stored on the Arvados cluster will be deleted when it is shut down. This will be fixed in a future version. -{% include 'notebox_end' %} +Please refer to "Arvados on Minikube":{{ site.baseurl }}/install/arvados-on-kubernetes-minikube.html or "Arvados on GKE":{{ site.baseurl }}/install/arvados-on-kubernetes-GKE.html for detailed installation instructions. -
-$ helm del arvados --purge -