k8s 配置文件中的 dsn 是如何解析的?

2022-02-17 12:25:49 +08:00
 meso5533

以这个配置文件为例: https://github.com/viuts/kubernetes-redash/blob/master/manifest-all.yaml#L122

redis://redis:6379/0 ,是谁把第二个 redis 替换成正确的地址的?

postgresql://postgres@postgres/postgres ,是谁把第一个 postgres 替换成正确的用户名密码,把第二个 postgres 替换成正确的地址的?

1907 次点击
所在节点    Kubernetes
11 条回复
Hanggi
2022-02-17 12:30:36 +08:00
你这名字起的。。。
你去看下 service 那里写了地址,kubectl get service 还是啥的,一搜就出来了
chotow
2022-02-17 12:37:57 +08:00
第二个 redis 和第二个 postgres 可以当作域名,关键词 DNS 搜索域;你可以看一下容器内的 /etc/resolv.conf 文件,另参见文档 https://kubernetes.io/zh/docs/concepts/services-networking/dns-pod-service/
第一个 postgres 是用户名,参见维基百科 https://en.wikipedia.org/wiki/Uniform_Resource_Identifier#Syntax
meso5533
2022-02-17 12:42:53 +08:00
好的谢谢两位,原来 postgres 就直接是用户名啊,我还以为还要经历一次解析...
ss098
2022-02-17 13:25:40 +08:00
一般集群内会启动一个 CoreDNS 负责内部 DNS / FQDN 解析,具体参考二楼贴的 Kubernetes 官方文档。
okoklll
2022-02-17 13:38:05 +08:00
请教一下,yaml 文件中并没有为 pg 和 redis 创建 svc ,为什么可以直接使用字符串 redis 或 postgres 来代替 IP 呢?或者说如何进行 DNS 发现的呢?
kssdxw
2022-02-17 13:55:30 +08:00
iptables-save 就能看到了
Trim21
2022-02-17 13:57:22 +08:00
看看 URL 的规范
julyclyde
2022-02-21 16:06:42 +08:00
先把 dns 拼对,然后才能搜索资料
meso5533
2022-03-02 21:00:31 +08:00
@julyclyde 您可能误会了,我想说的 dsn 是指 data source name: https://en.wikipedia.org/wiki/Data_source_name
meso5533
2022-03-02 21:05:55 +08:00
@okoklll 看起来应该是 k8s 默认会给 pod 创建 dns 解析
julyclyde
2022-03-03 16:43:35 +08:00
@meso5533 果然是我误会了,我认错,我致歉

不过既然“是谁……把第二个 postgres 替换成正确的地址的”总忍不住往域名解析那边想啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/834467

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX