【发布时间】:2018-08-19 02:33:51
【问题描述】:
我的 AWS Kubernetes 实例出现问题。
我正在尝试让我的 django 实例通过 DB 端点连接到 RDS 服务。
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': os.environ['NAME'],
'USER': os.environ['USER'],
'PASSWORD': os.environ['PASSWORD'],
'HOST': os.environ['HOST'],
'PORT': os.environ['PORT']
}
}
主机字符串类似于 service.key.region.rds.amazonaws.com 并通过 deploy.yml 中的 env 传递给容器
containers:
- name: service
env:
- name: HOST
value: service.key.region.rds.amazonaws.com
这个设置在 kubernetes 本地工作,但当我把它放在我在 AWS 上的集群中时就不行了。它会返回以下错误:
django.db.utils.OperationalError: could not translate host name
有什么建议,或者我在 AWS 喜欢如何处理事情方面遗漏了什么?
【问题讨论】:
-
您在使用 EKS 吗?
-
您的 manage.py 文件是否有可能读取错误的设置文件?问是因为我看到了this SO thread,感觉可能与您的问题有关,尽管是关于 Docker。
-
不使用 kubeadm 滚动我自己的,1 个主节点 1 个节点。尝试以艰难的方式学习。
-
您的 AWS 部署现在是否与您的 RDS 在同一个 VPC 中?
-
@ingernet 我刚刚仔细检查了我的设置文件,并且 base.py 不包含任何数据库配置。我改变了一些东西并重建了图像,以确保我仍然得到同样的错误。好主意,谢谢你的建议。
标签: django amazon-web-services kubernetes amazon-rds