如何从无头服务获取 pods 主机名列表?
How to get list of pods hostnames from headless service?
我有一个用于 MongoDB 复制的状态集,我需要通过服务端点 pods 的所有主机名。我能够获取名称,但不完全是唯一的主机名列表。
$ dig srv mongodb +search +short
0 100 27017 mongodb-0.mongodb.pilot-bots.svc.cluster.local.
这里我得到了额外的内容0 100 27017
,我想将其排除。
我怎样才能只得到名字?像下面的 IPS。
$ dig mongodb A +search +short
172.1.0.220
@anemyte 用他的 awk
:
提供了一个有效的解决方案
dig srv mongodb +search +short | awk '{print }'
但是,您也可以从不同的方式来解决这个问题。 Dig has several options that can be adjusted in order to print only the info you desire as an output. This guide 更详细地解释了这种方法:
Get a not-quite-so-short answer?
Note that a short answer is different from only an answer. The way to
get a detailed answer, but without any auxiliary information, is to
turn off all the results (+noall
) and then turn on only those
sections you want.
Here’s a short answer followed by only an answer; the latter includes
all the configuration information, including time-to-live (TTL) data,
displayed in a format compatible with BIND configuration files.
使用 +noall
后跟您选择的其他选项将导致只显示您感兴趣的记录。您也可以只隐藏不想打印的记录,例如,使用 +nottlid
选项隐藏 TTL。
我有一个用于 MongoDB 复制的状态集,我需要通过服务端点 pods 的所有主机名。我能够获取名称,但不完全是唯一的主机名列表。
$ dig srv mongodb +search +short
0 100 27017 mongodb-0.mongodb.pilot-bots.svc.cluster.local.
这里我得到了额外的内容0 100 27017
,我想将其排除。
我怎样才能只得到名字?像下面的 IPS。
$ dig mongodb A +search +short
172.1.0.220
@anemyte 用他的 awk
:
dig srv mongodb +search +short | awk '{print }'
但是,您也可以从不同的方式来解决这个问题。 Dig has several options that can be adjusted in order to print only the info you desire as an output. This guide 更详细地解释了这种方法:
Get a not-quite-so-short answer?
Note that a short answer is different from only an answer. The way to get a detailed answer, but without any auxiliary information, is to turn off all the results (
+noall
) and then turn on only those sections you want.Here’s a short answer followed by only an answer; the latter includes all the configuration information, including time-to-live (TTL) data, displayed in a format compatible with BIND configuration files.
使用 +noall
后跟您选择的其他选项将导致只显示您感兴趣的记录。您也可以只隐藏不想打印的记录,例如,使用 +nottlid
选项隐藏 TTL。