Django与Kubernetes之间的集成。
项目描述
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应用程序期望数据库在启动时可用并已迁移。因此需要一些协调。应用程序容器应在启动前等待迁移作业完成。
此软件包提供了一种管理命令,该命令轮询数据库以检查以下两个条件
数据库服务器可访问。
所有迁移都已应用。
它可以选择等待这两个条件都为真。退出码为0表示成功。此管理命令可以是您的入口点的一部分,确保在这些条件满足之前不启动任何Django应用程序。
该技术兼容除Kubernetes以外的系统,作者还用它与Docker Compose一起使用。
$ python manage.py checkmigrations
Migrations complete.
项目详情
关闭
django-k8s-0.2.9.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | faa39fd91ff4b9c6d9841694754caba672f51c32ccad9acb9d94d475215d8308 |
|
MD5 | 7c100d09f84df693f0b481a8c1522b6d |
|
BLAKE2b-256 | 1783ba7091e0a0476a27ff09d0571eb7056411d42d6300a9d610aec8f5b1b0b7 |