Kubernetes as an Open edX development environment

Are Open edX developers interested in running a development environment on Kubernetes? The Kubernetes tooling ecosystem is very active and there are many tools out there that make it easier to run a local Kubernetes cluster for application development. For instance, they integrate host bind-mounting, repo sync, provisioning scripts, etc. A first exploration of such tools was done here: [Discovery] Cloud-based developer environments · Issue #82 · edx/edx-arch-experiments · GitHub

As a community, we need to figure out whether these tools are right for us. To that end I created this issue: Can we improve support for Kubernetes as a development environment? · Issue #5 · openedx/wg-devops · GitHub

We are looking for people to explore this opportunity: should we push for Kubernetes as a default dev environment for Open edX? What would it take, in terms of technical changes? In particular, we’d like to know what changes (if any) would have to be made to Tutor.

Do you want to try to run Open edX with Tilt/Devspace/Okteto? Please discuss here :slight_smile:

3 Likes

I would be interested in using Kubernetes for dev, but do not have expertise (or time) to offer at this time. I’ll be following the discussion and enhancements. Thanks for all you do to push the tech stack forward.

Is using minikube and tutor k8s same as using tutor with kubernetes ?

@Jeff_Cohen thanks for the kind words! watch this space :slight_smile:

@chintan Yes, pretty much. But at the moment I’m not quite sure that running Open edX on a local kubernetes cluster with Minikube works out of the box. See this issue for more information: How to run Open edX on a local Kubernetes cluster? · Issue #4 · openedx/wg-devops · GitHub Did you manage to deploy Open edX on a local minikube cluster?

@regis

Yes I was able to run it with minikube

  • You have to run ‘minikube tunnel’
  • That command will give you the output of EXTERNAL IP of caddy service
  • Copy that IP and use it in hosts file
  • After that it works well.

OS : Ubuntu 20.04
Tutor Versions tested with this method : 15.3.0 and 15.3.1
Open edx tag : olive.2

As far as I know it worked out of the box apart from hosts entries and minikube setup with tunnel

Mostly all the steps I did were followed from this link

https://openedx.atlassian.net/wiki/spaces/COMM/pages/3325198774/Tutor+troubleshooting+notes#Task-2:-Set-up-Tutor-in-a-local-Kubernetes-(k8s)-cluster

1 Like