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.anyuid
SCC configurationIngress controller permissions
ClusterRole
and ClusterRoleBinding
pair that has grants the ingress controller sufficient permissions to run without warnings:Kubernetes dashboard permissions
Prometheus permissions
kube-state-metrics permissions
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
:
.yaml
configuration files, services, secrets, and config maps.
Helm values.byok.*.yaml templates
values.byok.*.yaml
files that override the default values in the top-level Helm chart. These template files are heavily commented to guide you through configuring the parameters that most commonly require modifications.If Workbench is the only application present within your cluster, use the single-tenant configurations. If Workbench shares the cluster with other applications, use the multi-tenant configurations. Choose the template that applies to your setup and make additions and modifications to the file with your current cluster configurations at this time.values.byok.cluster.yaml
override file 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.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.anaconda-storage
volume.
Command: kubectl describe pvc anaconda-storage
:anaconda-persistence
volume by running the following command:values.yaml
file.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.