以这个配置文件为例: https://github.com/viuts/kubernetes-redash/blob/master/manifest-all.yaml#L122
redis://redis:6379/0 ,是谁把第二个 redis 替换成正确的地址的?
postgresql://postgres@postgres/postgres ,是谁把第一个 postgres 替换成正确的用户名密码,把第二个 postgres 替换成正确的地址的?
1
Hanggi 2022-02-17 12:30:36 +08:00
你这名字起的。。。
你去看下 service 那里写了地址,kubectl get service 还是啥的,一搜就出来了 |
2
chotow 2022-02-17 12:37:57 +08:00 via iPhone
第二个 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 。 |
3
meso5533 OP 好的谢谢两位,原来 postgres 就直接是用户名啊,我还以为还要经历一次解析...
|
4
ss098 2022-02-17 13:25:40 +08:00
一般集群内会启动一个 CoreDNS 负责内部 DNS / FQDN 解析,具体参考二楼贴的 Kubernetes 官方文档。
|
5
okoklll 2022-02-17 13:38:05 +08:00
请教一下,yaml 文件中并没有为 pg 和 redis 创建 svc ,为什么可以直接使用字符串 redis 或 postgres 来代替 IP 呢?或者说如何进行 DNS 发现的呢?
|
6
kssdxw 2022-02-17 13:55:30 +08:00
iptables-save 就能看到了
|
7
Trim21 2022-02-17 13:57:22 +08:00 via Android
看看 URL 的规范
|
8
julyclyde 2022-02-21 16:06:42 +08:00
先把 dns 拼对,然后才能搜索资料
|
9
meso5533 OP @julyclyde 您可能误会了,我想说的 dsn 是指 data source name: https://en.wikipedia.org/wiki/Data_source_name
|
11
julyclyde 2022-03-03 16:43:35 +08:00
|