跳转到主要内容

Django与Kubernetes之间的集成。

项目描述

https://travis-ci.org/btimby/django-k8s.png https://coveralls.io/repos/github/btimby/django-k8s/badge.svg?branch=master https://badge.fury.io/py/django-k8s.svg

django-k8s

Django与Kubernetes之间的集成。

缓存

Memcached的服务发现。诚然,这可以与使用多个A记录的任何服务发现兼容。这允许Memcached客户端在Memcached服务器之间正确分配密钥。AWS ElasticCache以及Kubernetes和其他都与此方案兼容。

如果在尝试访问Memcached服务器时收到错误,则再次执行DNS解析(刷新服务器列表)。这允许在不停机的情况下添加或删除Memcached服务器。

关于此方法的更多信息如下。

https://cloud.google.com/solutions/deploying-memcached-on-kubernetes-engine

给定以下命令部署到Kubernetes的Memcached

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应用程序期望数据库在启动时可用并已迁移。因此需要一些协调。应用程序容器应在启动前等待迁移作业完成。

此软件包提供了一种管理命令,该命令轮询数据库以检查以下两个条件

  1. 数据库服务器可访问。

  2. 所有迁移都已应用。

它可以选择等待这两个条件都为真。退出码为0表示成功。此管理命令可以是您的入口点的一部分,确保在这些条件满足之前不启动任何Django应用程序。

该技术兼容除Kubernetes以外的系统,作者还用它与Docker Compose一起使用。

$ python manage.py checkmigrations
Migrations complete.

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。

源代码分发

django-k8s-0.2.9.tar.gz (7.0 kB 查看哈希值)

上传时间 源代码

由以下支持