Conor Ryan
02/09/2023, 2:44 AMclay
02/09/2023, 2:53 AMConor Ryan
02/09/2023, 2:30 PMSean Lopp
02/09/2023, 4:56 PMMandi Alexander
02/09/2023, 5:09 PM# download helm and create local values.yaml
kubectl config set-context dagster --namespace dagster --cluster docker-desktop --user=docker-desktop
kubectl config use-context dagster
helm repo add dagster <https://dagster-io.github.io/helm>
helm show values dagster/dagster > dagster_values.yaml
vim dagster_values.yaml
# modify dagster config to here
# see additions/modifications in separate codeblock below
# ...
helm show values dagster/dagster > user_deploys_values.yaml
vim user_deploys_values.yaml
# modify user deploys config to here
# see additions/modifications in separate codeblock below
# ...
# create workspace configmap
vim workspace.yaml
# modify user workspace.yaml here
# see additions/modifications in separate codeblock below
# ...
# apply configmap
kubectl apply -f workspace.yaml
# deploy dagster and dagster-user-deployments
helm --namespace=dagster upgrade --install dagster dagster/dagster --values=dagster-values.yaml
helm upgrade --install user-code dagster/dagster-user-deployments -f /user_deployments_values.yaml
Below are the modifications for the config files mentioned above:
# in dagster_values.yaml
dagster-user-deployments:
enableSubchart: false
.
.
.
dagit:
workspace:
enabled: true
servers: []
externalConfigmap: "dagster-workspace"
# in user_deployments_values.yaml
# add a new deployment for each repo location you want to deploy to
deployments:
- name: "data-engineering-etls"
image:
repository: "<http://github.com/data_engineering/etls|github.com/data_engineering/etls>"
tag: latest
pullPolicy: Always
dagsterApiGrpcArgs:
- "-f"
- "/data_engineering/etls/repo.py"
port: 3030
resources:
requests:
cpu: "250m"
memory: "500Mi"
limits:
cpu: "250m"
memory: "500Mi"
# in workspace.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: dagster-workspace
namespace: dagster
data:
workspace.yaml: |
load_from:
- grpc_server:
location_name: "user-code-example"
host: "k8s-example-user-code-1"
port: 3030
I know there are probably some issues I haven't worked out, but would this generally work to have a single instance of Dagster with multiple projects/contributing teams as long as the teams deploy their code to the image repo locations defined in user_deployments_values.yaml? A key feature being that you would only have to update the dagster instance when you added a new repo location.erin
02/09/2023, 5:09 PMConor Ryan
02/09/2023, 5:35 PMGrigorii Kushnir
02/09/2023, 7:45 PMGrigorii Kushnir
02/09/2023, 7:51 PMGrigorii Kushnir
02/09/2023, 7:57 PMerin
02/09/2023, 8:05 PMnot reflected in the official docs
? Are there examples that weren't updated, or the concept(s) not explained well, etc?Grigorii Kushnir
02/09/2023, 8:15 PMGrigorii Kushnir
02/09/2023, 8:17 PMerin
02/09/2023, 8:19 PMDefinitions
Grigorii Kushnir
02/09/2023, 8:22 PMGrigorii Kushnir
02/09/2023, 8:22 PMTim Castillo
02/09/2023, 10:21 PM