Django和Kubernetes之间的整合。
django-k8s的Python项目详细描述
Django-K8S
Django和Kubernetes之间的整合。
缓存
memcached的服务发现。诚然,这对任何服务都有效 对memcached服务器使用多个a记录的发现。这使得 memcached client在memcached服务器之间正确分配密钥。自动气象站 elasticcache以及kubernetes等都与该方案兼容。
如果在尝试访问memcached服务器时收到错误,则dns 再次执行解析(刷新服务器列表)。这允许memcached 在不重新启动应用程序的情况下添加或删除的服务器。
下面将提供有关此方法的更多信息。
https://cloud.google.com/solutions/deploying-memcached-on-kubernetes-engine
使用以下命令将memcached部署到kubernetes:
helm install stable/memcached --name mycache --set replicaCount=3
您可以这样配置应用程序:
CACHES={'default':{'BACKEND':'django_k8s.cache.backends.Memcached','HOST':environ.get('DJANGO_CACHE_HOST',None),},}
迁移
在kubernetes中处理django迁移的一种方便方法是使用作业。 但是django应用程序希望数据库可用并在 启动。因此,有必要进行一些协调。应用程序容器 应等待迁移作业完成后再启动。
此包提供了一个管理命令,用于轮询要检查的数据库 两个条件:
- 数据库服务器是可访问的。
- 所有迁移都已应用。
它可以选择等待这两个条件都为真。退出代码 0表示成功。这个管理命令可能是 entrypoint,确保在这些条件下没有django应用程序启动 都满足了。
该技术与Kubernetes以外的系统兼容,作者 和Docker组合一起使用。
$ python manage.py checkmigrations Migrations complete.