1.15-1.28
. If your version of Kubernetes utilizes the API at these versions, you can install Workbench!
Workbench has been successfully installed on the following Kubernetes variants:
Helm
version 3.2+kubectl
oc
CLI toolwatch
command line tooljq
command line toolAdministration Server setup
ae5-conda
environment. This environment already contains helm
, kubectl
, oc
, jq
, and a number of other useful Workbench management utilities. To install the environment:PATH
.
read-only
access to the Kubernetes API. However, with the exception of the ingress controller, all necessary permission grants are limited to the application namespace. Please speak with the Anaconda Implementation team about any questions you may have regarding these permissions.
RBAC template
Role
and RoleBinding
pair can be used to grant sufficient permissions to the Service Account.anyuid
Security Context Constraint (SCC), or any other default SCC. Instead, access grants are defined within the role.Example anyuid SCC configuration
Ingress controller permissions
ClusterRole
and ClusterRoleBinding
pair that has grants the ingress controller sufficient permissions to run without warnings:anaconda-storage
anaconda-storage
volume must be at least 100GiB.However, if you intend to mirror conda packages into the Workbench repository, the anaconda-storage
volume will need to be much larger to accommodate those packages. Anaconda recommends at least 500GiB of storage.anaconda-storage
volume must support either the ReadWriteOnce
or ReadWriteMany
access mode.ReadWriteOnce
configuration requires that the postgres
, git-storage
, and object-storage
pods run on the same node.anaconda-persistence
anaconda-persistence
volume requires ReadWriteMany
access.anaconda-persistence
volume will continuously grow with usage. Anaconda recommends you provision at least 1TiB of storage to start.PersistentVolumeClaim
to cover both needs, as long as that single volume simultaneously meets the performance needs demanded by both.
The root directories of these storage volumes must be writable by Workbench containers. This can be accomplished by configuring the volumes to be group writable by a single numeric GroupID (GID). Anaconda strongly recommends that this GID be 0
. This is the default GID assigned to Kubernetes containers. If this is not possible, supply the GID within the Persistent Volume specification as a pv.beta.kubernetes.io/gid
annotation.
ReclaimPolicy
from its default value of Retain
.1.19-1.26
, any ingress controller with full support for the networking.k8s.io/v1
ingress API enables Workbench to build endpoints for user sessions and deployments.
443
.
*.anaconda.company.com
to be covered, ensuring that all subdomains under this specific domain are included in the SSL certificate and DNS configuration.Docker images from the aedev/ Docker Hub channel
11.6
DataCenter drivers.
Anaconda has directly tested the application with the following GPU cards:
11.6
:
values.yaml
override file with the Helm chart. Make additions and modifications to this file with your cluster configurations now, then complete the helm install or upgrade process to update the default Helm chart.
Helm values.yaml template
BYOK8s pre-installation checklist
kubectl
, helm
, and other tools needed to perform installation and administration tasks by running the following command:1.15
and 1.28
by running the following command:anyuid
SCC; however, the restricted
SCC can also be used, as long as the uid
range is known.Verify the ClusterRole
resource associated with the service account has the necessary permissions to facilitate installation and operation by running the following command:0
is permitted by the security context.Verify any tolerations and/or node labels required to permit Workbench to run on its assigned nodes have been identified by running the following command:anaconda-storage
volume.Command: kubectl describe pvc anaconda-storage
:anaconda-persistence
volume by running the following command:values.yaml
file.A domain name for the Workbench application has been identified.ingressClassName
value have been identified.anaconda.example.com
and *.anaconda.example.com
have been created and point to the IP address of the ingress controller by running the following command:anaconda.example.com
and *.anaconda.example.com
has been created. The public and private keys for the main certificate, as well as the full public certificate chain, are accessible from the administration server.