Django Operator for Kubernetes
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 
 
Vladimir Smagin 06d5f8b2a4 go mod 7 månader sedan
build simple run 11 månader sedan
cmd/manager simple run 11 månader sedan
deploy bump version 7 månader sedan
pkg add labeling 7 månader sedan
vendor no more latest tag, use vendor, add jenkins pipeline 7 månader sedan
version bump version 7 månader sedan
.gitignore simple run 11 månader sedan
Dockerfile no more latest tag, use vendor, add jenkins pipeline 7 månader sedan
Jenkinsfile no more latest tag, use vendor, add jenkins pipeline 7 månader sedan
README.md readme 11 månader sedan
VERSION fix helm chart 7 månader sedan
go.mod go mod 7 månader sedan
go.sum no more latest tag, use vendor, add jenkins pipeline 7 månader sedan
tools.go simple run 11 månader sedan

README.md

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 https://hub.docker.com/r/iam21h/django-operator

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

apiVersion: blindage.org/v1alpha1
kind: Django
metadata:
  name: django-test
spec:
  pullPolicy: IfNotPresent
  image: gcr.io/hello-minikube-zero-install/hello-node:latest
  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 https://kubernetes.io/docs/concepts/policy/resource-quotas/

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

Affinity and antiaffinity manual https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity

  • 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
http://blindage.org email: 21h@blindage.org
Project page: https://git.blindage.org/21h/django-operator