Gitea:拨号 tcp:查找 gitea-postgresql.default.svc.cluster.local

Posted

技术标签:

【中文标题】Gitea:拨号 tcp:查找 gitea-postgresql.default.svc.cluster.local【英文标题】:Gitea: dial tcp: lookup gitea-postgresql.default.svc.cluster.local 【发布时间】:2021-12-30 17:51:57 【问题描述】:

我在 Ubuntu 21.10 上尝试将 Gitea 与 microk8s 一起使用时看到此错误:

$ k logs gitea-0 -c configure-gitea
Wait for database to become avialable...
gitea-postgresql (10.152.183.227:5432) open
...
2021/11/20 05:49:40 ...om/urfave/cli/app.go:277:Run() [I] PING DATABASE postgres
2021/11/20 05:49:45 cmd/migrate.go:38:runMigrate() [F] Failed to initialize ORM engine: dial tcp: lookup gitea-postgresql.default.svc.cluster.local: Try again

我正在寻找一些关于如何调试的线索。

其他 pod 似乎按预期运行:

$ k get pod -A
NAMESPACE     NAME                                      READY   STATUS     RESTARTS   AGE
kube-system   hostpath-provisioner-5c65fbdb4f-nfx7d     1/1     Running    0          11h
kube-system   calico-node-h8tpk                         1/1     Running    0          11h
kube-system   calico-kube-controllers-f7868dd95-dpp8n   1/1     Running    0          11h
kube-system   coredns-7f9c69c78c-cnpkj                  1/1     Running    0          11h
default       gitea-memcached-584956987c-zb8kp          1/1     Running    0          20s
default       gitea-postgresql-0                        1/1     Running    0          20s
default       gitea-0                                   0/1     Init:1/2   1          20s

服务不如预期,因为gitea-0 没有启动:

$ k get svc -A
NAMESPACE     NAME                        TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                  AGE
default       kubernetes                  ClusterIP   10.152.183.1     <none>        443/TCP                  11h
kube-system   kube-dns                    ClusterIP   10.152.183.10    <none>        53/UDP,53/TCP,9153/TCP   11h
default       gitea-postgresql-headless   ClusterIP   None             <none>        5432/TCP                 3m25s
default       gitea-ssh                   ClusterIP   None             <none>        22/TCP                   3m25s
default       gitea-http                  ClusterIP   None             <none>        3000/TCP                 3m25s
default       gitea-memcached             ClusterIP   10.152.183.15    <none>        11211/TCP                3m25s
default       gitea-postgresql            ClusterIP   10.152.183.227   <none>        5432/TCP                 3m25s

另见: https://github.com/ubuntu/microk8s/issues/2741 https://gitea.com/gitea/helm-chart/issues/249

【问题讨论】:

【参考方案1】:

我已经完成了以下日志,具体来说:

cmd/migrate.go:38:runMigrate() [F] Failed to initialize ORM engine: dial tcp: lookup gitea-postgresql.default.svc.cluster.local: Try again

使用k cluster-info dump我看到了:

[ERROR] plugin/errors: 2 gitea-postgresql.default.svc.cluster.local.cisco.com. A: read udp 10.1.147.194:56647->8.8.8.8:53: i/o timeout

这导致我使用 dig 和 8.8.8.8 测试 DNS。该测试没有发现任何错误,因为 DNS 似乎可以正常工作。即便如此,DNS 似乎还是值得怀疑的。

然后我尝试了microk8s enable storage dns:&lt;IP address of DNS in lab&gt;,而我之前只是using microk8s storage dnsstorage 部分启用数据库所需的持久卷。

这里的关键部分是使用 microk8s 启用 DNS 时的实验室 DNS 服务器 IP 地址参数。

【讨论】:

以上是关于Gitea:拨号 tcp:查找 gitea-postgresql.default.svc.cluster.local的主要内容,如果未能解决你的问题,请参考以下文章

修复拨号tcp问题

[:: 1]表示什么?用tcp拨号时

GITEA 安装部署

terraform 错误:获取“http://localhost/api/v1/namespaces/default/secrets/name-secret”:拨号 tcp [::1]:80:连接:连

docker 搭建 gitea/gitea

docker 搭建 gitea/gitea