Good night again! When creating the pipeline to d...
# deployment-kubernetes
i
Good night again! When creating the pipeline to deploy this example: https://github.com/dagster-io/dagster/tree/master/examples/deploy_docker How would I create the steps? I mean, I was thinking something like, using the docker-compose.yaml to build the deployment and then just pushing it to openshift But maybe the best way could be to deploy the user code, the daemon, and finally dagit, but this led me to a question: How would the values.yml look like for each of these? It's fine to infer that I would create 3 different yamls to create the deployment of each of the steps, setting the requests, limits and etc? If someone already did this kind of thing I'd appreciate some light here. It's easier to just deploy using helm chart, I know, but I can't use it here so it's like manually deploying this Docker Example.
j
Hi Ismael- this is the first I’m learning about docker compose on OpenShift, so you might need to help me out. It looks like the standard approach is
kompose
, is that what you’re using?
It’s easier to just deploy using helm chart, I know, but I can’t use it here so it’s like manually deploying this Docker Example
Would it be possible to, instead of using helm to deploy, just use it to create yaml templates? E.g.
helm template ... --output-dir <your dir>
(outputs the yaml files that would get installed) and
kubectl apply -f <your dir
?
i
@johann thanks for answering 🙂 I managed to convince the guys to use Helm on Openshift, today we deployed the example application following the docs and everything went fine. Now I'm just worried about how to update my user code deployment without redeploying everything from zero, if you have any idea of how can I do this, would you mind sharing your knowledge?
j
update my user code deployment without redeploying everything from zero
assuming you only change things related to the user deployment in values.yaml, only the user deployment will get changed. Dagit and daemon pods won’t even restart
i
but, I mean, if I want to create a new job inside the code deployment, how can I do this? I'd have to use the values.yaml?
j
by default you’d build a new docker image with the job and update the values.yaml with the new tag, yes. Ideally this is done with a cicd pipeline
i
so every time I create a deployment of the user code, on my CI/CD pipeline I would create a new image with a Dockerfile, store the image somewhere Openshift can get, and then alter the user-deployment.image and tag to update my deployment inside my values.yaml? The workspace.yaml and dagster.yaml can be configured this way then?
👍 1
and if I want to update my dagit or daemon, I'd just need to use helm --update or something like that, right?
that's great news for me, It's waaaaay easier than what I was trying to do without the helm