Skip to content

k8s version for rodan #1339

@homework36

Description

@homework36

Part 1

We first wrap all these steps (https://github.com/DDMAL/Rodan/wiki/Working-on-Rodan) with k8s.
The yml file is here: https://github.com/DDMAL/Rodan/blob/k8s-local-test/kubernetes-local.yml

Steps to deploy locally on Mac mini
Prerequisites (one-time)

# Install gettext for envsubst
brew install gettext
brew link --force gettext

# Enable Kubernetes in Docker Desktop:
# Docker Desktop → Settings → Kubernetes → Enable Kubernetes → Apply & Restart

# Confirm context is pointing at Docker Desktop
kubectl config use-context docker-desktop

Deploy

cd /path/to/local/Rodan

export RODAN_SRC=/path/to/local/Rodan
envsubst < kubernetes-local.yml | kubectl apply -f -

Wait for pods

kubectl get pods -n rodan-local -w

Wait until all 10 pods show Running. Takes about 1-2 minutes.

Start services (each in its own terminal tab)

Tab 1 — Rodan API:
kubectl exec -it -n rodan-local deploy/rodan-main -- /run/start

Tab 2 — Celery (core tasks):
kubectl exec -it -n rodan-local deploy/celery -- /run/start-celery

Tab 3 — Python3 jobs:
kubectl exec -it -n rodan-local deploy/py3-celery -- /run/start-celery

Access at http://localhost:/api

Stop

kubectl delete namespace rodan-local

Current it still looks like this

Mac mini
  └── Docker Desktop (runs the Kubernetes node)
      └── Kubernetes cluster
          ├── pod: nginx          → container from ddmal/nginx
          ├── pod: rodan-main     → container from ddmal/rodan-main
          ├── pod: celery         → container from ddmal/rodan-main
          ├── pod: py3-celery     → container from ddmal/rodan-python3-celery
          ├── pod: postgres       → container from ddmal/postgres-plpython
          └── ...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions