Jason
01/26/2021, 5:51 PMdbt_example
and fit it into the k8s-example
as a another User Code Deployment.
The documentation on "Deploying on Kubernetes" (for the default architecture) on User Code Deployments mentions that the user-provided image must contain a repo definition and other stuff - make sense. What I'm a bit confused on is
1. What should the actual Dockerfile look like? Should I base it off of the k8s-example/Dockefile
(plus my required installation)? It has a # ==> Add user code layer
section
2. Does each user code deployment run its own version of dagster? While dagit and the daemon run on their own version.johann
01/26/2021, 5:58 PMShould I base it off of theYep, it should have the dagster deps plus your user codek8s-example/Dockefile
Jason
01/26/2021, 5:59 PMjohann
01/26/2021, 6:00 PMDoes each user code deployment run its own version of dagster? While dagit and the daemon run on their own version.By version do you mean release version?
johann
01/26/2021, 6:00 PMthose variables I’ll have to setup/hardcode myselfThe docker args?
Jason
01/26/2021, 6:02 PMJason
01/26/2021, 6:02 PM${DAGSTER_VERSION}
Jason
01/26/2021, 6:09 PMARG BASE_IMAGE
FROM "${BASE_IMAGE}"
ARG DAGSTER_VERSION
# ==> Add Dagster layer
RUN \
# Cron
apt-get update -yqq \
&& apt-get install -yqq cron \
# Dagster
&& pip install \
dagster==${DAGSTER_VERSION} \
dagster-postgres==${DAGSTER_VERSION} \
dagster-celery[flower,redis,kubernetes]==${DAGSTER_VERSION} \
dagster-aws==${DAGSTER_VERSION} \
dagster-k8s==${DAGSTER_VERSION} \
dagster-celery-k8s==${DAGSTER_VERSION} \
# Cleanup
&& rm -rf /var \
&& rm -rf /root/.cache \
&& rm -rf /usr/lib/python2.7 \
&& rm -rf /usr/lib/x86_64-linux-gnu/guile
# ==> Add user code layer
RUN pip install \
dagster-pandas \
dagster-slack \
dagstermill \
dagster-dbt \
dbt
# Example pipelines
COPY build_cache/ /
johann
01/26/2021, 6:10 PMJason
01/26/2021, 6:19 PM