Django Operator for Kubernetes
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.5 KiB

Django operator for Kubernetes

Can run simple projects with collectstatic and migrations at init stage. In some cases you can run non-django images like hello-world below, just set Django specific flags to False and statics path to /notexists.

Build sources

Prebuilt images

You can find images here

Deploy operator

kubectl -f deploy/service_account.yaml
kubectl -f deploy/role.yaml
kubectl -f deploy/role_binding.yaml
kubectl -f deploy/operator.yaml

Your first Django deployment

This resource can help you run your first image

kind: Django
  name: django-test
  pullPolicy: IfNotPresent
  replicas: 1

  # application port, default 8080
  appPort: 8080

  # path where you store static files, typicaly inside application home
  appStaticPath: "/app/static"

  # run migrations in init container before run
  runMigrate: False

  # run collectstatic in init container before run
  runCollectStatic: False

Full Spec

image specific settings

  • PullPolicy: its usual imagePullPolicy, default IfNotPresent
  • Image: string, required, format <image>:<tag>
  • Replicas: integer, default 1

manage resources

Read more about resources limiting here

  • PodRequests: default is empty
  • PodLimits: default is empty

Affinity and antiaffinity manual

  • Affinity: default is empty

set annotations to service and pod

  • ServiceAnnotations: <key>: <value> dict, default is empty
  • PodAnnotations: <key>: <value> dict, default is empty

application specific configuration

  • AppPort: integer, internal application port, default 8000
  • AppEnv: EnvVar array, default is empty
  • AppStaticPath: string, path to static files, default /app/static
  • RunMigrate: bool, run migrations at init stage, default False
  • RunCollectStatic: bool, run collectstatic at init stage, default False

Copyright by Vladimir Smagin (21h) 2019 email:
Project page: