# Could not translate host name "pg" to address: Temporary failure in name resolution

**URL:** <https://discuss.kubernetes.io/t/could-not-translate-host-name-pg-to-address-temporary-failure-in-name-resolution/29776>\
**Category:** General Discussions\
**Tags:** development, coredns\
**Created:** [September 17, 2024, 9:57am UTC](https://discuss.kubernetes.io/t/could-not-translate-host-name-pg-to-address-temporary-failure-in-name-resolution/29776 "2024-09-17T09:57:06Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![adelkets](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.kubernetes.io/adelkets/32/15794_2.png) [@adelkets](https://discuss.kubernetes.io/u/adelkets)\
**Post date:** [September 17, 2024, 9:57am UTC](https://discuss.kubernetes.io/t/could-not-translate-host-name-pg-to-address-temporary-failure-in-name-resolution/29776/1 "2024-09-17T09:57:06Z")

</div>

Hi all. Deploying a Django application to Kubernetes. When I want to perform migrations in a container. An error appears that dns “pg” does not resolve. How can I fix this?

> /usr/local/lib/python3.9/site-packages/django/core/management/commands/makemigrations.py:105: RuntimeWarning: Got an error checking a consistent migration history performed for database connection ‘default’: could not translate host name “pg” to address: Temporary failure in name resolution

> kubeadm version: &version.Info{Major:“1”, Minor:“29”, GitVersion:“v1.29.9”, GitCommit:“114a1f58037bd70f90d9e630e591c5e52dd9b298”, GitTreeState:“clean”, BuildDate:“2024-09-11T20:27:20Z”, GoVersion:“go1.22.6”, Compiler:“gc”, Platform:“linux/amd64”}

> root@kube-master:/home/dott/job# lsb\_release -a  
> No LSB modules are available.  
> Distributor ID: Ubuntu  
> Description: Ubuntu 22.04.5 LTS  
> Release: 22.04  
> Codename: jammy  
> root@kube-master:/home/dott/job#

```auto
My manifest

> root@kube-master:/home/dott/job# ls
> app-deploy.yaml app-migrations1.yaml pg-deploy.yaml pg-service.yaml
> 
> root@kube-master:/home/dott/job# nano app-deploy.yaml
> apiVersion: apps/v1
> kind: Deployment
> metadata:
> name: ktswebinar
> labels:
> app.kubernetes.io/name: ktswebinar
> app.kubernetes.io/component: web
> spec:
> replicas: 1
> selector:
> matchLabels:
> app.kubernetes.io/name: ktswebinar
> app.kubernetes.io/component: web
> template:
> metadata:
> labels:
> app.kubernetes.io/name: ktswebinar
> app.kubernetes.io/component: web
> spec:
> containers:
> - name: ktswebinar
> image: igorcoding/ktswebinar:1.0.4
> imagePullPolicy: IfNotPresent
> ports:
> - containerPort: 8000
> name: http
> env:
> - name: DATABASE_URL
> value: postgresql://postgres:gYwOKJZaR0do8TUUgPS9@pg:5432/postgres
> 
> 
> root@kube-master:/home/dott/job# nano app-migrations1.yaml
> apiVersion: batch/v1
> kind: Job
> metadata:
> name: migrations
> labels:
> app.kubernetes.io/name: ktswebinar
> app.kubernetes.io/component: migrations
> spec:
> activeDeadlineSeconds: 120
> template:
> metadata:
> labels:
> app.kubernetes.io/name: ktswebinar
> app.kubernetes.io/component: migrations
> spec:
> restartPolicy: Never
> containers:
> - name: migrations
> image: igorcoding/ktswebinar:1.0.4
> imagePullPolicy: IfNotPresent
> command:
> - python
> - manage.py
> - migrate
> env:
> - name: DATABASE_URL
> value: postgresql://postgres:gYwOKJZaR0do8TUUgPS9@pg:5432/postgres
> 
> 
> root@kube-master:/home/dott/job# nano pg-deploy.yaml
> apiVersion: apps/v1
> kind: Deployment
> metadata:
> name: pg
> labels:
> app.kubernetes.io/name: ktswebinar
> app.kubernetes.io/component: pg
> spec:
> replicas: 1
> selector:
> matchLabels:
> app.kubernetes.io/name: ktswebinar
> app.kubernetes.io/component: pg
> template:
> metadata:
> labels:
> app.kubernetes.io/name: ktswebinar
> app.kubernetes.io/component: pg
> spec:
> containers:
> - name: pg
> image: postgres:14
> imagePullPolicy: IfNotPresent
> ports:
> - containerPort: 5432
> name: pg
> env:
> - name: POSTGRES_PASSWORD
> value: gYwOKJZaR0do8TUUgPS9
> 
> 
> 
> root@kube-master:/home/dott/job# nano pg-service.yaml
> 
> 
> apiVersion: v1
> kind: Service
> metadata:
> name: pg
> labels:
> app.kubernetes.io/name: ktswebinar
> app.kubernetes.io/component: pg
> spec:
> type: ClusterIP
> ports:
> - port: 5432
> targetPort: pg
> protocol: TCP
> name: pg
> selector:
> app.kubernetes.io/name: ktswebinar
> app.kubernetes.io/component: pg
> 
> 
> root@kube-master:/home/dott/job# kubectl -n ktswebinar get pods
> NAME READY STATUS RESTARTS AGE
> ktswebinar-6b7c46b449-286rr 1/1 Running 0 42s
> pg-56c9d89c69-mljlh 1/1 Running 0 116s

```

---

<div class="post-metadata">

**Author:** ![jayeshmahajan](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.kubernetes.io/jayeshmahajan/32/15459_2.png) [@jayeshmahajan](https://discuss.kubernetes.io/u/jayeshmahajan)\
**Post date:** [September 17, 2024, 7:56pm UTC](https://discuss.kubernetes.io/t/could-not-translate-host-name-pg-to-address-temporary-failure-in-name-resolution/29776/2 "2024-09-17T19:56:30Z")

</div>

> [@adelkets](#):
>
> ```auto
> > value: postgresql://postgres:gYwOKJZaR0do8TUUgPS9@pg:5432/postgres
> 
> ```

instead of above have you tried with .cluster.local or whatever your local DNS for PG is and see if it works?

> ```
> value: postgresql://postgres:gYwOKJZaR0do8TUUgPS9@pg.cluster.local:5432/postgres
> 
> ```

---

<div class="post-metadata">

**Author:** ![adelkets](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.kubernetes.io/adelkets/32/15794_2.png) [@adelkets](https://discuss.kubernetes.io/u/adelkets)\
**Post date:** [September 18, 2024, 3:24pm UTC](https://discuss.kubernetes.io/t/could-not-translate-host-name-pg-to-address-temporary-failure-in-name-resolution/29776/3 "2024-09-18T15:24:27Z")

</div>

no, I didn’t use any other dns.  
At another stand  
Everything worked for me. But this is not it. I can’t understand what’s wrong?

My dns settings  
nano /etc/hosts

kube-master  
127.0.0.1 localhost  
127.0.0.1 kube-master  
10.244.0.3 kube-master  
10.244.0.4 kube-worker1  
10.244.0.5 kube-worker2

kube-worker1  
127.0.0.1 localhost  
127.0.0.1 kube-worker1  
10.244.0.3 kube-master  
10.244.0.4 kube-worker1  
10.244.0.5 kube-worker2

kube-worker2  
127.0.0.1 localhost  
127.0.0.1 kube-worker2  
10.244.0.3 kube-master  
10.244.0.4 kube-worker1  
10.244.0.5 kube-worker2

> root@kube-master:/home/dott/job# kubectl exec -n ktswebinar -it ktswebinar-7d6774dd9-qnkjf /bin/bash  
> kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] – [COMMAND] instead.  
> root@ktswebinar-7d6774dd9-qnkjf:/code#  
> root@ktswebinar-7d6774dd9-qnkjf:/code#  
> root@ktswebinar-7d6774dd9-qnkjf:/code#  
> root@ktswebinar-7d6774dd9-qnkjf:/code# nslookup pg  
> bash: nslookup: command not found  
> root@ktswebinar-7d6774dd9-qnkjf:/code# nslookup pg.ktswebinar.service.cluster.local  
> bash: nslookup: command not found  
> root@ktswebinar-7d6774dd9-qnkjf:/code# ping pg.ktswebinar.service.cluster.local  
> bash: ping: command not found  
> root@ktswebinar-7d6774dd9-qnkjf:/code# ls  
> Dockerfile LICENSE docker ktswebinar manage.py requirements.txt static  
> root@ktswebinar-7d6774dd9-qnkjf:/code# python manage.py makemigrations  
> /usr/local/lib/python3.9/site-packages/django/core/management/commands/makemigrations.py:105: RuntimeWarning: Got an error checking a consistent migration history performed for database connection ‘default’: could not translate host name “pg.ktswebinar.service.cluster.local” to address: Temporary failure in name resolution
> 
> warnings.warn(  
> No changes detected  
> root@ktswebinar-7d6774dd9-qnkjf:/code# python manage.py makemigrations^C  
> root@ktswebinar-7d6774dd9-qnkjf:/code# exit  
> exit  
> command terminated with exit code 130  
> root@kube-master:/home/dott/job# nano app-deploy.yaml  
> root@kube-master:/home/dott/job# kubectl exec -n ktswebinar -it ktswebinar-7d6774dd9-qnkjf /bin/bash  
> kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] – [COMMAND] instead.  
> root@ktswebinar-7d6774dd9-qnkjf:/code# exit  
> exit  
> root@kube-master:/home/dott/job# kubectl -n ktswebinar apply -f ./app-deploy.yaml  
> deployment.apps/ktswebinar configured  
> root@kube-master:/home/dott/job# kubectl exec -n ktswebinar -it ktswebinar-7d6774dd9-qnkjf /bin/bash  
> kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] – [COMMAND] instead.  
> Error from server (NotFound): pods “ktswebinar-7d6774dd9-qnkjf” not found  
> root@kube-master:/home/dott/job# kubectl -n ktswebinar get pods  
> NAME READY STATUS RESTARTS AGE  
> ktswebinar-7b9b4bf798-wm6sj 1/1 Running 0 14s  
> pg-56c9d89c69-mljlh 1/1 Running 0 32h  
> root@kube-master:/home/dott/job# kubectl exec -n ktswebinar -it ktswebinar-7b9b4bf798-wm6sj /bin/bash  
> kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] – [COMMAND] instead.  
> root@ktswebinar-7b9b4bf798-wm6sj:/code# python manage.py makemigrations  
> /usr/local/lib/python3.9/site-packages/django/core/management/commands/makemigrations.py:105: RuntimeWarning: Got an error checking a consistent migration history performed for database connection ‘default’: could not translate host name “pg.ktswebinar.cluster.local” to address: Temporary failure in name resolution
> 
> warnings.warn(  
> No changes detected  
> root@ktswebinar-7b9b4bf798-wm6sj:/code#

I changed, but it still not working

---

<div class="post-metadata">

**Author:** ![jayeshmahajan](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.kubernetes.io/jayeshmahajan/32/15459_2.png) [@jayeshmahajan](https://discuss.kubernetes.io/u/jayeshmahajan)\
**Post date:** [September 19, 2024, 2:50pm UTC](https://discuss.kubernetes.io/t/could-not-translate-host-name-pg-to-address-temporary-failure-in-name-resolution/29776/4 "2024-09-19T14:50:13Z")

</div>

What is the output of following commands?

kubectl run -i --tty --rm debug --image=busybox --restart=Never – sh  
/ # cat /etc/resolv.conf

exit from container

```auto
kubectl exec -it --namespace="NAME_SPACE_NAME" POD_NAME --bash -c "`cat /etc/resolv.conf``
```

---

<div class="post-metadata">

**Author:** ![jayeshmahajan](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.kubernetes.io/jayeshmahajan/32/15459_2.png) [@jayeshmahajan](https://discuss.kubernetes.io/u/jayeshmahajan)\
**Post date:** [September 19, 2024, 2:51pm UTC](https://discuss.kubernetes.io/t/could-not-translate-host-name-pg-to-address-temporary-failure-in-name-resolution/29776/5 "2024-09-19T14:51:21Z")

</div>

Also looks like you are using pg.ktswebinar.cluster.local and not what I suggested earlier “pg.cluster.local”

---

<div class="post-metadata">

**Author:** ![thockin](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.kubernetes.io/thockin/32/2457_2.png) [@thockin](https://discuss.kubernetes.io/u/thockin)\
**Post date:** [September 19, 2024, 3:08pm UTC](https://discuss.kubernetes.io/t/could-not-translate-host-name-pg-to-address-temporary-failure-in-name-resolution/29776/6 "2024-09-19T15:08:28Z")

</div>

In this case, the name you want to reference, the name of this service in DNS is: of.default.svc.cluster.local

> **[Debug Services](https://kubernetes.io/docs/tasks/debug/debug-application/debug-service/)**
>
> An issue that comes up rather frequently for new installations of Kubernetes is that a Service is not working properly. You've run your Pods through a Deployment (or other workload controller) and created a Service, but you get no response when you...
